diff options
Diffstat (limited to 'vendor/env_logger/examples/in_tests.rs')
-rw-r--r-- | vendor/env_logger/examples/in_tests.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/vendor/env_logger/examples/in_tests.rs b/vendor/env_logger/examples/in_tests.rs new file mode 100644 index 0000000..934e017 --- /dev/null +++ b/vendor/env_logger/examples/in_tests.rs @@ -0,0 +1,55 @@ +/*! +Using `env_logger` in tests. + +Log events will be captured by `cargo` and only printed if the test fails. +You can run this example by calling: + +```text +cargo test --example in_tests +``` + +You should see the `it_does_not_work` test fail and include its log output. +*/ + +#[cfg_attr(test, macro_use)] +extern crate log; + +fn main() {} + +#[cfg(test)] +mod tests { + fn init_logger() { + let _ = env_logger::builder() + // Include all events in tests + .filter_level(log::LevelFilter::max()) + // Ensure events are captured by `cargo test` + .is_test(true) + // Ignore errors initializing the logger if tests race to configure it + .try_init(); + } + + #[test] + fn it_works() { + init_logger(); + + let a = 1; + let b = 2; + + debug!("checking whether {} + {} = 3", a, b); + + assert_eq!(3, a + b); + } + + #[test] + #[ignore = "broken in debian"] + fn it_does_not_work() { + init_logger(); + + let a = 1; + let b = 2; + + debug!("checking whether {} + {} = 6", a, b); + + assert_eq!(6, a + b); + } +} |