diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:50 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:50 +0000 |
commit | 2e00214b3efbdfeefaa0fe9e8b8fd519de7adc35 (patch) | |
tree | d325add32978dbdc1db975a438b3a77d571b1ab8 /vendor/tracing-subscriber-0.3.3/tests/multiple_layer_filter_interests_cached.rs | |
parent | Releasing progress-linux version 1.68.2+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-2e00214b3efbdfeefaa0fe9e8b8fd519de7adc35.tar.xz rustc-2e00214b3efbdfeefaa0fe9e8b8fd519de7adc35.zip |
Merging upstream version 1.69.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/tracing-subscriber-0.3.3/tests/multiple_layer_filter_interests_cached.rs')
-rw-r--r-- | vendor/tracing-subscriber-0.3.3/tests/multiple_layer_filter_interests_cached.rs | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/vendor/tracing-subscriber-0.3.3/tests/multiple_layer_filter_interests_cached.rs b/vendor/tracing-subscriber-0.3.3/tests/multiple_layer_filter_interests_cached.rs deleted file mode 100644 index 5c25e7f03..000000000 --- a/vendor/tracing-subscriber-0.3.3/tests/multiple_layer_filter_interests_cached.rs +++ /dev/null @@ -1,131 +0,0 @@ -#![cfg(feature = "registry")] -mod support; -use self::support::*; - -use std::{ - collections::HashMap, - sync::{Arc, Mutex}, -}; -use tracing::{Level, Subscriber}; -use tracing_subscriber::{filter, prelude::*}; - -#[test] -fn multiple_layer_filter_interests_are_cached() { - // This layer will return Interest::always for INFO and lower. - let seen_info = Arc::new(Mutex::new(HashMap::new())); - let seen_info2 = seen_info.clone(); - let filter = filter::filter_fn(move |meta| { - *seen_info - .lock() - .unwrap() - .entry(*meta.level()) - .or_insert(0usize) += 1; - meta.level() <= &Level::INFO - }); - let seen_info = seen_info2; - - let (info_layer, info_handle) = layer::named("info") - .event(event::mock().at_level(Level::INFO)) - .event(event::mock().at_level(Level::WARN)) - .event(event::mock().at_level(Level::ERROR)) - .event(event::mock().at_level(Level::INFO)) - .event(event::mock().at_level(Level::WARN)) - .event(event::mock().at_level(Level::ERROR)) - .done() - .run_with_handle(); - let info_layer = info_layer.with_filter(filter); - - // This layer will return Interest::always for WARN and lower. - let seen_warn = Arc::new(Mutex::new(HashMap::new())); - let seen_warn2 = seen_warn.clone(); - let filter = filter::filter_fn(move |meta| { - *seen_warn - .lock() - .unwrap() - .entry(*meta.level()) - .or_insert(0usize) += 1; - meta.level() <= &Level::WARN - }); - let seen_warn = seen_warn2; - - let (warn_layer, warn_handle) = layer::named("warn") - .event(event::mock().at_level(Level::WARN)) - .event(event::mock().at_level(Level::ERROR)) - .event(event::mock().at_level(Level::WARN)) - .event(event::mock().at_level(Level::ERROR)) - .done() - .run_with_handle(); - let warn_layer = warn_layer.with_filter(filter); - - let subscriber = tracing_subscriber::registry() - .with(warn_layer) - .with(info_layer); - assert!(subscriber.max_level_hint().is_none()); - - let _subscriber = subscriber.set_default(); - - fn events() { - tracing::trace!("hello trace"); - tracing::debug!("hello debug"); - tracing::info!("hello info"); - tracing::warn!("hello warn"); - tracing::error!("hello error"); - } - - events(); - { - let lock = seen_info.lock().unwrap(); - for (&level, &count) in lock.iter() { - if level == Level::INFO { - continue; - } - assert_eq!( - count, 1, - "level {:?} should have been seen 1 time by the INFO layer (after first set of events)", - level - ); - } - - let lock = seen_warn.lock().unwrap(); - for (&level, &count) in lock.iter() { - if level == Level::INFO { - continue; - } - assert_eq!( - count, 1, - "level {:?} should have been seen 1 time by the WARN layer (after first set of events)", - level - ); - } - } - - events(); - { - let lock = seen_info.lock().unwrap(); - for (&level, &count) in lock.iter() { - if level == Level::INFO { - continue; - } - assert_eq!( - count, 1, - "level {:?} should have been seen 1 time by the INFO layer (after second set of events)", - level - ); - } - - let lock = seen_warn.lock().unwrap(); - for (&level, &count) in lock.iter() { - if level == Level::INFO { - continue; - } - assert_eq!( - count, 1, - "level {:?} should have been seen 1 time by the WARN layer (after second set of events)", - level - ); - } - } - - info_handle.assert_finished(); - warn_handle.assert_finished(); -} |