This PR improves the reliability of `raw-exec-process-group.test`, addressing [#415](https://github.com/openai/codex/issues/415) Before: The test would fail sporadically in CI because it checked for process termination immediately after abort, without accounting for the time it takes for processes to fully terminate. Now: We've added a robust `ensureProcessGone` helper that: - Polls the process status with a 500ms timeout - Retries every 50ms if the process is still alive - Provides clear error messages if termination takes too long We now wait for the child process to fully exit after sending abort signals, instead of assuming instant death, fixing flakiness caused by asynchronous process termination. Changes: - Added `ensureProcessGone` helper function with retry logic - Improved error handling and timeout management See [this bash demo](https://gist.github.com/jdocherty/a84dbca2fbf7b47e5f95c87a07034ae8) for a minimal reproduction of why process death is asynchronous and why the test needs to retry after aborting.
3.1 KiB
3.1 KiB