mirror of
https://github.com/jmcorgan/fips.git
synced 2026-10-29 23:27:37 +00:00
Every node::tests:: test ran in one one-at-a-time group, because the synthetic-mesh tests once dropped one-shot UDP handshakes under load. The default test node has since moved to the in-process loopback transport, so most node tests touch no socket, yet the group still put about 13 minutes of serialized tests on each GitHub unit-test job. Split the group in two. node-synthetic now holds only the test modules that open a real socket (a UDP, TCP, Ethernet or BLE transport, an OS socket, or a node's start() or rx loop, which bind through its Config and include the control socket's shared default path), directly or through a helper. node-large holds the tests that take lock_large_network_test(), the 100-node tests, so they stay mutually exclusive across processes; its override comes first in both profiles so the 100-node session test, which sits in a socket module, lands there. The filters are anchored and package-scoped. The old substring filter also caught fifteen config::node::tests:: tests. The module list is the union of what maint, master and next need, so the file merges up unchanged; a name a branch lacks matches nothing there. Pin every install step to nextest 0.9.143 and require at least that version in the config, so the filters are parsed the same way on every runner and a local host with an older nextest fails loudly. 0.9.143 is the newest release the pinned install-action carries, so no runner falls back to cargo-binstall.