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 device;
25pub mod evidence;
26pub mod expect;
27pub mod net;
28pub mod node;
29pub mod rig;
30pub mod runner;
31
32pub use config::RigConfig;
33pub use device::{DeviceSuite, DeviceTest};
34pub use evidence::Evidence;
35pub use libtest_mimic::Failed;
36pub use node::Node;
37pub use rig::{Acquire, Rig};
38pub use runner::{run, BancTest, TestCx};