test_dev's first block checked for agent.sock without having completed a round-trip, so nothing put the check after the bind. merged_setup binds the dev socket and returns; the main thread calls agent/start only after that, and a connect lands in the backlog because merged_serve does not accept until it has seen agent.sock itself. 2 runs in 8 failed. Moving the describe up in front of the check supplies the ordering: a reply arriving means merged_serve is past its own await, so it has already observed the path. That closes the second race too — unlinking before merged_serve looked made it wait out its full ten seconds and warn, which is the ten seconds separating the passing runs from the failing ones. 0 in 10 after, and every run in the fast band.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%