xref: /aosp_15_r20/system/logging/rust/tests/env_log_level.rs (revision 598139dc91b21518d67c408eaea2644226490971)
1*598139dcSAndroid Build Coastguard Worker //! Do not put multiple tests in this file. Tests in the same file run in the
2*598139dcSAndroid Build Coastguard Worker //! same executable, so if there are several tests in one file, only one test
3*598139dcSAndroid Build Coastguard Worker //! will successfully be able to initialize the logger.
4*598139dcSAndroid Build Coastguard Worker 
5*598139dcSAndroid Build Coastguard Worker use std::env;
6*598139dcSAndroid Build Coastguard Worker 
7*598139dcSAndroid Build Coastguard Worker #[test]
env_log_level()8*598139dcSAndroid Build Coastguard Worker fn env_log_level() {
9*598139dcSAndroid Build Coastguard Worker     env::set_var("RUST_LOG", "debug");
10*598139dcSAndroid Build Coastguard Worker     assert!(logger::init(Default::default()));
11*598139dcSAndroid Build Coastguard Worker 
12*598139dcSAndroid Build Coastguard Worker     if cfg!(target_os = "android") {
13*598139dcSAndroid Build Coastguard Worker         // android_logger does not read from environment variables
14*598139dcSAndroid Build Coastguard Worker         assert_eq!(log::max_level(), log::LevelFilter::Off);
15*598139dcSAndroid Build Coastguard Worker     } else {
16*598139dcSAndroid Build Coastguard Worker         // env_logger reads its log level from the "RUST_LOG" environment variable
17*598139dcSAndroid Build Coastguard Worker         assert_eq!(log::max_level(), log::LevelFilter::Debug);
18*598139dcSAndroid Build Coastguard Worker     }
19*598139dcSAndroid Build Coastguard Worker     env::remove_var("RUST_LOG");
20*598139dcSAndroid Build Coastguard Worker }
21