Give macOS CI extra headroom for cancel-cascade tests
The `cpu_scaling_factor()` CI bump (2x) wasn't enough for the macOS runners — slower + noisier than linux for our multi-actor cancel-cascade timing — so `test_nested_multierrors[depth=3]` and `test_fast_graceful_cancel_*` flaked there (linux + sdist green), - make the CI headroom platform-aware: 3x on macOS, 2x on linux (keeps the proven linux budget; depth=3 inner 12*3=36s still fits under the 40s outer wall). - give `test_fast_graceful_cancel_*` the `cpu_scaling_factor()` headroom it was missing entirely (was a bare `timeout=2.9`). Verified locally w/ `CI=1` (2x linux path; 3x macOS path confirmed via forced `_non_linux`). (this patch was generated in some part by [`claude-code`][claude-code-gh]) [claude-code-gh]: https://github.com/anthropics/claude-codetrionics_start_or_cancel
parent
c797bcb783
commit
084f0fc404
|
|
@ -124,8 +124,12 @@ def cpu_scaling_factor() -> float:
|
||||||
# headroom. Apply a flat CI bump so every timing-test deadline
|
# headroom. Apply a flat CI bump so every timing-test deadline
|
||||||
# /assert that keys off this factor gets headroom on CI HW
|
# /assert that keys off this factor gets headroom on CI HW
|
||||||
# (compounds with any local-throttle factor).
|
# (compounds with any local-throttle factor).
|
||||||
|
#
|
||||||
|
# macOS runners are noticeably slower + noisier than the linux
|
||||||
|
# ones for our multi-actor cancel-cascade tests, so give them
|
||||||
|
# extra headroom (3x vs 2x).
|
||||||
if _ci_env:
|
if _ci_env:
|
||||||
factor *= 2
|
factor *= 3 if _non_linux else 2
|
||||||
|
|
||||||
return factor
|
return factor
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -955,6 +955,12 @@ def test_fast_graceful_cancel_when_spawn_task_in_soft_proc_wait_for_daemon(
|
||||||
if _friggin_windows: # smh
|
if _friggin_windows: # smh
|
||||||
timeout += 1
|
timeout += 1
|
||||||
|
|
||||||
|
# CPU-scaling / CI latency headroom — macOS CI especially is
|
||||||
|
# slow for this graceful-vs-hard-reap timing race; see
|
||||||
|
# `cpu_scaling_factor()`.
|
||||||
|
from .conftest import cpu_scaling_factor
|
||||||
|
timeout *= cpu_scaling_factor()
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
start = time.time()
|
start = time.time()
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue