mod support; use support::*; use tracing::Instrument; use tracing::{subscriber::with_default, Level}; #[test] fn enter_exit_is_reasonable() { let (subscriber, handle) = subscriber::mock() .enter(span::mock().named("foo")) .exit(span::mock().named("foo")) .enter(span::mock().named("foo")) .exit(span::mock().named("foo")) .drop_span(span::mock().named("foo")) .done() .run_with_handle(); with_default(subscriber, || { let future = PollN::new_ok(2).instrument(tracing::span!(Level::TRACE, "foo")); block_on_future(future).unwrap(); }); handle.assert_finished(); } #[test] fn error_ends_span() { let (subscriber, handle) = subscriber::mock() .enter(span::mock().named("foo")) .exit(span::mock().named("foo")) .enter(span::mock().named("foo")) .exit(span::mock().named("foo")) .drop_span(span::mock().named("foo")) .done() .run_with_handle(); with_default(subscriber, || { let future = PollN::new_err(2).instrument(tracing::span!(Level::TRACE, "foo")); block_on_future(future).unwrap_err(); }); handle.assert_finished(); }