summaryrefslogtreecommitdiffstats
path: root/third_party/rust/tracing-attributes/tests/targets.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/tracing-attributes/tests/targets.rs')
-rw-r--r--third_party/rust/tracing-attributes/tests/targets.rs97
1 files changed, 97 insertions, 0 deletions
diff --git a/third_party/rust/tracing-attributes/tests/targets.rs b/third_party/rust/tracing-attributes/tests/targets.rs
new file mode 100644
index 0000000000..363f628f31
--- /dev/null
+++ b/third_party/rust/tracing-attributes/tests/targets.rs
@@ -0,0 +1,97 @@
+use tracing::subscriber::with_default;
+use tracing_attributes::instrument;
+use tracing_mock::*;
+
+#[instrument]
+fn default_target() {}
+
+#[instrument(target = "my_target")]
+fn custom_target() {}
+
+mod my_mod {
+ use tracing_attributes::instrument;
+
+ pub const MODULE_PATH: &str = module_path!();
+
+ #[instrument]
+ pub fn default_target() {}
+
+ #[instrument(target = "my_other_target")]
+ pub fn custom_target() {}
+}
+
+#[test]
+fn default_targets() {
+ let (subscriber, handle) = subscriber::mock()
+ .new_span(
+ span::mock()
+ .named("default_target")
+ .with_target(module_path!()),
+ )
+ .enter(
+ span::mock()
+ .named("default_target")
+ .with_target(module_path!()),
+ )
+ .exit(
+ span::mock()
+ .named("default_target")
+ .with_target(module_path!()),
+ )
+ .new_span(
+ span::mock()
+ .named("default_target")
+ .with_target(my_mod::MODULE_PATH),
+ )
+ .enter(
+ span::mock()
+ .named("default_target")
+ .with_target(my_mod::MODULE_PATH),
+ )
+ .exit(
+ span::mock()
+ .named("default_target")
+ .with_target(my_mod::MODULE_PATH),
+ )
+ .done()
+ .run_with_handle();
+
+ with_default(subscriber, || {
+ default_target();
+ my_mod::default_target();
+ });
+
+ handle.assert_finished();
+}
+
+#[test]
+fn custom_targets() {
+ let (subscriber, handle) = subscriber::mock()
+ .new_span(span::mock().named("custom_target").with_target("my_target"))
+ .enter(span::mock().named("custom_target").with_target("my_target"))
+ .exit(span::mock().named("custom_target").with_target("my_target"))
+ .new_span(
+ span::mock()
+ .named("custom_target")
+ .with_target("my_other_target"),
+ )
+ .enter(
+ span::mock()
+ .named("custom_target")
+ .with_target("my_other_target"),
+ )
+ .exit(
+ span::mock()
+ .named("custom_target")
+ .with_target("my_other_target"),
+ )
+ .done()
+ .run_with_handle();
+
+ with_default(subscriber, || {
+ custom_target();
+ my_mod::custom_target();
+ });
+
+ handle.assert_finished();
+}