12345678910111213141516171819202122232425262728293031323334 |
- 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");
- }
|