tests: rework the actually useful tests to live in the integration crate
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo clippy (push) Successful in 35s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Rust CI / cargo doc (push) Successful in 23s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Supply chain / actionlint (push) Successful in 3s
Netem Interop / netem interop (push) Successful in 1m11s

This commit is contained in:
Nils Andreas Svee committed 2026-10-03 13:59:38 +07:00
1 parent 74e7532965
commit 48a50d7f3a
101 files changed
+3636 -15159

No files matched your search

+23
View File
@@ -93,6 +93,29 @@ risks clearing readiness state that the normal Echo receive path depends on.
There is no background task or second `AsyncFd` around the Tokio-owned
socket.
### Testing kernel timestamp behavior
The requirements above describe production behavior, not a required unit-test
architecture.
Prefer Linux tests that exercise the real socket and kernel timestamp path
through production APIs. A test intended to prove TX timestamp support must
actually require and observe a kernel TX timestamp when running on a supported
Linux environment; accepting the userspace fallback does not prove that path.
Likewise, prefer observable socket/client behavior for genuine error-queue
errors and bounded draining where it can reasonably be induced.
Do not restore synthetic `ControlMessageOwned` permutations, classifier-unit
suites, raw ancillary fixtures, test-only socket hooks, or other internal seams
solely to cover every `MSG_ERRQUEUE` branch. `nix` owns ancillary-message
decoding and ABI safety; `irtt-client` tests should primarily prove its own
observable interpretation and behavior through the real path.
If some invariant cannot reasonably be induced through a production interface,
a small focused internal test may be retained, but the burden is on that test to
justify why integration coverage is insufficient.
## Retained state
`PendingProbe` carries an optional `kernel_tx_timestamp: Option<SystemTime>`