A test fixture wrote a small executable stub, marked it executable, and then ran it. That loses a race the suite runs constantly. The test harness runs every test as a thread of one process, so any spawn anywhere forks a child that inherits a copy of the open write handle, and the system refuses to execute a file that some process still holds open for writing. The failure never looked like a fixture bug. It landed on whatever the test was actually checking. The fixture now runs the stub itself before handing it back and does not return until that succeeds, and each fixture gets its own labelled directory so two tests cannot write into one home. Handing back a path is not the same as handing back something that runs.
Field note
A generated file is not ready until it has run
A test fixture wrote a small executable stub, marked it executable, and then ran it.
Reading