[INFO] fetching crate min_shark 0.6.0... [INFO] testing min_shark-0.6.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-1 [INFO] extracting crate min_shark 0.6.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate min_shark 0.6.0 [INFO] finished tweaking crates.io crate min_shark 0.6.0 [INFO] tweaked toml for crates.io crate min_shark 0.6.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate min_shark 0.6.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 45 packages to latest compatible versions [INFO] [stderr] Adding derive_more v1.0.0 (available: v2.0.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 91cd8a654bc29e7e84cc2578e2b0ac09ab1e389f652e647c741ee609b197c0ce [INFO] running `Command { std: "docker" "start" "-a" "91cd8a654bc29e7e84cc2578e2b0ac09ab1e389f652e647c741ee609b197c0ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "91cd8a654bc29e7e84cc2578e2b0ac09ab1e389f652e647c741ee609b197c0ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91cd8a654bc29e7e84cc2578e2b0ac09ab1e389f652e647c741ee609b197c0ce", kill_on_drop: false }` [INFO] [stdout] 91cd8a654bc29e7e84cc2578e2b0ac09ab1e389f652e647c741ee609b197c0ce [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 293bdcfee90dd2f34e18888eecd83863adafc297a4e12880d4429481766ac2db [INFO] running `Command { std: "docker" "start" "-a" "293bdcfee90dd2f34e18888eecd83863adafc297a4e12880d4429481766ac2db", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling bstr v1.12.0 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling derive_more v1.0.0 [INFO] [stderr] Compiling min_shark v0.6.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/expression.rs:478:20 [INFO] [stdout] | [INFO] [stdout] 478 | pub fn matcher(&self) -> Matcher { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 478 | pub fn matcher(&self) -> Matcher<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.44s [INFO] running `Command { std: "docker" "inspect" "293bdcfee90dd2f34e18888eecd83863adafc297a4e12880d4429481766ac2db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "293bdcfee90dd2f34e18888eecd83863adafc297a4e12880d4429481766ac2db", kill_on_drop: false }` [INFO] [stdout] 293bdcfee90dd2f34e18888eecd83863adafc297a4e12880d4429481766ac2db [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b6a9e2144d6a398881ad9131be4cfdd5a306d8bbc50717f36558d2302ea20de [INFO] running `Command { std: "docker" "start" "-a" "9b6a9e2144d6a398881ad9131be4cfdd5a306d8bbc50717f36558d2302ea20de", kill_on_drop: false }` [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling bstr v1.12.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.20 [INFO] [stderr] Compiling derive_more v1.0.0 [INFO] [stderr] Compiling min_shark v0.6.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/expression.rs:478:20 [INFO] [stdout] | [INFO] [stdout] 478 | pub fn matcher(&self) -> Matcher { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 478 | pub fn matcher(&self) -> Matcher<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/expression.rs:478:20 [INFO] [stdout] | [INFO] [stdout] 478 | pub fn matcher(&self) -> Matcher { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 478 | pub fn matcher(&self) -> Matcher<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.90s [INFO] running `Command { std: "docker" "inspect" "9b6a9e2144d6a398881ad9131be4cfdd5a306d8bbc50717f36558d2302ea20de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b6a9e2144d6a398881ad9131be4cfdd5a306d8bbc50717f36558d2302ea20de", kill_on_drop: false }` [INFO] [stdout] 9b6a9e2144d6a398881ad9131be4cfdd5a306d8bbc50717f36558d2302ea20de [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 48e4e3688c35f98fab4bb6ab492f7165d6242188f447d8870c6481ddbb97e7d0 [INFO] running `Command { std: "docker" "start" "-a" "48e4e3688c35f98fab4bb6ab492f7165d6242188f447d8870c6481ddbb97e7d0", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/expression.rs:478:20 [INFO] [stderr] | [INFO] [stderr] 478 | pub fn matcher(&self) -> Matcher { [INFO] [stderr] | ^^^^^ ------- [INFO] [stderr] | | | [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 478 | pub fn matcher(&self) -> Matcher<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `min_shark` (lib) generated 1 warning (run `cargo fix --lib -p min_shark` to apply 1 suggestion) [INFO] [stderr] warning: `min_shark` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/min_shark-9c6ec767bf6bffea) [INFO] [stdout] [INFO] [stdout] running 84 tests [INFO] [stdout] test driver::tests::test_filter_too_long ... ok [INFO] [stdout] test driver::tests::test_parse_error_bad_byte_string ... ok [INFO] [stdout] test driver::tests::test_parse_error_bad_comparison_op ... ok [INFO] [stdout] test driver::tests::test_parse_error_bad_ip_val_01 ... ok [INFO] [stdout] test driver::tests::test_parse_error_extraneous_data ... ok [INFO] [stdout] test driver::tests::test_parse_error_missing_closing_brace_ip ... ok [INFO] [stdout] test driver::tests::test_parse_error_bad_ip_val_02 ... ok [INFO] [stdout] test driver::tests::test_parse_error_missing_operation_eth ... ok [INFO] [stdout] test driver::tests::test_parse_error_whitespace ... ok [INFO] [stdout] test expression::tests::test_matcher_usage ... ok [INFO] [stdout] test expression::tests::test_merge_and ... ok [INFO] [stdout] 2025-10-02T03:09:32.442826Z  INFO min_shark::expression::tests: Evaluating expression "arp" [INFO] [stdout] 2025-10-02T03:09:32.442867Z  INFO min_shark::expression::tests: Evaluating expression "arp" [INFO] [stdout] 2025-10-02T03:09:32.442877Z  INFO min_shark::expression::tests: Evaluating expression "not arp" [INFO] [stdout] 2025-10-02T03:09:32.442888Z  INFO min_shark::expression::tests: Evaluating expression "not arp" [INFO] [stdout] test expression::tests::test_single_clause_arp_expression ... ok [INFO] [stdout] test driver::tests::test_parse_error_empty_filter ... ok [INFO] [stdout] 2025-10-02T03:09:32.443379Z  INFO min_shark::expression::tests: Evaluating expression "ip == 10.1.1.0/16" [INFO] [stdout] 2025-10-02T03:09:32.443421Z  INFO min_shark::expression::tests: Evaluating expression "ip == 192.168.66.1/24" [INFO] [stdout] 2025-10-02T03:09:32.443433Z  INFO min_shark::expression::tests: Evaluating expression "ip.src == 10.1.1.0/16" [INFO] [stdout] 2025-10-02T03:09:32.443444Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst == 192.168.66.1/24" [INFO] [stdout] 2025-10-02T03:09:32.443455Z  INFO min_shark::expression::tests: Evaluating expression "ip in [10.1.1.0/16]" [INFO] [stdout] 2025-10-02T03:09:32.443477Z  INFO min_shark::expression::tests: Evaluating expression "ip in [192.168.66.1/24]" [INFO] [stdout] 2025-10-02T03:09:32.443488Z  INFO min_shark::expression::tests: Evaluating expression "ip.src in [10.1.1.0/16]" [INFO] [stdout] 2025-10-02T03:09:32.443507Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst in [192.168.66.1/24]" [INFO] [stdout] 2025-10-02T03:09:32.443518Z  INFO min_shark::expression::tests: Evaluating expression "ip.src not in [192.168.66.1/24]" [INFO] [stdout] 2025-10-02T03:09:32.443536Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst not in [10.1.1.0/16]" [INFO] [stdout] 2025-10-02T03:09:32.443771Z  INFO min_shark::expression::tests: Evaluating expression "(not arp and port in [80, 443])" [INFO] [stdout] 2025-10-02T03:09:32.448387Z  INFO min_shark::expression::tests: Evaluating expression "not tcp" [INFO] [stdout] 2025-10-02T03:09:32.446567Z  INFO min_shark::expression::tests: Evaluating expression "((tcp or not udp) and ip.dst == 192.168.66.0/24 and ip.src == 10.1.1.0/30 and payload matches "\D+")" [INFO] [stdout] test expression::tests::test_merge_or ... 2025-10-02T03:09:32.446685Z  INFO min_shark::expression::tests: Evaluating expression "And([])" [INFO] [stdout] 2025-10-02T03:09:32.448647Z  INFO min_shark::expression::tests: Evaluating expression "Or([])" [INFO] [stdout] ok [INFO] [stdout] test expression::tests::test_merge_two_and ... ok [INFO] [stdout] test expression::tests::test_merge_two_or ... ok [INFO] [stdout] test expression::tests::test_no_merge_and ... ok [INFO] [stdout] test expression::tests::test_single_clause_ip_expressions ... ok [INFO] [stdout] test expression::tests::test_no_merge_or ... ok [INFO] [stdout] test driver::tests::test_parse_error_wrong_closing_brace_ip ... ok [INFO] [stdout] test driver::tests::test_parse_error_wrong_missing_brace_eth ... ok [INFO] [stdout] test expression::tests::test_complex_not_arp_expression ... ok [INFO] [stdout] 2025-10-02T03:09:32.449100Z  INFO min_shark::expression::tests: Evaluating expression "vlan" [INFO] [stdout] 2025-10-02T03:09:32.449134Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id == 2" [INFO] [stdout] test expression::tests::test_mixed_merging ... ok [INFO] [stdout] 2025-10-02T03:09:32.449156Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id != 3" [INFO] [stdout] 2025-10-02T03:09:32.449167Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id <= 2" [INFO] [stdout] 2025-10-02T03:09:32.449177Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id < 3" [INFO] [stdout] 2025-10-02T03:09:32.449201Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id >= 2" [INFO] [stdout] 2025-10-02T03:09:32.449219Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id > 1" [INFO] [stdout] 2025-10-02T03:09:32.449228Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id in [1, 2, 3, 4]" [INFO] [stdout] 2025-10-02T03:09:32.451382Z  INFO min_shark::expression::tests: Evaluating expression "payload.len >= 0" [INFO] [stdout] 2025-10-02T03:09:32.451432Z  INFO min_shark::expression::tests: Evaluating expression "payload.len > 0" [INFO] [stdout] 2025-10-02T03:09:32.451444Z  INFO min_shark::expression::tests: Evaluating expression "payload.len <= 100" [INFO] [stdout] 2025-10-02T03:09:32.451453Z  INFO min_shark::expression::tests: Evaluating expression "payload.len < 100" [INFO] [stdout] 2025-10-02T03:09:32.451462Z  INFO min_shark::expression::tests: Evaluating expression "payload.len == 75" [INFO] [stdout] 2025-10-02T03:09:32.451470Z  INFO min_shark::expression::tests: Evaluating expression "payload.len != 16" [INFO] [stdout] 2025-10-02T03:09:32.451566Z  INFO min_shark::expression::tests: Evaluating expression "port == 26112" [INFO] [stdout] 2025-10-02T03:09:32.451590Z  INFO min_shark::expression::tests: Evaluating expression "port == 80" [INFO] [stdout] 2025-10-02T03:09:32.451599Z  INFO min_shark::expression::tests: Evaluating expression "srcport == 26112" [INFO] [stdout] 2025-10-02T03:09:32.451607Z  INFO min_shark::expression::tests: Evaluating expression "dstport == 80" [INFO] [stdout] 2025-10-02T03:09:32.451615Z  INFO min_shark::expression::tests: Evaluating expression "port in [26112]" [INFO] [stdout] 2025-10-02T03:09:32.451627Z  INFO min_shark::expression::tests: Evaluating expression "port in [80]" [INFO] [stdout] 2025-10-02T03:09:32.451653Z  INFO min_shark::expression::tests: Evaluating expression "port not in [1, 2, 3]" [INFO] [stdout] 2025-10-02T03:09:32.451664Z  INFO min_shark::expression::tests: Evaluating expression "srcport in [26112]" [INFO] [stdout] 2025-10-02T03:09:32.451673Z  INFO min_shark::expression::tests: Evaluating expression "dstport in [80]" [INFO] [stdout] 2025-10-02T03:09:32.451694Z  INFO min_shark::expression::tests: Evaluating expression "dstport not in [1, 2, 3]" [INFO] [stdout] 2025-10-02T03:09:32.451792Z  INFO min_shark::expression::tests: Evaluating expression "tcp" [INFO] [stdout] 2025-10-02T03:09:32.451875Z  INFO min_shark::expression::tests: Evaluating expression "udp" [INFO] [stdout] 2025-10-02T03:09:32.452030Z  INFO min_shark::lexer::tests: Lexing input "ip.addr == 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452071Z  INFO min_shark::lexer::tests: Lexing input "ip.addr eq 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452085Z  INFO min_shark::lexer::tests: Lexing input "ip.addr != 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452102Z  INFO min_shark::lexer::tests: Lexing input "ip.addr ne 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452123Z  INFO min_shark::lexer::tests: Lexing input "ip.addr > 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452134Z  INFO min_shark::lexer::tests: Lexing input "ip.addr gt 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452156Z  INFO min_shark::lexer::tests: Lexing input "ip.addr >= 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452167Z  INFO min_shark::lexer::tests: Lexing input "ip.addr ge 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452188Z  INFO min_shark::lexer::tests: Lexing input "ip.addr < 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452199Z  INFO min_shark::lexer::tests: Lexing input "ip.addr lt 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452211Z  INFO min_shark::lexer::tests: Lexing input "ip.addr <= 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452228Z  INFO min_shark::lexer::tests: Lexing input "ip.addr le 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:09:32.452324Z  INFO min_shark::lexer::tests: Lexing input "payload contains 00:11:22:33" [INFO] [stdout] 2025-10-02T03:09:32.452359Z  INFO min_shark::lexer::tests: Lexing input "payload contains 00:11:22:33 " [INFO] [stdout] test expression::tests::test_not_expression ... ok [INFO] [stdout] test expression::tests::test_empty_expression ... ok [INFO] [stdout] test input::tests::test_input_error ... ok [INFO] [stdout] test expression::tests::test_single_clause_vlan_expressions ... 2025-10-02T03:09:32.452541Z  INFO min_shark::lexer::tests: Lexing input "" [INFO] [stdout] ok [INFO] [stdout] 2025-10-02T03:09:32.452568Z  INFO min_shark::lexer::tests: Lexing input "om =nom" [INFO] [stdout] 2025-10-02T03:09:32.457551Z  INFO min_shark::lexer::tests: Lexing input "'" [INFO] [stdout] 2025-10-02T03:09:32.457577Z  INFO min_shark::lexer::tests: Lexing input """ [INFO] [stdout] test expression::tests::test_composite_expression ... 2025-10-02T03:09:32.457588Z  INFO min_shark::lexer::tests: Lexing input "^" [INFO] [stdout] ok [INFO] [stdout] 2025-10-02T03:09:32.457600Z  INFO min_shark::lexer::tests: Lexing input "%" [INFO] [stdout] test expression::tests::test_single_clause_payload_len_expressions ... ok [INFO] [stdout] 2025-10-02T03:09:32.457639Z  INFO min_shark::lexer::tests: Lexing input "payload ~ '^something[0-9]+'" [INFO] [stdout] test expression::tests::test_single_clause_port_expressions ... ok [INFO] [stdout] 2025-10-02T03:09:32.457670Z  INFO min_shark::lexer::tests: Lexing input "payload matches '^something[0-9]+'" [INFO] [stdout] test expression::tests::test_single_clause_tcp_expression ... ok [INFO] [stdout] 2025-10-02T03:09:32.457703Z  INFO min_shark::lexer::tests: Lexing input "eth.addr==00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:09:32.452614Z  INFO min_shark::lexer::tests: Lexing input " [INFO] [stdout] [INFO] [stdout] eth.addr == 00-B0-D0-63-C2-26 " [INFO] [stdout] test expression::tests::test_single_clause_udp_expression ... ok [INFO] [stdout] 2025-10-02T03:09:32.455405Z  INFO min_shark::expression::tests: Evaluating expression "ip.src == 10.1.1.2/32" [INFO] [stdout] test input::tests::test_input_success ... ok [INFO] [stdout] 2025-10-02T03:09:32.457783Z  INFO min_shark::expression::tests: Evaluating expression "ip.src != 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:09:32.457802Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst == 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:09:32.457815Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst != 10.1.1.2/32" [INFO] [stdout] 2025-10-02T03:09:32.457825Z  INFO min_shark::expression::tests: Evaluating expression "ip.src >= 10.1.1.2/32" [INFO] [stdout] test lexer::tests::test_lex_comparison_operations ... ok [INFO] [stdout] 2025-10-02T03:09:32.457836Z  INFO min_shark::expression::tests: Evaluating expression "ip.src >= 10.1.1.1/32" [INFO] [stdout] 2025-10-02T03:09:32.457846Z  INFO min_shark::expression::tests: Evaluating expression "ip.src > 10.1.1.1/32" [INFO] [stdout] 2025-10-02T03:09:32.457855Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst >= 192.168.66.1/32" [INFO] [stdout] test lexer::tests::test_lex_contains ... ok [INFO] [stdout] 2025-10-02T03:09:32.457865Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst >= 192.168.66.0/32" [INFO] [stdout] 2025-10-02T03:09:32.457875Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst > 192.168.66.0/32" [INFO] [stdout] 2025-10-02T03:09:32.457885Z  INFO min_shark::expression::tests: Evaluating expression "ip.src <= 10.1.1.2/32" [INFO] [stdout] test lexer::tests::test_lex_empty_input ... 2025-10-02T03:09:32.457894Z  INFO min_shark::expression::tests: Evaluating expression "ip.src <= 10.1.1.3/32" [INFO] [stdout] ok [INFO] [stdout] 2025-10-02T03:09:32.457903Z  INFO min_shark::expression::tests: Evaluating expression "ip.src < 10.1.1.3/32" [INFO] [stdout] 2025-10-02T03:09:32.457913Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst <= 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:09:32.457923Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst <= 192.168.66.2/32" [INFO] [stdout] test lexer::tests::test_lex_errors ... ok2025-10-02T03:09:32.457932Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst < 192.168.66.2/32" [INFO] [stdout] [INFO] [stdout] test lexer::tests::test_lex_matches ... ok [INFO] [stdout] 2025-10-02T03:09:32.458035Z  INFO min_shark::lexer::tests: Lexing input "om nom nom" [INFO] [stdout] 2025-10-02T03:09:32.458062Z  INFO min_shark::lexer::tests: Lexing input "'boo'((boom-------" [INFO] [stdout] 2025-10-02T03:09:32.458077Z  INFO min_shark::lexer::tests: Lexing input "==)('')" [INFO] [stdout] 2025-10-02T03:09:32.458213Z  INFO min_shark::lexer::tests: Lexing input "''" [INFO] [stdout] 2025-10-02T03:09:32.458236Z  INFO min_shark::lexer::tests: Lexing input "not tcp and (ip.src == 10.10.0.0/16 or (dstport > 80 and dstport <= 100))" [INFO] [stdout] 2025-10-02T03:09:32.458251Z  INFO min_shark::lexer::tests: Lexing input "''""''" [INFO] [stdout] 2025-10-02T03:09:32.458264Z  INFO min_shark::lexer::tests: Lexing input "'"'" [INFO] [stdout] 2025-10-02T03:09:32.458275Z  INFO min_shark::lexer::tests: Lexing input ""t"" [INFO] [stdout] 2025-10-02T03:09:32.458279Z  INFO min_shark::lexer::tests: Lexing input "!tcp && (ip.src == 10.10.0.0/16 || (dstport > 80 && dstport <= 100))" [INFO] [stdout] 2025-10-02T03:09:32.458286Z  INFO min_shark::lexer::tests: Lexing input " '' " [INFO] [stdout] 2025-10-02T03:09:32.458296Z  INFO min_shark::lexer::tests: Lexing input " "" " [INFO] [stdout] 2025-10-02T03:09:32.458328Z  INFO min_shark::lexer::tests: Lexing input "!tcp&&(ip.src==10.10.0.0/16||(dstport>80&&dstport<=100))" [INFO] [stdout] 2025-10-02T03:09:32.458437Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "\r\n\x45\xdb"" [INFO] [stdout] 2025-10-02T03:09:32.458467Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "GET /(secret|password)"" [INFO] [stdout] 2025-10-02T03:09:32.458464Z  INFO min_shark::lexer::tests: Lexing input "srcport in { 22 , 80 }" [INFO] [stdout] 2025-10-02T03:09:32.458483Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "[[:ascii:]]{100}"" [INFO] [stdout] 2025-10-02T03:09:32.458496Z  INFO min_shark::lexer::tests: Lexing input "payload matches ".*Philips\\.HIF.*"" [INFO] [stdout] 2025-10-02T03:09:32.458502Z  INFO min_shark::lexer::tests: Lexing input "ip.src in {192.168.1.0/24}" [INFO] [stdout] 2025-10-02T03:09:32.458511Z  INFO min_shark::lexer::tests: Lexing input "port <= 0x16" [INFO] [stdout] 2025-10-02T03:09:32.458522Z  INFO min_shark::lexer::tests: Lexing input "ip.dst in {192.168.3.1, 10.0.0.0/8}" [INFO] [stdout] 2025-10-02T03:09:32.458524Z  INFO min_shark::lexer::tests: Lexing input "port <= 0b1100_1100" [INFO] [stdout] 2025-10-02T03:09:32.458541Z  INFO min_shark::lexer::tests: Lexing input "ip.src in{192.168.1.0/24}" [INFO] [stdout] 2025-10-02T03:09:32.458558Z  INFO min_shark::lexer::tests: Lexing input "ip.dst in{192.168.3.1,10.0.0.0/8}" [INFO] [stdout] 2025-10-02T03:09:32.458652Z  INFO min_shark::lexer::tests: Lexing input "eth.addr == 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:09:32.458682Z  INFO min_shark::lexer::tests: Lexing input "eth.src != 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:09:32.458698Z  INFO min_shark::lexer::tests: Lexing input "eth.dst eq 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:09:32.458713Z  INFO min_shark::lexer::tests: Lexing input "ip.addr == 1.2.3.4" [INFO] [stdout] 2025-10-02T03:09:32.458727Z  INFO min_shark::lexer::tests: Lexing input "ip.src == 1.2.3.4" [INFO] [stdout] 2025-10-02T03:09:32.458741Z  INFO min_shark::lexer::tests: Lexing input "ip.dst == 1.2.3.4" [INFO] [stdout] 2025-10-02T03:09:32.458768Z  INFO min_shark::lexer::tests: Lexing input "vlan.id == 12" [INFO] [stdout] 2025-10-02T03:09:32.458785Z  INFO min_shark::lexer::tests: Lexing input "port == 80" [INFO] [stdout] 2025-10-02T03:09:32.458798Z  INFO min_shark::lexer::tests: Lexing input "srcport == 80" [INFO] [stdout] 2025-10-02T03:09:32.458812Z  INFO min_shark::lexer::tests: Lexing input "dstport == 80" [INFO] [stdout] 2025-10-02T03:09:32.458825Z  INFO min_shark::lexer::tests: Lexing input "payload contains '00'" [INFO] [stdout] 2025-10-02T03:09:32.458839Z  INFO min_shark::lexer::tests: Lexing input "payload.len == 16" [INFO] [stdout] 2025-10-02T03:09:32.458917Z  INFO min_shark::driver::tests: Parsing input "tcp" [INFO] [stdout] 2025-10-02T03:09:32.458923Z  INFO min_shark::lexer::tests: Lexing input "tcp" [INFO] [stdout] 2025-10-02T03:09:32.458946Z  INFO min_shark::driver::tests: Parsing input "not udp" [INFO] [stdout] 2025-10-02T03:09:32.458955Z  INFO min_shark::lexer::tests: Lexing input "udp" [INFO] [stdout] 2025-10-02T03:09:32.458960Z  INFO min_shark::driver::tests: Parsing input "not udp and (not tcp or vlan)" [INFO] [stdout] 2025-10-02T03:09:32.458967Z  INFO min_shark::lexer::tests: Lexing input "vlan" [INFO] [stdout] 2025-10-02T03:09:32.458978Z  INFO min_shark::lexer::tests: Lexing input "arp" [INFO] [stdout] 2025-10-02T03:09:32.458982Z  INFO min_shark::driver::tests: Parsing input "port eq 25 or udp" [INFO] [stdout] 2025-10-02T03:09:32.459009Z  INFO min_shark::driver::tests: Parsing input "eth.addr contains 00:06:5B" [INFO] [stdout] 2025-10-02T03:09:32.459032Z  INFO min_shark::driver::tests: Parsing input "ip.addr == 10.43.54.65" [INFO] [stdout] 2025-10-02T03:09:32.459049Z  INFO min_shark::driver::tests: Parsing input "ip.src == 10.43.54.65 or ip.dst == 10.43.54.65" [INFO] [stdout] 2025-10-02T03:09:32.459080Z  INFO min_shark::driver::tests: Parsing input "! ( ip.addr == 10.43.54.65 )" [INFO] [stdout] 2025-10-02T03:09:32.459100Z  INFO min_shark::driver::tests: Parsing input "srcport in {8011, 8012, 8013} and tcp" [INFO] [stdout] 2025-10-02T03:09:32.459123Z  INFO min_shark::driver::tests: Parsing input "port in {8011, 8012, 8013} and tcp and payload contains 'MSH'" [INFO] [stdout] 2025-10-02T03:09:32.459154Z  INFO min_shark::driver::tests: Parsing input "payload matches "(?i)Workflowrx"" [INFO] [stdout] test lexer::tests::test_lex_no_whitespace ... ok [INFO] [stdout] test lexer::tests::test_lex_lots_of_whitespace ... ok [INFO] [stdout] test expression::tests::test_single_clause_ip_comparison_expressions ... ok [INFO] [stdout] test mac_addr::tests::test_hex2byte_invalid ... ok [INFO] [stdout] test lexer::tests::test_lex_nonsensical_inputs ... ok [INFO] [stdout] test mac_addr::tests::test_mac_eq ... ok [INFO] [stdout] test lexer::tests::test_lex_quotes ... ok [INFO] [stdout] test lexer::tests::test_lex_multiple_clauses ... ok [INFO] [stdout] test lexer::tests::test_lex_real_life_examples ... ok [INFO] [stdout] test lexer::tests::test_lex_set_operations ... ok [INFO] [stdout] test lexer::tests::test_lex_single_clause ... ok [INFO] [stdout] test lexer::tests::test_lex_single_term ... ok [INFO] [stdout] test mac_addr::tests::test_hex2byte ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_colon ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_dash ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_invalid ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_dot ... ok [INFO] [stdout] 2025-10-02T03:09:32.459878Z  INFO min_shark::parser::tests: Validating parse of not ip.dst not in {192.168.1.1/24, 10.1.1.0} as an expression Not(Single(IpDst(MatchNone([192.168.1.1/24, 10.1.1.0/32])))) [INFO] [stdout] 2025-10-02T03:09:32.459886Z  INFO min_shark::parser::tests: Parsing 'ip.addr == 55' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.459908Z  INFO min_shark::parser::tests: Validating parse of (vlan or (eth.addr in {00:11:22:33:44:55, 55:44:33:22:11:00} and ip.addr == 10.1.0.0/16 and not udp)) as an expression Or([Single(IsVlan), And([Single(EthAddr(MatchAny([00:11:22:33:44:55, 55:44:33:22:11:00]))), Single(IpAddr(Compare { op: Equal, val: 10.1.0.0/16 })), Not(Single(IsUdp))])]) [INFO] [stdout] 2025-10-02T03:09:32.459944Z  INFO min_shark::parser::tests: Parsing 'ip.addr == not-an-ip' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.459960Z  INFO min_shark::parser::tests: Parsing 'ip.addr in 192.168.1.1' as ip operations - should fail [INFO] [stdout] test parser::tests::test_parse_complex_statement_05 ... ok [INFO] [stdout] 2025-10-02T03:09:32.459974Z  INFO min_shark::parser::tests: Parsing 'ip.addr > ==' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.459987Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { 192.168.1.1, 192.168.1.1' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460007Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { 192.168.1.1, 192.168.1.1, }' as ip operations - should fail [INFO] [stdout] test parser::tests::test_parse_complex_statement_02 ... ok [INFO] [stdout] 2025-10-02T03:09:32.460026Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { }' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460067Z  INFO min_shark::parser::tests: Parsing 'payload.len == 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460098Z  INFO min_shark::parser::tests: Parsing 'payload.len eq 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460114Z  INFO min_shark::parser::tests: Parsing 'payload.len != 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460110Z  INFO min_shark::parser::tests: Parsing 'ip.addr eq 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460127Z  INFO min_shark::parser::tests: Parsing 'payload.len ne 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460138Z  INFO min_shark::parser::tests: Parsing 'ip.src == 192.168.1.1/32' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460142Z  INFO min_shark::parser::tests: Parsing 'payload.len > 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460155Z  INFO min_shark::parser::tests: Parsing 'payload.len gt 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460155Z  INFO min_shark::parser::tests: Parsing 'ip.dst != 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460168Z  INFO min_shark::parser::tests: Parsing 'payload.len >= 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460204Z  INFO min_shark::parser::tests: Parsing 'payload.len ge 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460218Z  INFO min_shark::parser::tests: Parsing 'payload.len < 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460232Z  INFO min_shark::parser::tests: Parsing 'payload.len lt 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460245Z  INFO min_shark::parser::tests: Parsing 'payload.len <= 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460226Z  INFO min_shark::parser::tests: Validating parse of vlan and (vlan.id in {1, 2} or ip.addr == 10.1.0.0/16) and not udp as an expression And([Single(IsVlan), Or([Single(VlanId(MatchAny([1, 2]))), Single(IpAddr(Compare { op: Equal, val: 10.1.0.0/16 }))]), Not(Single(IsUdp))]) [INFO] [stdout] 2025-10-02T03:09:32.460259Z  INFO min_shark::parser::tests: Parsing 'payload.len le 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460170Z  INFO min_shark::parser::tests: Parsing 'ip.addr gt 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460348Z  INFO min_shark::parser::tests: Parsing 'ip.addr ge 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460366Z  INFO min_shark::parser::tests: Parsing 'ip.addr lt 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460377Z  INFO min_shark::parser::tests: Parsing 'ip.addr le 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460388Z  INFO min_shark::parser::tests: Parsing 'ip.addr in {192.168.1.1, 192.168.1.1/32}' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.460440Z  INFO min_shark::parser::tests: Validating parse of payload matches 'something' and not payload ~ 'else' and payload ~ 'last' as an expression And([Single(Payload(RegexMatch(RegexMatcher(Regex("something"))))), Not(Single(Payload(RegexMatch(RegexMatcher(Regex("else")))))), Single(Payload(RegexMatch(RegexMatcher(Regex("last")))))]) [INFO] [stdout] 2025-10-02T03:09:32.460481Z  INFO min_shark::parser::tests: Parsing 'payload contains '' ' as a payload operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460507Z  INFO min_shark::parser::tests: Parsing 'payload ~ string' as a payload operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460519Z  INFO min_shark::parser::tests: Parsing 'payload ~ "" ' as a payload operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460537Z  INFO min_shark::parser::tests: Validating parse of not (eth.addr ~ 'something' and ip.addr == 10.1.0.0/16) as an expression Not(And([Single(EthAddr(RegexMatch(RegexMatcher(Regex("something"))))), Single(IpAddr(Compare { op: Equal, val: 10.1.0.0/16 }))])) [INFO] [stdout] 2025-10-02T03:09:32.460839Z  INFO min_shark::parser::tests: Parsing 'eth.src == ' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460868Z  INFO min_shark::parser::tests: Parsing 'eth.src == ''' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460881Z  INFO min_shark::parser::tests: Parsing 'eth.src == 'ab-cd-ef-01-23-45'' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460894Z  INFO min_shark::parser::tests: Parsing 'eth.src == string' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460906Z  INFO min_shark::parser::tests: Parsing 'eth.src in { ab-cd-ef-01-23-45,' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460925Z  INFO min_shark::parser::tests: Parsing 'eth.src in { ab-cd-ef-01-23-45, }' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460941Z  INFO min_shark::parser::tests: Parsing 'eth.src in { }' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.460966Z  INFO min_shark::parser::tests: Parsing 'vlan.id == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461005Z  INFO min_shark::parser::tests: Parsing 'vlan.id in{1}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461022Z  INFO min_shark::parser::tests: Parsing 'port eq 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461036Z  INFO min_shark::parser::tests: Parsing 'port in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461050Z  INFO min_shark::parser::tests: Parsing 'port not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461065Z  INFO min_shark::parser::tests: Parsing 'dstport == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461078Z  INFO min_shark::parser::tests: Parsing 'dstport in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461092Z  INFO min_shark::parser::tests: Parsing 'dstport not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461108Z  INFO min_shark::parser::tests: Parsing 'srcport == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461121Z  INFO min_shark::parser::tests: Parsing 'srcport in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461134Z  INFO min_shark::parser::tests: Parsing 'srcport not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461149Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461164Z  INFO min_shark::parser::tests: Parsing 'eth.addr in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461183Z  INFO min_shark::parser::tests: Parsing 'eth.addr not in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461201Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461196Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461221Z  INFO min_shark::parser::tests: Parsing 'eth.addr matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461228Z  INFO min_shark::parser::tests: Parsing 'eth.addr ne ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461247Z  INFO min_shark::parser::tests: Parsing 'eth.dst > ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461262Z  INFO min_shark::parser::tests: Parsing 'eth.src >= ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461278Z  INFO min_shark::parser::tests: Parsing 'eth.src < ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461294Z  INFO min_shark::parser::tests: Parsing 'eth.addr <= ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461335Z  INFO min_shark::parser::tests: Parsing 'eth.addr eq abcdef012345' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461352Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461368Z  INFO min_shark::parser::tests: Parsing 'eth.addr == abc.def.012.345' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461382Z  INFO min_shark::parser::tests: Parsing 'eth.src in {abcdef012345, abc.def.012.345}' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461405Z  INFO min_shark::parser::tests: Parsing 'eth.dst in { abcdef012345 }' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461422Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains ab' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461440Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains ab:cd:ef' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461456Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains 'string'' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461474Z  INFO min_shark::parser::tests: Parsing 'eth.dst contains "\x00string"' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461490Z  INFO min_shark::parser::tests: Parsing 'eth.dst ~ 'string'' as ethernet operations - should succeed [INFO] [stdout] test parser::tests::test_parse_ip_operations_failure ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_plain ... ok [INFO] [stdout] 2025-10-02T03:09:32.461812Z  INFO min_shark::parser::tests: Parsing 'eth.dst == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] test mac_addr::tests::test_to_string ... ok [INFO] [stdout] 2025-10-02T03:09:32.461844Z  INFO min_shark::parser::tests: Parsing 'eth.dst in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461864Z  INFO min_shark::parser::tests: Parsing 'eth.dst not in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] test parser::tests::test_parse_payload_len_operations_success ... ok [INFO] [stdout] 2025-10-02T03:09:32.461882Z  INFO min_shark::parser::tests: Parsing 'eth.dst contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461899Z  INFO min_shark::parser::tests: Parsing 'eth.dst matches 'string'' as multiple term clause - should succeed [INFO] [stdout] test parser::tests::test_parse_complex_statement_01 ... ok [INFO] [stdout] 2025-10-02T03:09:32.461892Z  INFO min_shark::parser::tests: Parsing 'tcp' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461929Z  INFO min_shark::parser::tests: Parsing 'udp' as single term clause - should succeed [INFO] [stdout] test parser::tests::test_parse_ip_operations_success ... ok [INFO] [stdout] 2025-10-02T03:09:32.461941Z  INFO min_shark::parser::tests: Parsing 'vlan' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461968Z  INFO min_shark::parser::tests: Parsing 'arp' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.461989Z  INFO min_shark::parser::tests: Parsing 'vlan.id == 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462012Z  INFO min_shark::parser::tests: Parsing 'eth.src == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462025Z  INFO min_shark::parser::tests: Parsing 'vlan.id != 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462040Z  INFO min_shark::parser::tests: Parsing 'eth.src in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462044Z  INFO min_shark::parser::tests: Parsing 'vlan.id > 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462060Z  INFO min_shark::parser::tests: Parsing 'vlan.id >= 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462060Z  INFO min_shark::parser::tests: Parsing 'eth.src not in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] test parser::tests::test_parse_payload_operations_failure ... 2025-10-02T03:09:32.462074Z  INFO min_shark::parser::tests: Parsing 'vlan.id < 55' as a value operations - should succeed [INFO] [stdout] ok [INFO] [stdout] 2025-10-02T03:09:32.462079Z  INFO min_shark::parser::tests: Parsing 'eth.src contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462071Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [111, 110, 99, 101, 32, 121, 111, 117]" [INFO] [stdout] 2025-10-02T03:09:32.462090Z  INFO min_shark::parser::tests: Parsing 'vlan.id <= 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462098Z  INFO min_shark::parser::tests: Parsing 'eth.src matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462104Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, 2}' as a value operations - should succeed [INFO] [stdout] test parser::tests::test_parse_complex_statement_03 ... ok [INFO] [stdout] 2025-10-02T03:09:32.462123Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [84, 104, 101, 32]" [INFO] [stdout] 2025-10-02T03:09:32.462138Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [105, 116, 46]" [INFO] [stdout] 2025-10-02T03:09:32.462151Z  INFO min_shark::expression::tests: Evaluating expression "payload matches "(?i)^THE TROUBLE.+$"" [INFO] [stdout] 2025-10-02T03:09:32.462152Z  INFO min_shark::parser::tests: Parsing 'payload contains ab' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462186Z  INFO min_shark::parser::tests: Parsing 'payload contains ab:cd:ef' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462205Z  INFO min_shark::parser::tests: Parsing 'payload contains ab-cd-ef' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462201Z  INFO min_shark::parser::tests: Parsing 'ip.addr == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462206Z  INFO min_shark::parser::tests: Parsing 'vlan.id == ""' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462221Z  INFO min_shark::parser::tests: Parsing 'payload contains 'string'' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462229Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462233Z  INFO min_shark::parser::tests: Parsing 'vlan.id == "55"' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462239Z  INFO min_shark::parser::tests: Parsing 'payload contains "\x00string"' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462246Z  INFO min_shark::parser::tests: Parsing 'vlan.id == not-a-number' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462248Z  INFO min_shark::parser::tests: Parsing 'ip.addr not in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462268Z  INFO min_shark::parser::tests: Parsing 'payload matches "string"' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462271Z  INFO min_shark::parser::tests: Parsing 'vlan.id in 55' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462279Z  INFO min_shark::parser::tests: Parsing 'ip.dst == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462287Z  INFO min_shark::parser::tests: Parsing 'vlan.id > ==' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462296Z  INFO min_shark::parser::tests: Parsing 'ip.dst in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462298Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, 2' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462333Z  INFO min_shark::parser::tests: Parsing 'ip.dst not in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462340Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, }' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462352Z  INFO min_shark::parser::tests: Parsing 'ip.src == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462355Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {}' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462368Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {,2}' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.462367Z  INFO min_shark::parser::tests: Parsing 'ip.src in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462385Z  INFO min_shark::parser::tests: Parsing 'ip.src not in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462443Z  INFO min_shark::parser::tests: Parsing 'payload contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462492Z  INFO min_shark::value_parsers::tests: Parsing "\" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462559Z  INFO min_shark::parser::tests: Parsing 'payload matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462567Z  INFO min_shark::value_parsers::tests: Parsing "simple string" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462586Z  INFO min_shark::value_parsers::tests: Parsing "\\escaped \\ slash \\" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462609Z  INFO min_shark::value_parsers::tests: Parsing "not an escape \w" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462687Z  INFO min_shark::value_parsers::tests: Parsing "(48, 48)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462720Z  INFO min_shark::value_parsers::tests: Parsing "(97, 48)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462731Z  INFO min_shark::value_parsers::tests: Parsing "(97, 50)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462741Z  INFO min_shark::value_parsers::tests: Parsing "(65, 98)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462766Z  INFO min_shark::value_parsers::tests: Parsing "(0, 0)" as ascii byte - should fail [INFO] [stdout] 2025-10-02T03:09:32.462788Z  INFO min_shark::value_parsers::tests: Parsing "(122, 48)" as ascii byte - should fail [INFO] [stdout] 2025-10-02T03:09:32.462798Z  INFO min_shark::value_parsers::tests: Parsing "(255, 48)" as ascii byte - should fail [INFO] [stdout] 2025-10-02T03:09:32.462795Z  INFO min_shark::parser::tests: Parsing 'payload.len eq 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:09:32.462996Z  INFO min_shark::value_parsers::tests: Parsing "127.0.0.1" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463034Z  INFO min_shark::value_parsers::tests: Parsing "192.168.12.34/16" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463038Z  INFO min_shark::value_parsers::tests: Parsing "\xFF" as escaped bytes - should succeed [INFO] [stdout] test parser::tests::test_parse_complex_statement_04 ... ok [INFO] [stdout] 2025-10-02T03:09:32.463048Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0/24" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463089Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0/32" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463098Z  INFO min_shark::value_parsers::tests: Parsing "00" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463112Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463117Z  INFO min_shark::value_parsers::tests: Parsing "0E" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463123Z  INFO min_shark::value_parsers::tests: Parsing "fd00::/32" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463128Z  INFO min_shark::value_parsers::tests: Parsing "001122334455" as byte string - should succeed [INFO] [stdout] test parser::tests::test_parse_ethernet_operations_failure ... 2025-10-02T03:09:32.463139Z  INFO min_shark::value_parsers::tests: Parsing "fd00::/16" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463168Z  INFO min_shark::value_parsers::tests: Parsing "fd00::1:2:3:4/16" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463191Z  INFO min_shark::value_parsers::tests: Parsing "1:2::3:4" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463201Z  INFO min_shark::value_parsers::tests: Parsing "1:2:3:4:5:6:77.77.88.88" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463199Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23-45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463228Z  INFO min_shark::value_parsers::tests: Parsing "AB-CD-EF-01-23-45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463252Z  INFO min_shark::value_parsers::tests: Parsing "foo\nbar\xFFbaz" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463257Z  INFO min_shark::value_parsers::tests: Parsing "ab:cd:ef:01:23:45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463267Z  INFO min_shark::value_parsers::tests: Parsing "\n" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463290Z  INFO min_shark::value_parsers::tests: Parsing "new line at the end\n" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463330Z  INFO min_shark::value_parsers::tests: Parsing "\nnew line at the start" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463355Z  INFO min_shark::value_parsers::tests: Parsing "something \t else" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463376Z  INFO min_shark::value_parsers::tests: Parsing "Null NULL NUL \x00" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463389Z  INFO min_shark::value_parsers::tests: Parsing "maybe nul \x0" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463407Z  INFO min_shark::value_parsers::tests: Parsing "windows style nl \r\n" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463418Z  INFO min_shark::value_parsers::tests: Parsing "\xa" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463432Z  INFO min_shark::value_parsers::tests: Parsing "\x1" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463440Z  INFO min_shark::value_parsers::tests: Parsing "\x-" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463455Z  INFO min_shark::value_parsers::tests: Parsing "\x12\xa1\xA1" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463464Z  INFO min_shark::value_parsers::tests: Parsing "\xaa\xbb\xcc" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463478Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \xa~" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463490Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x~~" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463509Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x~a" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463531Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463556Z  INFO min_shark::value_parsers::tests: Parsing "" as escaped bytes - should fail [INFO] [stdout] 2025-10-02T03:09:32.463573Z  INFO min_shark::value_parsers::tests: Parsing "��" as escaped bytes - should fail [INFO] [stdout] ok [INFO] [stdout] test parser::tests::test_parse_ethernet_operations_success ... ok [INFO] [stdout] test parser::tests::test_parse_single_term ... ok [INFO] [stdout] test parser::tests::test_parse_val_operations_success ... ok [INFO] [stdout] test expression::tests::test_single_clause_payload_expressions ... ok [INFO] [stdout] test parser::tests::test_parse_val_operations_failure ... ok [INFO] [stdout] test parser::tests::test_parse_payload_operations_success ... ok [INFO] [stdout] test value_parsers::tests::test_parse_ascii_byte ... ok [INFO] [stdout] test parser::tests::test_parse_multiple_terms_clause ... ok [INFO] [stdout] test value_parsers::tests::test_parse_escaped_string_as_byte ... ok [INFO] [stdout] 2025-10-02T03:09:32.463806Z  INFO min_shark::value_parsers::tests: Parsing "0" as u16 - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463839Z  INFO min_shark::value_parsers::tests: Parsing "4294967295" as u16 - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463855Z  INFO min_shark::value_parsers::tests: Parsing "25d" as u16 - should fail [INFO] [stdout] 2025-10-02T03:09:32.463866Z  INFO min_shark::value_parsers::tests: Parsing "-1" as u16 - should fail [INFO] [stdout] 2025-10-02T03:09:32.463874Z  INFO min_shark::value_parsers::tests: Parsing "4294967296" as u16 - should fail [INFO] [stdout] 2025-10-02T03:09:32.463898Z  INFO min_shark::value_parsers::tests: Parsing "" as u16 - should fail [INFO] [stdout] 2025-10-02T03:09:32.463908Z  INFO min_shark::value_parsers::tests: Parsing "��" as u16 - should fail [INFO] [stdout] 2025-10-02T03:09:32.463270Z  INFO min_shark::value_parsers::tests: Parsing "AB:CD:EF:01:23:45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.463992Z  INFO min_shark::value_parsers::tests: Parsing "abcdef012345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464009Z  INFO min_shark::value_parsers::tests: Parsing "ABCDEF012345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464028Z  INFO min_shark::value_parsers::tests: Parsing "abc.def.012.345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464039Z  INFO min_shark::value_parsers::tests: Parsing "ABC.DEF.012.345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464055Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:09:32.464072Z  INFO min_shark::value_parsers::tests: Parsing "12345" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:09:32.464083Z  INFO min_shark::value_parsers::tests: Parsing "some words" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:09:32.464099Z  INFO min_shark::value_parsers::tests: Parsing "-ab-cd-ef-01-23-45" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:09:32.464109Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23-45-" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:09:32.464119Z  INFO min_shark::value_parsers::tests: Parsing "" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:09:32.463231Z  INFO min_shark::value_parsers::tests: Parsing "1:2:3:4:5:6:4d4d:5858" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464192Z  INFO min_shark::value_parsers::tests: Parsing "fe80::1.2.3.4" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464215Z  INFO min_shark::value_parsers::tests: Parsing "::1" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464225Z  INFO min_shark::value_parsers::tests: Parsing "1::" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464233Z  INFO min_shark::value_parsers::tests: Parsing "::" as ip - should succeed [INFO] [stdout] 2025-10-02T03:09:32.464247Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1" as ip - should fail [INFO] [stdout] 2025-10-02T03:09:32.464270Z  INFO min_shark::value_parsers::tests: Parsing "fd00:" as ip - should fail [INFO] [stdout] 2025-10-02T03:09:32.464290Z  INFO min_shark::value_parsers::tests: Parsing "" as ip - should fail [INFO] [stdout] 2025-10-02T03:09:32.464316Z  INFO min_shark::value_parsers::tests: Parsing "��" as ip - should fail [INFO] [stdout] test value_parsers::tests::test_parse_u32 ... ok [INFO] [stdout] test value_parsers::tests::test_parse_mac_addr ... ok [INFO] [stdout] test value_parsers::tests::test_parse_ip_net ... ok [INFO] [stdout] 2025-10-02T03:09:32.463142Z  INFO min_shark::value_parsers::tests: Parsing "00:11:22:33:44:55" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:09:32.466353Z  INFO min_shark::value_parsers::tests: Parsing "00-11-22-33-44-55" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:09:32.466374Z  INFO min_shark::value_parsers::tests: Parsing "00:11-22:33-44:55" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:09:32.466365Z  INFO min_shark::parser::tests: Parsing 'payload.len == '55'' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.466389Z  INFO min_shark::value_parsers::tests: Parsing "" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466419Z  INFO min_shark::value_parsers::tests: Parsing "0" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466429Z  INFO min_shark::value_parsers::tests: Parsing "1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466449Z  INFO min_shark::value_parsers::tests: Parsing "a" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466458Z  INFO min_shark::value_parsers::tests: Parsing "A" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466467Z  INFO min_shark::value_parsers::tests: Parsing "x1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466476Z  INFO min_shark::value_parsers::tests: Parsing "~1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466499Z  INFO min_shark::value_parsers::tests: Parsing "10Z1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466510Z  INFO min_shark::value_parsers::tests: Parsing "10&20$30" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466532Z  INFO min_shark::value_parsers::tests: Parsing "10-1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466541Z  INFO min_shark::value_parsers::tests: Parsing "101" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466564Z  INFO min_shark::value_parsers::tests: Parsing "00-11^22" as byte string - should fail [INFO] [stdout] 2025-10-02T03:09:32.466575Z  INFO min_shark::value_parsers::tests: Parsing "00:11:22:Zz" as byte string - should fail [INFO] [stdout] test value_parsers::tests::test_parse_byte_string ... 2025-10-02T03:09:32.466395Z  INFO min_shark::parser::tests: Parsing 'payload.len == not_a_number' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.466688Z  INFO min_shark::parser::tests: Parsing 'payload.len == s0me' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.466721Z  INFO min_shark::parser::tests: Parsing 'payload.len in 55' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:09:32.466738Z  INFO min_shark::parser::tests: Parsing 'payload.len < ==' as a payload length operations - should fail [INFO] [stdout] ok [INFO] [stdout] test parser::tests::test_parse_payload_len_operations_failure ... ok [INFO] [stdout] 2025-10-02T03:09:32.468479Z  INFO min_shark::value_parsers::tests: Parsing "(ASCII|\x22\x12)" as regex - should succeed [INFO] [stdout] 2025-10-02T03:09:32.471360Z  INFO min_shark::driver::tests: Parsing input "eth.src == 00:10:9b:3a:53:fc or eth.dst == 00:10:9b:3a:53:fc" [INFO] [stdout] 2025-10-02T03:09:32.471413Z  INFO min_shark::driver::tests: Parsing input "ip.src != 192.168.0.1" [INFO] [stdout] 2025-10-02T03:09:32.471433Z  INFO min_shark::driver::tests: Parsing input "ip.dst == 2606:4700:4700::1111" [INFO] [stdout] 2025-10-02T03:09:32.471449Z  INFO min_shark::driver::tests: Parsing input "ip.dst >= 173.245.48.0 && ip.dst < 173.245.49.0" [INFO] [stdout] 2025-10-02T03:09:32.471469Z  INFO min_shark::driver::tests: Parsing input "ip.addr in {192.168.1.0/24}" [INFO] [stdout] 2025-10-02T03:09:32.471494Z  INFO min_shark::driver::tests: Parsing input "ip.dst in {192.168.3.1, 10.0.0.0/8}" [INFO] [stdout] 2025-10-02T03:09:32.471516Z  INFO min_shark::driver::tests: Parsing input "srcport < 1024" [INFO] [stdout] 2025-10-02T03:09:32.471531Z  INFO min_shark::driver::tests: Parsing input "payload.len > 50 and payload.len < 500" [INFO] [stdout] 2025-10-02T03:09:32.471550Z  INFO min_shark::driver::tests: Parsing input "payload matches "GET /secret"" [INFO] [stdout] 2025-10-02T03:09:32.471690Z  INFO min_shark::driver::tests: Parsing input "payload ~ '\r\n\x45\xdb'" [INFO] [stdout] 2025-10-02T03:09:32.471816Z  INFO min_shark::driver::tests: Parsing input "payload ~ "[[:ascii:]]{100}"" [INFO] [stdout] 2025-10-02T03:09:32.472353Z  INFO min_shark::driver::tests: Parsing input "payload ~ "^\x00BOOM\x00"" [INFO] [stdout] 2025-10-02T03:09:32.473577Z  INFO min_shark::driver::tests: Parsing input "ip.src == 192.168.1.7 || ip.dst == 1.2.3.4 && (srcport == 9 || dstport == 9)" [INFO] [stdout] 2025-10-02T03:09:32.473632Z  INFO min_shark::driver::tests: Parsing input "payload contains 'something'" [INFO] [stdout] 2025-10-02T03:09:32.473654Z  INFO min_shark::driver::tests: Parsing input "eth.src == 3f:43:9a:2c:00:00 or eth.dst contains 2c:9a:bb" [INFO] [stdout] test driver::tests::test_simple_expression_e2e ... ok [INFO] [stdout] 2025-10-02T03:09:32.477385Z  INFO min_shark::value_parsers::tests: Parsing "(?i)CaSeInSeNsItIvE" as regex - should succeed [INFO] [stdout] 2025-10-02T03:09:32.485220Z  INFO min_shark::expression::tests: Evaluating expression "eth == abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485282Z  INFO min_shark::expression::tests: Evaluating expression "eth.src == abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485294Z  INFO min_shark::expression::tests: Evaluating expression "eth == 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485321Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst == 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485331Z  INFO min_shark::expression::tests: Evaluating expression "eth >= abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485342Z  INFO min_shark::expression::tests: Evaluating expression "eth.src >= abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485351Z  INFO min_shark::expression::tests: Evaluating expression "eth >= 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485361Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst >= 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485371Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst > 010203040504" [INFO] [stdout] 2025-10-02T03:09:32.485381Z  INFO min_shark::expression::tests: Evaluating expression "eth <= abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485404Z  INFO min_shark::expression::tests: Evaluating expression "eth.src <= abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485414Z  INFO min_shark::expression::tests: Evaluating expression "eth <= 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485424Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst <= 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485443Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst < 010203040507" [INFO] [stdout] 2025-10-02T03:09:32.485453Z  INFO min_shark::expression::tests: Evaluating expression "eth.src != 010203040506" [INFO] [stdout] 2025-10-02T03:09:32.485475Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst != abcdef010203" [INFO] [stdout] 2025-10-02T03:09:32.485485Z  INFO min_shark::expression::tests: Evaluating expression "eth in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-10-02T03:09:32.485506Z  INFO min_shark::expression::tests: Evaluating expression "eth in [01:02:03:04:05:06]" [INFO] [stdout] 2025-10-02T03:09:32.485518Z  INFO min_shark::expression::tests: Evaluating expression "eth.src in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-10-02T03:09:32.485540Z  INFO min_shark::expression::tests: Evaluating expression "eth.src not in [01:02:03:04:05:06]" [INFO] [stdout] 2025-10-02T03:09:32.485551Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst in [01:02:03:04:05:06]" [INFO] [stdout] 2025-10-02T03:09:32.485570Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst not in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-10-02T03:09:32.485582Z  INFO min_shark::expression::tests: Evaluating expression "eth contains [171]" [INFO] [stdout] 2025-10-02T03:09:32.485614Z  INFO min_shark::expression::tests: Evaluating expression "eth contains [6]" [INFO] [stdout] 2025-10-02T03:09:32.485635Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst contains [6]" [INFO] [stdout] 2025-10-02T03:09:32.485655Z  INFO min_shark::expression::tests: Evaluating expression "eth.src contains [171]" [INFO] [stdout] 2025-10-02T03:09:32.485665Z  INFO min_shark::expression::tests: Evaluating expression "eth matches "(?-u).*\x03$"" [INFO] [stdout] 2025-10-02T03:09:32.485722Z  INFO min_shark::expression::tests: Evaluating expression "eth matches "(?-u).*\x06$"" [INFO] [stdout] 2025-10-02T03:09:32.485752Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst matches "(?-u).*\x06$"" [INFO] [stdout] 2025-10-02T03:09:32.485777Z  INFO min_shark::expression::tests: Evaluating expression "eth.src matches "(?-u).*\x03$"" [INFO] [stdout] test expression::tests::test_single_clause_ethernet_expressions ... ok [INFO] [stdout] 2025-10-02T03:09:32.505416Z  INFO min_shark::value_parsers::tests: Parsing "some words" as regex - should succeed [INFO] [stdout] 2025-10-02T03:09:32.505632Z  INFO min_shark::value_parsers::tests: Parsing "^\x00BOOM\x00" as regex - should succeed [INFO] [stdout] 2025-10-02T03:09:32.509734Z  INFO min_shark::value_parsers::tests: Parsing "[[:ascii:]]{100}" as regex - should succeed [INFO] [stdout] 2025-10-02T03:09:32.510316Z  INFO min_shark::value_parsers::tests: Parsing "GET /(secret|password)" as regex - should succeed [INFO] [stdout] 2025-10-02T03:09:32.518974Z  INFO min_shark::value_parsers::tests: Parsing "(1234" as regex - should fail [INFO] [stdout] 2025-10-02T03:09:32.519081Z  INFO min_shark::value_parsers::tests: Parsing "\" as regex - should fail [INFO] [stdout] 2025-10-02T03:09:32.519168Z  INFO min_shark::value_parsers::tests: Parsing "" as regex - should fail [INFO] [stdout] 2025-10-02T03:09:32.519219Z  INFO min_shark::value_parsers::tests: Parsing "��" as regex - should fail [INFO] [stdout] test value_parsers::tests::test_parse_regex ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Doc-tests min_shark [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "48e4e3688c35f98fab4bb6ab492f7165d6242188f447d8870c6481ddbb97e7d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "48e4e3688c35f98fab4bb6ab492f7165d6242188f447d8870c6481ddbb97e7d0", kill_on_drop: false }` [INFO] [stdout] 48e4e3688c35f98fab4bb6ab492f7165d6242188f447d8870c6481ddbb97e7d0