ci: isolate six-peer test #2137
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The six-peer connection-cap test depends on freenet-test-network, which makes the default
cargo testpull in an external dev dependency. We want to avoid that dependency in the main test suite while still running the six-peer regression in CI.Solution
test-networkfeature that gates the freenet-test-network dev dependency.#![cfg(feature = "test-network")]so they are excluded from the defaultcargo testrun.six_peer_connection_capthat runs the six-peer connection-cap test with--features trace,websocket,redb,test-network, keeping coverage in CI without affecting local cargo test.Testing
cargo test -p freenet --test connection_cap --no-default-features --features trace,websocket,redb,test-network -- --listcargo test -p freenet --no-default-features --features trace,websocket,redb -- --listNotes
The six-peer test still runs in CI via the new job. Locally, run it explicitly with
cargo test -p freenet --test connection_cap --no-default-features --features trace,websocket,redb,test-network -- --exact connection_cap_respected --nocapture.