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