Crafter.Build/tests/ConcurrentExternalFetch
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 7b548b9ce4
test(external): race BuildExternal as well as GitFetch
ConcurrentExternalFetch raced eight threads through GitFetch only.
BuildExternal takes the same lock on a line of its own, so that line
could go without any test noticing. Now that the configurations of one
pass share a single BuildExternal, its lock is what keeps two
crafter-builds, or two passes, out of each other's pulls.

The same threads now fetch through both, each into a clone of its own,
and both clones must end at the last round. With the lock in
BuildExternal removed, the test failed in two of three runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 02:09:24 +01:00
..
main.cpp test(external): race BuildExternal as well as GitFetch 2026-10-31 02:09:24 +01:00