63 lines
1.5 KiB
Rust
63 lines
1.5 KiB
Rust
use tracing::subscriber::with_default;
|
|
use tracing_attributes::instrument;
|
|
use tracing_mock::*;
|
|
|
|
#[instrument]
|
|
fn default_name() {}
|
|
|
|
#[instrument(name = "my_name")]
|
|
fn custom_name() {}
|
|
|
|
// XXX: it's weird that we support both of these forms, but apparently we
|
|
// managed to release a version that accepts both syntax, so now we have to
|
|
// support it! yay!
|
|
#[instrument("my_other_name")]
|
|
fn custom_name_no_equals() {}
|
|
|
|
#[test]
|
|
fn default_name_test() {
|
|
let (subscriber, handle) = subscriber::mock()
|
|
.new_span(span::mock().named("default_name"))
|
|
.enter(span::mock().named("default_name"))
|
|
.exit(span::mock().named("default_name"))
|
|
.done()
|
|
.run_with_handle();
|
|
|
|
with_default(subscriber, || {
|
|
default_name();
|
|
});
|
|
|
|
handle.assert_finished();
|
|
}
|
|
|
|
#[test]
|
|
fn custom_name_test() {
|
|
let (subscriber, handle) = subscriber::mock()
|
|
.new_span(span::mock().named("my_name"))
|
|
.enter(span::mock().named("my_name"))
|
|
.exit(span::mock().named("my_name"))
|
|
.done()
|
|
.run_with_handle();
|
|
|
|
with_default(subscriber, || {
|
|
custom_name();
|
|
});
|
|
|
|
handle.assert_finished();
|
|
}
|
|
|
|
#[test]
|
|
fn custom_name_no_equals_test() {
|
|
let (subscriber, handle) = subscriber::mock()
|
|
.new_span(span::mock().named("my_other_name"))
|
|
.enter(span::mock().named("my_other_name"))
|
|
.exit(span::mock().named("my_other_name"))
|
|
.done()
|
|
.run_with_handle();
|
|
|
|
with_default(subscriber, || {
|
|
custom_name_no_equals();
|
|
});
|
|
|
|
handle.assert_finished();
|
|
}
|