]> git.proxmox.com Git - rustc.git/blob - vendor/tracing-attributes/tests/targets.rs
New upstream version 1.46.0~beta.2+dfsg1
[rustc.git] / vendor / tracing-attributes / tests / targets.rs
1 mod support;
2 use support::*;
3
4 use tracing::subscriber::with_default;
5 use tracing_attributes::instrument;
6
7 #[instrument]
8 fn default_target() {}
9
10 #[instrument(target = "my_target")]
11 fn custom_target() {}
12
13 mod my_mod {
14 use tracing_attributes::instrument;
15
16 pub const MODULE_PATH: &str = module_path!();
17
18 #[instrument]
19 pub fn default_target() {}
20
21 #[instrument(target = "my_other_target")]
22 pub fn custom_target() {}
23 }
24
25 #[test]
26 fn default_targets() {
27 let (subscriber, handle) = subscriber::mock()
28 .new_span(
29 span::mock()
30 .named("default_target")
31 .with_target(module_path!()),
32 )
33 .enter(
34 span::mock()
35 .named("default_target")
36 .with_target(module_path!()),
37 )
38 .exit(
39 span::mock()
40 .named("default_target")
41 .with_target(module_path!()),
42 )
43 .new_span(
44 span::mock()
45 .named("default_target")
46 .with_target(my_mod::MODULE_PATH),
47 )
48 .enter(
49 span::mock()
50 .named("default_target")
51 .with_target(my_mod::MODULE_PATH),
52 )
53 .exit(
54 span::mock()
55 .named("default_target")
56 .with_target(my_mod::MODULE_PATH),
57 )
58 .done()
59 .run_with_handle();
60
61 with_default(subscriber, || {
62 default_target();
63 my_mod::default_target();
64 });
65
66 handle.assert_finished();
67 }
68
69 #[test]
70 fn custom_targets() {
71 let (subscriber, handle) = subscriber::mock()
72 .new_span(span::mock().named("custom_target").with_target("my_target"))
73 .enter(span::mock().named("custom_target").with_target("my_target"))
74 .exit(span::mock().named("custom_target").with_target("my_target"))
75 .new_span(
76 span::mock()
77 .named("custom_target")
78 .with_target("my_other_target"),
79 )
80 .enter(
81 span::mock()
82 .named("custom_target")
83 .with_target("my_other_target"),
84 )
85 .exit(
86 span::mock()
87 .named("custom_target")
88 .with_target("my_other_target"),
89 )
90 .done()
91 .run_with_handle();
92
93 with_default(subscriber, || {
94 custom_target();
95 my_mod::custom_target();
96 });
97
98 handle.assert_finished();
99 }