banc_host/lib.rs
1//! Host-side fixtures and runner for the banc HIL test framework.
2//!
3//! The shape of a banc test suite:
4//!
5//! ```ignore
6//! use banc_host::{run, BancTest, TestCx};
7//!
8//! fn main() -> std::process::ExitCode {
9//! run(vec![BancTest::new("blink_observed", |cx| {
10//! Box::pin(async move {
11//! let assistant = cx.rig.assistant("a0").await?;
12//! // drive the target, assert on assistant-observed ground truth
13//! Ok(())
14//! })
15//! })])
16//! }
17//! ```
18//!
19//! On a machine without a rig (no `banc-rig.toml`, no `BANC_RIG`), every test
20//! reports **ignored** with a reason — never passed, never failed — so
21//! `cargo test` stays green off-rig and honest on-rig.
22
23pub mod config;
24pub mod evidence;
25pub mod expect;
26pub mod node;
27pub mod rig;
28pub mod runner;
29
30pub use config::RigConfig;
31pub use evidence::Evidence;
32pub use libtest_mimic::Failed;
33pub use node::Node;
34pub use rig::{Acquire, Rig};
35pub use runner::{run, BancTest, TestCx};