1 mod support; 2 use support::*; 3 4 use tracing::subscriber::with_default; 5 use tracing_attributes::instrument; 6 7 #[instrument] default_name()8fn default_name() {} 9 10 #[instrument(name = "my_name")] custom_name()11fn 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()17fn custom_name_no_equals() {} 18 19 #[test] default_name_test()20fn 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()36fn 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()52fn 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