Skip to main content

confium_test_harness/
lib.rs

1//! Test harness for Confium.
2//!
3//! Three responsibilities:
4//!
5//! 1. **Mock plugins** — in-repo plugins (XOR cipher, seeded RNG, etc.)
6//!    used by the workspace's own test suite so it doesn't depend on the
7//!    external Botan plugin.
8//! 2. **Byzantine peer simulation** — for threshold-cryptography plugin
9//!    testing: drop, tamper, replay, malicious-collusion behaviors.
10//! 3. **NIST evaluation bench** — conformance + performance harness for
11//!    MPTS candidate schemes. Deterministic environment, in-process
12//!    transport, controlled RNG, vector-driven test runner.
13//!
14//! See `TODO.roadmap/09-nist-evaluation-harness.md` for the full design.
15//!
16//! ## Status
17//!
18//! The deterministic environment, Byzantine transport wrapper, TOML test
19//! vector parser, vector runner, JSON reporter, and criterion simulation
20//! benchmark are implemented. The harness is the bench NIST MPTS uses to
21//! evaluate candidate threshold schemes against a shared vector set; the
22//! framework deliberately does not score or rank — it produces raw
23//! measurements.
24
25pub mod byzantine;
26pub mod env;
27pub mod error;
28pub mod report;
29pub mod result;
30pub mod runner;
31pub mod vector;
32
33pub use byzantine::{BehaviorSpec, ByzantineTransport, PeerBehavior};
34pub use env::{DeterministicClock, DeterministicEnv, DeterministicRng, MemoryCounter};
35pub use error::Error;
36pub use error::Result;
37pub use report::{Report, ReportEntry};
38pub use result::{Outcome, TestResult};
39pub use runner::VectorRunner;
40pub use vector::{ConformanceLevel, PeerBehaviorEntry, TestVector, TestVectorTest};