Problem
Windows ARM CI intermittently fails four pet::jsonrpc missing-env-reporting tests. The tests serialize against each other with MISSING_ENVS_TEST_LOCK, but unrelated configure tests concurrently reset the same process-global MISSING_ENVS_REPORTING_STATE. One assertion then fails while holding the mutex, poisoning it and cascading into the remaining failures.
Observed in PR #499 job 92449574269.
Acceptance criteria
- Extract missing-env state-machine helpers that accept an injected
AtomicU64.
- Keep production wrappers using the process-global state.
- Update unit tests to use independent local atomics and remove the global test mutex.
- Run the affected tests repeatedly and in parallel with configure tests.
Problem
Windows ARM CI intermittently fails four
pet::jsonrpcmissing-env-reporting tests. The tests serialize against each other withMISSING_ENVS_TEST_LOCK, but unrelated configure tests concurrently reset the same process-globalMISSING_ENVS_REPORTING_STATE. One assertion then fails while holding the mutex, poisoning it and cascading into the remaining failures.Observed in PR #499 job 92449574269.
Acceptance criteria
AtomicU64.