Compare commits
3
Commits
2f40c81c3a
...
871c688b17
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
871c688b17
|
||
|
|
312d958a91
|
||
|
|
2c28dd77b4
|
No files matched your search
@@ -7,6 +7,12 @@ test_tool = "nextest"
|
||||
# Async tests + crypto work takes longer under mutation load.
|
||||
timeout_multiplier = 3.0
|
||||
|
||||
# Enable `test-support` so cfg-gated setters (e.g. Builder::dht_backend) and
|
||||
# the integration tests that exercise them are part of the mutation surface.
|
||||
# Without this, dht_backend mutations always "survive" trivially because the
|
||||
# method isn't compiled in.
|
||||
additional_cargo_args = ["--features", "test-support"]
|
||||
|
||||
# Skip paths that either can't be meaningfully mutated or are covered by
|
||||
# other tools:
|
||||
# - sim_impl.rs: simulator is exercised via the simulator example, not
|
||||
|
||||
@@ -25,9 +25,11 @@ jobs:
|
||||
- name: miri on keys/wire/crypto/merge
|
||||
env:
|
||||
MIRIFLAGS: -Zmiri-disable-isolation
|
||||
# Quoted because YAML plain scalars can't contain `: ` sequences
|
||||
# without being misparsed as mapping entries.
|
||||
run: "cargo +nightly miri test --lib keys:: wire:: crypto:: merge::"
|
||||
# `cargo test` takes a single TESTNAME positional, so multi-module
|
||||
# filters must be passed to the test binary after `--`. Quoted because
|
||||
# YAML plain scalars can't contain `: ` sequences without being
|
||||
# misparsed as mapping entries.
|
||||
run: "cargo +nightly miri test --lib -- keys:: wire:: crypto:: merge::"
|
||||
|
||||
mutants:
|
||||
name: cargo-mutants
|
||||
@@ -43,7 +45,7 @@ jobs:
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-mutants,cargo-nextest
|
||||
- run: cargo mutants --shard ${{ matrix.shard }}/4 --in-diff-base ""
|
||||
- run: cargo mutants --shard ${{ matrix.shard }}/4
|
||||
|
||||
fuzz-smoke:
|
||||
name: fuzz smoke (60s / target)
|
||||
@@ -63,7 +65,11 @@ jobs:
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-fuzz
|
||||
- run: cd fuzz && cargo +nightly fuzz run ${{ matrix.target }} -- -max_total_time=60
|
||||
# `--target` is explicit because the binstall'd `cargo-fuzz` binary is a
|
||||
# statically-linked musl build, and `cargo fuzz`'s default target is the
|
||||
# triple it was compiled for. The libfuzzer sanitizer is incompatible
|
||||
# with the static-crt musl target, so force the glibc triple.
|
||||
- run: cd fuzz && cargo +nightly fuzz run --target x86_64-unknown-linux-gnu ${{ matrix.target }} -- -max_total_time=60
|
||||
|
||||
kani:
|
||||
name: kani
|
||||
|
||||
Generated
+604
-444
File diff suppressed because it is too large.
Load diff
@@ -470,6 +470,30 @@ mod tests {
|
||||
assert_eq!(Builder::default().heal_period(d).heal_period, d);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn failure_retry_period_setter_stores_exact_value() {
|
||||
let d = Duration::from_millis(42);
|
||||
assert_eq!(
|
||||
Builder::default()
|
||||
.failure_retry_period(d)
|
||||
.failure_retry_period,
|
||||
d
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "test-support")]
|
||||
fn dht_backend_setter_stores_value() {
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::sim::InMemoryDht;
|
||||
let dht = Arc::new(InMemoryDht::new());
|
||||
let before = Builder::default();
|
||||
let after = Builder::default().dht_backend(dht);
|
||||
assert!(before.dht_backend.is_none());
|
||||
assert!(after.dht_backend.is_some());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn jitter_setter_stores_exact_value() {
|
||||
let b = Builder::default().jitter(0.25);
|
||||
|
||||
@@ -278,6 +278,7 @@ fn random_large() {
|
||||
.checker()
|
||||
.threads(num_cpus())
|
||||
.target_max_depth(50)
|
||||
.target_state_count(1_000_000)
|
||||
.spawn_simulation(0, stateright::UniformChooser)
|
||||
.join()
|
||||
.assert_properties();
|
||||
|
||||
Reference in new issue
Block a user