]> git.proxmox.com Git - rustc.git/blame - vendor/env_logger/tests/init-twice-retains-filter.rs
New upstream version 1.48.0+dfsg1
[rustc.git] / vendor / env_logger / tests / init-twice-retains-filter.rs
CommitLineData
dc9dc135 1extern crate env_logger;
e74abb32 2extern crate log;
dc9dc135 3
dc9dc135 4use std::env;
e74abb32 5use std::process;
dc9dc135
XL
6use std::str;
7
8fn main() {
9 if env::var("YOU_ARE_TESTING_NOW").is_ok() {
10 // Init from the env (which should set the max level to `Debug`)
11 env_logger::init();
12
13 assert_eq!(log::LevelFilter::Debug, log::max_level());
14
15 // Init again using a different max level
16 // This shouldn't clobber the level that was previously set
17 env_logger::Builder::new()
e1599b0c 18 .parse_filters("info")
dc9dc135
XL
19 .try_init()
20 .unwrap_err();
21
22 assert_eq!(log::LevelFilter::Debug, log::max_level());
e74abb32 23 return;
dc9dc135
XL
24 }
25
26 let exe = env::current_exe().unwrap();
27 let out = process::Command::new(exe)
28 .env("YOU_ARE_TESTING_NOW", "1")
29 .env("RUST_LOG", "debug")
30 .output()
31 .unwrap_or_else(|e| panic!("Unable to start child process: {}", e));
32 if out.status.success() {
e74abb32 33 return;
dc9dc135
XL
34 }
35
36 println!("test failed: {}", out.status);
37 println!("--- stdout\n{}", str::from_utf8(&out.stdout).unwrap());
38 println!("--- stderr\n{}", str::from_utf8(&out.stderr).unwrap());
39 process::exit(1);
40}