# cargo-nextest configuration — https://nexte.st/docs/configuration/ # # Why this exists: `cargo test` runs each test *binary* serially (libtest only # parallelizes within a binary), so the boot-level golden suite — ~200 binaries, # each booting a real leveva daemon — runs end-to-end serially (~10 min). nextest # runs every test as its own process, parallelizing across binaries *and* tests. # # This is only safe because the golden harness (leveva/tests/harness/mod.rs) boots # each fixture on a freshly-reserved **ephemeral** port instead of the old shared # 16700-under-a-global-lock; with that, the wall-clock floor becomes the single # slowest test rather than the sum of all of them. # The boot-level golden tests each spawn a single-threaded leveva daemon and drive # barrier-paced clients. Cap how many run at once (independent of `test-threads`) # so the daemons stay responsive and do not miss a client's read window under load. # The fast lib unit tests are not in this group, so they still run at full width. # Raise/lower this on a bigger/smaller box; the harness also enforces a CPU-count # semaphore as a backstop, so this never needs to exceed the core count. [test-groups] golden = { max-threads = 32 } [[profile.default.overrides]] # Only the daemon-booting boot-level tests — every one lives in a binary named # golden_*, integration_*, or *pseudoserver. The lib unit tests and the fast # *_proptest binaries are excluded, so they still run at full `test-threads` width. filter = 'binary(/^golden_/) | binary(/^integration_/) | binary(/pseudoserver/)' test-group = 'golden' [profile.default] # Fast lib unit tests (and anything not in the `golden` group) run this wide. # Daemon-booting golden tests are bounded by the `golden` test-group above, so a # high value here does not oversubscribe the single-threaded daemons. test-threads = 256 # A few golden tests deliberately wait out the harness read deadline (negative # checks via timeout) and run 30–125s. Flag them as SLOW but never kill before # 5 minutes — that ceiling only catches a genuinely hung test. slow-timeout = { period = "30s", terminate-after = 10 } # Barrier-paced transcripts can occasionally miss a read window under parallel # load. Genuine breaks reproduce deterministically (e.g. a snapshot mismatch), # so a small retry budget absorbs the rare timing flake without masking real # failures — a test that only passes on retry is reported as FLAKY, not PASS. retries = 2 # CI: don't stop at the first failure (collect the full failure set) and surface # flaky passes in the summary. [profile.ci] retries = 2 fail-fast = false final-status-level = "flaky"