[GIT-PULLS] [php-src] PR #23044: Fixed GH-22508: Flaky hrtime.phpt test
[email protected] (veksa)
| Newsgroups | php.git-pulls |
|---|---|
| Message-ID | <[email protected]> |
Pull Request: https://github.com/php/php-src/pull/23044 Author: veksa Fixes GH-22508. The test measures the same interval with `microtime()` and `hrtime()` and fails if they disagree by more than 5%. The interval comes from a fixed-iteration busy loop that runs in about 5ms on current hardware, and at that scale a single scheduling preemption is already worth more than 5% — so on a loaded machine the test fails for reasons unrelated to `hrtime()`. The `--FLAKY--` retry isn't always enough, as the failures in the issue show. Instead of raising the threshold, this busy-waits for 100ms of wall clock time rather than counting iterations, so the interval no longer depends on machine speed and jitter stays small relative to it. Over 200 local runs the worst case drops from 2.8e-2 to 2.4e-3 (p95: 3.1e-4 to 4.9e-5). The test still finishes in well under a second. I left `--FLAKY--` in place as a safety net; it can go later if this holds up in CI.