Skip to main content

Testing & verification

Default test suite

cargo test

Runs unit, integration, parser, and compatibility-fixture tests. CI also runs cargo test --doc --locked for doctests.

Format and lint

cargo fmt --check
cargo clippy -- -D warnings

CI treats clippy warnings as errors.

Compatibility fixtures

Run all three supported BOINC branches in one pass:

cargo test --test compatibility_matrix_tests

Individual branch fixtures:

cargo test --test compatibility_matrix_tests boinc_7_16_fixture_compatibility
cargo test --test compatibility_matrix_tests boinc_7_20_fixture_compatibility
cargo test --test compatibility_matrix_tests boinc_8_2_fixture_compatibility

Live local BOINC daemon (ignored test)

Requires a running local BOINC client and access to its GUI RPC password:

BOINCRS_PASSWORD_FILE=/etc/boinc-client/gui_rpc_auth.cfg \
cargo test --test live_local_boinc -- --ignored --nocapture

PrimeGrid + Asteroids@home beta attach (ignored test)

Requires both account keys plus a running BOINC daemon:

BOINCRS_PASSWORD_FILE=/etc/boinc-client/gui_rpc_auth.cfg \
BOINCRS_PRIMEGRID_ACCOUNT_KEY='…' \
BOINCRS_ASTEROIDS_ACCOUNT_KEY='…' \
cargo test --test live_beta_projects -- --ignored --nocapture

Details: PrimeGrid + Asteroids beta architecture.

Manual smoke

Run cargo run and complete the local smoke checklist. Record the host OS, BOINC version, and outcome when you do this before a release.

When to re-run what

ChangeRun
Anything in src/ui/**cargo test, plus a visual smoke
Anything in src/boinc/**cargo test --test compatibility_matrix_tests
Auth, transport, controller refreshCompatibility fixtures + live local daemon test
New BOINC field / parser changeAdd a fixture, update the compatibility matrix
Before a releaseFull release checklist