1 mod support;
2 use support::*;
3 
4 use tracing::subscriber::with_default;
5 use tracing_attributes::instrument;
6 
7 #[instrument]
default_name()8 fn default_name() {}
9 
10 #[instrument(name = "my_name")]
custom_name()11 fn custom_name() {}
12 
13 // XXX: it's weird that we support both of these forms, but apparently we
14 // managed to release a version that accepts both syntax, so now we have to
15 // support it! yay!
16 #[instrument("my_other_name")]
custom_name_no_equals()17 fn custom_name_no_equals() {}
18 
19 #[test]
default_name_test()20 fn default_name_test() {
21     let (subscriber, handle) = subscriber::mock()
22         .new_span(span::mock().named("default_name"))
23         .enter(span::mock().named("default_name"))
24         .exit(span::mock().named("default_name"))
25         .done()
26         .run_with_handle();
27 
28     with_default(subscriber, || {
29         default_name();
30     });
31 
32     handle.assert_finished();
33 }
34 
35 #[test]
custom_name_test()36 fn custom_name_test() {
37     let (subscriber, handle) = subscriber::mock()
38         .new_span(span::mock().named("my_name"))
39         .enter(span::mock().named("my_name"))
40         .exit(span::mock().named("my_name"))
41         .done()
42         .run_with_handle();
43 
44     with_default(subscriber, || {
45         custom_name();
46     });
47 
48     handle.assert_finished();
49 }
50 
51 #[test]
custom_name_no_equals_test()52 fn custom_name_no_equals_test() {
53     let (subscriber, handle) = subscriber::mock()
54         .new_span(span::mock().named("my_other_name"))
55         .enter(span::mock().named("my_other_name"))
56         .exit(span::mock().named("my_other_name"))
57         .done()
58         .run_with_handle();
59 
60     with_default(subscriber, || {
61         custom_name_no_equals();
62     });
63 
64     handle.assert_finished();
65 }
66