diff options
Diffstat (limited to 'vendor/tracing-core/tests/global_dispatch.rs')
-rw-r--r-- | vendor/tracing-core/tests/global_dispatch.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/tracing-core/tests/global_dispatch.rs b/vendor/tracing-core/tests/global_dispatch.rs new file mode 100644 index 000000000..d430ac618 --- /dev/null +++ b/vendor/tracing-core/tests/global_dispatch.rs @@ -0,0 +1,34 @@ +mod common; + +use common::*; +use tracing_core::dispatcher::*; +#[test] +fn global_dispatch() { + set_global_default(Dispatch::new(TestSubscriberA)).expect("global dispatch set failed"); + get_default(|current| { + assert!( + current.is::<TestSubscriberA>(), + "global dispatch get failed" + ) + }); + + #[cfg(feature = "std")] + with_default(&Dispatch::new(TestSubscriberB), || { + get_default(|current| { + assert!( + current.is::<TestSubscriberB>(), + "thread-local override of global dispatch failed" + ) + }); + }); + + get_default(|current| { + assert!( + current.is::<TestSubscriberA>(), + "reset to global override failed" + ) + }); + + set_global_default(Dispatch::new(TestSubscriberA)) + .expect_err("double global dispatch set succeeded"); +} |