macro_rules! require_reliable {
($outcome:expr, $name:expr) => { ... };
}Expand description
Require measurement to be reliable (fail-closed).
Panics if unreliable. Returns TestResult if reliable.
§Example
ⓘ
use tacet::{TimingOracle, InputPair, require_reliable};
#[test]
fn test_aes_critical() {
let inputs = InputPair::new(|| [0u8; 16], || rand::random());
let outcome = TimingOracle::new().test(inputs, |data| encrypt(data));
let result = require_reliable!(outcome, "test_aes_critical");
assert!(result.leak_probability < 0.1);
}