]> git.ipfire.org Git - thirdparty/squid.git/commit
Fix parallel "make check": testHeaders for same-basename files (#1846)
authorAlex Rousskov <rousskov@measurement-factory.com>
Mon, 24 Jun 2024 17:30:06 +0000 (17:30 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Tue, 25 Jun 2024 12:29:11 +0000 (12:29 +0000)
commitca4ed647e7194fcc600c72cf2e8316654342cffc
tree2c39d9e000ed78a7c868746c0835b9d2337ce55b
parent8805c474d4e31c6c527006f6c4498430a124aa06
Fix parallel "make check": testHeaders for same-basename files (#1846)

    header-test: ok - src/ipc/forward.h
    header-test: ok - src/ipc/ReadWriteLock.h
    cc1plus: fatal error: forward.hdrtest.cc: No such file or directory
    header-test: not ok - src/ipc/mem/forward.h

In a parallel build, testHeaders often tests header files using multiple
concurrent "make" processes. When testing same-basename files (e.g.,
src/ipc/forward.h and src/ipc/mem/forward.h), one "make" process may
delete the file generated by another process (leading to random false
"make check" failures like the one shown above) or even substitute bad
file contents with valid one (leading to false positives).

Clashes among temporary generated files can be avoided using unique
temporary directories, but those are difficult to create in a portable
way. Instead, we use "make" PID to guarantee file name uniqueness across
parallel make processes.
src/TestHeaders.am