tracing/tracing-core/tests/dispatch.rs
David Barsky 98ba44c22e
core: rename Subscriber to Collect (#1015)
This PR renames the following:

- `tracing_core::Subscriber` to `tracing_core::Collect`
- `tracing_subscriber::layer::Layer` to `tracing_subscriber::layer::Subscribe`

Authored-by: David Barsksy <dbarsky@amazon.com>
Co-authored-by: Eliza Weisman <eliza@buoyant.io>
2020-10-22 15:11:23 -04:00

50 lines
1.4 KiB
Rust

#[cfg(feature = "std")]
mod common;
#[cfg(feature = "std")]
use common::*;
#[cfg(feature = "std")]
use tracing_core::dispatch::*;
#[cfg(feature = "std")]
#[test]
fn set_default_dispatch() {
set_global_default(Dispatch::new(TestCollectorA)).expect("global dispatch set failed");
get_default(|current| assert!(current.is::<TestCollectorA>(), "global dispatch get failed"));
let guard = set_default(&Dispatch::new(TestCollectorB));
get_default(|current| assert!(current.is::<TestCollectorB>(), "set_default get failed"));
// Drop the guard, setting the dispatch back to the global dispatch
drop(guard);
get_default(|current| assert!(current.is::<TestCollectorA>(), "global dispatch get failed"));
}
#[cfg(feature = "std")]
#[test]
fn nested_set_default() {
let _guard = set_default(&Dispatch::new(TestCollectorA));
get_default(|current| {
assert!(
current.is::<TestCollectorA>(),
"set_default for outer subscriber failed"
)
});
let inner_guard = set_default(&Dispatch::new(TestCollectorB));
get_default(|current| {
assert!(
current.is::<TestCollectorB>(),
"set_default inner subscriber failed"
)
});
drop(inner_guard);
get_default(|current| {
assert!(
current.is::<TestCollectorA>(),
"set_default outer subscriber failed"
)
});
}