use tracing::Level;
use super::{shows_target, targets};
#[test]
fn the_default_hears_warnings_and_nothing_below_them() {
let filter = targets(0);
assert!(filter.would_enable("modelpipe", &Level::WARN));
assert!(!filter.would_enable("modelpipe", &Level::INFO));
}
#[test]
fn one_v_is_the_access_log_and_not_more() {
let filter = targets(1);
assert!(filter.would_enable("modelpipe", &Level::INFO));
assert!(!filter.would_enable("modelpipe", &Level::DEBUG));
}
#[test]
fn the_transport_is_silent_until_the_second_v() {
for quiet in [0, 1] {
assert!(
!targets(quiet).would_enable("iroh", &Level::ERROR),
"-{} must not turn the transport on",
"v".repeat(quiet as usize)
);
}
assert!(targets(2).would_enable("iroh", &Level::INFO));
assert!(!targets(2).would_enable("iroh", &Level::DEBUG));
}
#[test]
fn every_step_admits_everything_the_step_below_it_did() {
const LEVELS: [Level; 5] = [
Level::ERROR,
Level::WARN,
Level::INFO,
Level::DEBUG,
Level::TRACE,
];
for verbosity in 0..4u8 {
let quieter = targets(verbosity);
let louder = targets(verbosity + 1);
for target in ["modelpipe", "iroh"] {
for level in &LEVELS {
assert!(
!quieter.would_enable(target, level) || louder.would_enable(target, level),
"-v x{} dropped {target} at {level} that -v x{verbosity} allowed",
verbosity + 1
);
}
}
}
}
#[test]
fn more_vs_than_the_ladder_has_is_the_top_of_the_ladder() {
let top = targets(3);
for absurd in [4u8, 20, u8::MAX] {
for level in [Level::TRACE, Level::DEBUG] {
assert_eq!(
targets(absurd).would_enable("modelpipe", &level),
top.would_enable("modelpipe", &level)
);
}
}
}
#[test]
fn no_verbosity_turns_on_the_rest_of_the_graph() {
for verbosity in 0..=5u8 {
for stranger in ["rustls", "hickory_resolver", "h2", "hyper_util"] {
assert!(
!targets(verbosity).would_enable(stranger, &Level::ERROR),
"-v x{verbosity} turned on {stranger}"
);
}
}
}
#[test]
fn the_target_column_appears_whenever_more_than_one_target_can() {
assert!(!shows_target(0, false), "one target, no column needed");
assert!(!shows_target(1, false), "still only this workspace");
assert!(shows_target(2, false), "-vv admits the transport");
assert!(shows_target(0, true), "RUST_LOG can admit anything at all");
assert!(shows_target(1, true));
}
#[test]
fn the_quiet_ladder_steps_show_no_target_column() {
for verbosity in [0u8, 1] {
assert!(
!shows_target(verbosity, false),
"-v x{verbosity} on the ladder admits only this workspace"
);
}
for verbosity in [2u8, 3, u8::MAX] {
assert!(shows_target(verbosity, false), "-v x{verbosity}");
}
}