Sha256: 39576a958df3ea215c49154ff72c3dd14c8b3be3fcdb849e7dd847c8c9fd09e2

Contents?: true

Size: 1.45 KB

Versions: 23

Compression:

Stored size: 1.45 KB

Contents

use tracing::Level;
use tracing_mock::*;

#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
#[test]
fn max_level_hints() {
    // This test asserts that when a subscriber provides us with the global
    // maximum level that it will enable (by implementing the
    // `Subscriber::max_level_hint` method), we will never call
    // `Subscriber::enabled` for events above that maximum level.
    //
    // In this case, we test that by making the `enabled` method assert that no
    // `Metadata` for spans or events at the `TRACE` or `DEBUG` levels.
    let (subscriber, handle) = subscriber::mock()
        .with_max_level_hint(Level::INFO)
        .with_filter(|meta| {
            assert!(
                dbg!(meta).level() <= &Level::INFO,
                "a TRACE or DEBUG event was dynamically filtered: "
            );
            true
        })
        .event(expect::event().at_level(Level::INFO))
        .event(expect::event().at_level(Level::WARN))
        .event(expect::event().at_level(Level::ERROR))
        .only()
        .run_with_handle();

    tracing::subscriber::set_global_default(subscriber).unwrap();

    tracing::info!("doing a thing that you might care about");
    tracing::debug!("charging turboencabulator with interocitor");
    tracing::warn!("extremely serious warning, pay attention");
    tracing::trace!("interocitor charge level is 10%");
    tracing::error!("everything is on fire");
    handle.assert_finished();
}

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/tracing-0.1.41/tests/max_level_hint.rs
wasmtime-28.0.0 ./ext/cargo-vendor/tracing-0.1.41/tests/max_level_hint.rs
wasmtime-27.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-26.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-25.0.2 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-25.0.1 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-25.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-24.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-23.0.2 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-22.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-21.0.1 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-20.0.2 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-20.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-18.0.3 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-17.0.1 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-17.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-16.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-15.0.1 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-15.0.0 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs
wasmtime-14.0.4 ./ext/cargo-vendor/tracing-0.1.40/tests/max_level_hint.rs