[llvm] [LLVM] Remove the requirement for named pipe in jobserver (PR #169154)

Yaxun Liu via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 1 10:12:31 PST 2025


yxsamliu wrote:

It might be worth adding a small regression test to lock in the new behavior around fifo: endpoints.

Right now the Unix jobserver tests (JobserverClientTest.UnixClientFifo and the JobserverStrategyTest cases) only exercise the "happy path" with a real FIFO created by ScopedFifo. Before this patch, JobserverClientImpl would reject any --jobserver-auth=fifo:PATH that did not point to a S_ISFIFO object; after this patch we intentionally accept non-FIFO endpoints as long as open() succeeds.

To make that intent explicit and prevent future regressions, I would suggest adding a test alongside UnixClientFifo that:

- Creates a regular temporary file (or uses createTemporaryFile but does not replace it with a FIFO).
- Sets MAKEFLAGS to --jobserver-auth=fifo:<that path> using ScopedEnvironment.
- Calls JobserverClient::getInstance() and asserts we get a non-null client and that it is considered valid (no "invalid FIFO" rejection).

This would clearly document that fifo: is now a protocol tag rather than a strict POSIX FIFO requirement, and that we deliberately allow FUSE/CUSE-backed implementations presenting themselves under a fifo: URL.


https://github.com/llvm/llvm-project/pull/169154


More information about the llvm-commits mailing list