Skip to main content

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};