summaryrefslogtreecommitdiffstats
path: root/vendor/tracing-subscriber/tests/same_len_filters.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tracing-subscriber/tests/same_len_filters.rs')
-rw-r--r--vendor/tracing-subscriber/tests/same_len_filters.rs81
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/tracing-subscriber/tests/same_len_filters.rs b/vendor/tracing-subscriber/tests/same_len_filters.rs
new file mode 100644
index 000000000..879e578d7
--- /dev/null
+++ b/vendor/tracing-subscriber/tests/same_len_filters.rs
@@ -0,0 +1,81 @@
+// These tests include field filters with no targets, so they have to go in a
+// separate file.
+#![cfg(feature = "env-filter")]
+
+use tracing::{self, subscriber::with_default, Level};
+use tracing_mock::*;
+use tracing_subscriber::{filter::EnvFilter, prelude::*};
+
+#[test]
+fn same_length_targets() {
+ let filter: EnvFilter = "foo=trace,bar=trace".parse().expect("filter should parse");
+ let (subscriber, finished) = subscriber::mock()
+ .event(event::mock().at_level(Level::TRACE))
+ .event(event::mock().at_level(Level::TRACE))
+ .done()
+ .run_with_handle();
+ let subscriber = subscriber.with(filter);
+
+ with_default(subscriber, || {
+ tracing::trace!(target: "foo", "foo");
+ tracing::trace!(target: "bar", "bar");
+ });
+
+ finished.assert_finished();
+}
+
+#[test]
+fn same_num_fields_event() {
+ let filter: EnvFilter = "[{foo}]=trace,[{bar}]=trace"
+ .parse()
+ .expect("filter should parse");
+ let (subscriber, finished) = subscriber::mock()
+ .event(
+ event::mock()
+ .at_level(Level::TRACE)
+ .with_fields(field::mock("foo")),
+ )
+ .event(
+ event::mock()
+ .at_level(Level::TRACE)
+ .with_fields(field::mock("bar")),
+ )
+ .done()
+ .run_with_handle();
+ let subscriber = subscriber.with(filter);
+ with_default(subscriber, || {
+ tracing::trace!(foo = 1);
+ tracing::trace!(bar = 3);
+ });
+
+ finished.assert_finished();
+}
+
+#[test]
+fn same_num_fields_and_name_len() {
+ let filter: EnvFilter = "[foo{bar=1}]=trace,[baz{boz=1}]=trace"
+ .parse()
+ .expect("filter should parse");
+ let (subscriber, finished) = subscriber::mock()
+ .new_span(
+ span::mock()
+ .named("foo")
+ .at_level(Level::TRACE)
+ .with_field(field::mock("bar")),
+ )
+ .new_span(
+ span::mock()
+ .named("baz")
+ .at_level(Level::TRACE)
+ .with_field(field::mock("boz")),
+ )
+ .done()
+ .run_with_handle();
+ let subscriber = subscriber.with(filter);
+ with_default(subscriber, || {
+ tracing::trace_span!("foo", bar = 1);
+ tracing::trace_span!("baz", boz = 1);
+ });
+
+ finished.assert_finished();
+}