mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-14 18:09:22 +00:00
64 lines
1.6 KiB
Rust
64 lines
1.6 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(expect::span().named("default_name"))
|
|
.enter(expect::span().named("default_name"))
|
|
.exit(expect::span().named("default_name"))
|
|
.only()
|
|
.run_with_handle();
|
|
|
|
with_default(subscriber, || {
|
|
default_name();
|
|
});
|
|
|
|
handle.assert_finished();
|
|
}
|
|
|
|
#[test]
|
|
fn custom_name_test() {
|
|
let (subscriber, handle) = subscriber::mock()
|
|
.new_span(expect::span().named("my_name"))
|
|
.enter(expect::span().named("my_name"))
|
|
.exit(expect::span().named("my_name"))
|
|
.only()
|
|
.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(expect::span().named("my_other_name"))
|
|
.enter(expect::span().named("my_other_name"))
|
|
.exit(expect::span().named("my_other_name"))
|
|
.only()
|
|
.run_with_handle();
|
|
|
|
with_default(subscriber, || {
|
|
custom_name_no_equals();
|
|
});
|
|
|
|
handle.assert_finished();
|
|
}
|