Skip to content

Commit aa000c8

Browse files
isPANNclaude
andcommitted
CI: raise nextest slow-timeout to 300s for coverage's instrumented recompile
The Code Coverage job runs under llvm-cov; its subprocess example tests (tests/suites/examples.rs) inherit `-C instrument-coverage` and recompile the examples instrumented, which legitimately takes >120s. A non-instrumented pre-build cannot match that fingerprint, so the fix is headroom, not a pre-build step: bump terminate-after 3 -> 5 (180s -> 300s). The Test job is unaffected (its pre-build keeps those tests sub-second); true hangs are still bounded, now at 5 minutes instead of 3. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 706c491 commit aa000c8

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

.config/nextest.toml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@
22
#
33
# Project policy is that no single test exceeds 5s (see .claude/CLAUDE.md).
44
# slow-timeout is a CI safety net far above that budget: a test is flagged slow
5-
# every 60s and forcibly terminated after 3 periods (180s). This bounds a truly
5+
# every 60s and forcibly terminated after 5 periods (300s). This bounds a truly
66
# hung test (cf. issue #1069, where big_o expansion looped indefinitely and the
77
# whole job was SIGTERM-killed at the runner level) — nextest reports it as a
88
# clean per-test timeout failure instead of stalling the job.
99
#
10-
# The headroom (180s, not a tight ~10s) is deliberate: the subprocess example
11-
# tests in tests/suites/examples.rs may recompile under a different feature set.
12-
# CI pre-builds those examples (see ci.yml) so they run in a few seconds, but
13-
# the generous bound keeps the gate robust if that pre-build is ever skipped
14-
# (e.g. local `cargo nextest run`).
10+
# The large headroom (300s, not a tight ~10s) is deliberate. The subprocess
11+
# example tests in tests/suites/examples.rs shell out to `cargo run --example
12+
# … --features ilp-highs`:
13+
# - In the Test job, CI pre-builds those examples (see ci.yml) so the
14+
# subprocess reuses artifacts and each test runs in well under a second.
15+
# - In the Code Coverage job, the subprocess inherits llvm-cov's
16+
# `-C instrument-coverage` RUSTFLAGS, so it recompiles the examples
17+
# *instrumented* (a non-instrumented pre-build would not match its
18+
# fingerprint, so pre-building there is pointless). That instrumented
19+
# recompile legitimately takes >120s, hence the 300s bound.
1520
[profile.default]
16-
slow-timeout = { period = "60s", terminate-after = 3 }
21+
slow-timeout = { period = "60s", terminate-after = 5 }

0 commit comments

Comments
 (0)