[INFO] fetching crate min_shark 0.6.0... [INFO] testing min_shark-0.6.0 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate min_shark 0.6.0 into /workspace/builds/worker-7-tc2/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-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate min_shark 0.6.0 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 56fa109eaf35fb2d99b204e0859fa75c4c55a5fcb6f57cd27e6b20aadb21c66e [INFO] running `Command { std: "docker" "start" "-a" "56fa109eaf35fb2d99b204e0859fa75c4c55a5fcb6f57cd27e6b20aadb21c66e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "56fa109eaf35fb2d99b204e0859fa75c4c55a5fcb6f57cd27e6b20aadb21c66e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "56fa109eaf35fb2d99b204e0859fa75c4c55a5fcb6f57cd27e6b20aadb21c66e", kill_on_drop: false }` [INFO] [stdout] 56fa109eaf35fb2d99b204e0859fa75c4c55a5fcb6f57cd27e6b20aadb21c66e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e145af3c7b35de2a98afa31dcde745794b7b7fa01f1af8463001b5fcef9eac01 [INFO] running `Command { std: "docker" "start" "-a" "e145af3c7b35de2a98afa31dcde745794b7b7fa01f1af8463001b5fcef9eac01", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling bstr v1.12.0 [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 10.57s [INFO] running `Command { std: "docker" "inspect" "e145af3c7b35de2a98afa31dcde745794b7b7fa01f1af8463001b5fcef9eac01", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e145af3c7b35de2a98afa31dcde745794b7b7fa01f1af8463001b5fcef9eac01", kill_on_drop: false }` [INFO] [stdout] e145af3c7b35de2a98afa31dcde745794b7b7fa01f1af8463001b5fcef9eac01 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 470daa62167b19cb0b533ec7cd2bf8ed21919d00ebf9d0869189ea5ba058edea [INFO] running `Command { std: "docker" "start" "-a" "470daa62167b19cb0b533ec7cd2bf8ed21919d00ebf9d0869189ea5ba058edea", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling derive_more v1.0.0 [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 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 13.07s [INFO] running `Command { std: "docker" "inspect" "470daa62167b19cb0b533ec7cd2bf8ed21919d00ebf9d0869189ea5ba058edea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "470daa62167b19cb0b533ec7cd2bf8ed21919d00ebf9d0869189ea5ba058edea", kill_on_drop: false }` [INFO] [stdout] 470daa62167b19cb0b533ec7cd2bf8ed21919d00ebf9d0869189ea5ba058edea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6e16a46f93e88d6693b7dbe818bb80a619c128d69b78b84585dd8e431bbdd531 [INFO] running `Command { std: "docker" "start" "-a" "6e16a46f93e88d6693b7dbe818bb80a619c128d69b78b84585dd8e431bbdd531", 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.08s [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_parse_error_bad_ip_val_01 ... ok [INFO] [stdout] test driver::tests::test_parse_error_bad_comparison_op ... ok [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_ip_val_02 ... ok [INFO] [stdout] test driver::tests::test_parse_error_empty_filter ... 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_whitespace ... ok [INFO] [stdout] test driver::tests::test_parse_error_missing_operation_eth ... ok [INFO] [stdout] test driver::tests::test_parse_error_wrong_missing_brace_eth ... ok [INFO] [stdout] test driver::tests::test_parse_error_wrong_closing_brace_ip ... ok [INFO] [stdout] test expression::tests::test_merge_and ... ok [INFO] [stdout] test expression::tests::test_mixed_merging ... ok [INFO] [stdout] test expression::tests::test_no_merge_or ... ok [INFO] [stdout] test expression::tests::test_no_merge_and ... ok [INFO] [stdout] 2025-10-02T03:10:00.289230Z  INFO min_shark::expression::tests: Evaluating expression "ip == 10.1.1.0/16" [INFO] [stdout] 2025-10-02T03:10:00.289290Z  INFO min_shark::expression::tests: Evaluating expression "ip == 192.168.66.1/24" [INFO] [stdout] 2025-10-02T03:10:00.289320Z  INFO min_shark::expression::tests: Evaluating expression "ip.src == 10.1.1.0/16" [INFO] [stdout] 2025-10-02T03:10:00.289273Z  INFO min_shark::expression::tests: Evaluating expression "payload.len >= 0" [INFO] [stdout] 2025-10-02T03:10:00.289332Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst == 192.168.66.1/24" [INFO] [stdout] 2025-10-02T03:10:00.289290Z  INFO min_shark::expression::tests: Evaluating expression "port == 26112" [INFO] [stdout] 2025-10-02T03:10:00.289338Z  INFO min_shark::expression::tests: Evaluating expression "payload.len > 0" [INFO] [stdout] 2025-10-02T03:10:00.289343Z  INFO min_shark::expression::tests: Evaluating expression "ip in [10.1.1.0/16]" [INFO] [stdout] 2025-10-02T03:10:00.289350Z  INFO min_shark::expression::tests: Evaluating expression "payload.len <= 100" [INFO] [stdout] 2025-10-02T03:10:00.289350Z  INFO min_shark::expression::tests: Evaluating expression "port == 80" [INFO] [stdout] 2025-10-02T03:10:00.289357Z  INFO min_shark::expression::tests: Evaluating expression "ip in [192.168.66.1/24]" [INFO] [stdout] 2025-10-02T03:10:00.289361Z  INFO min_shark::expression::tests: Evaluating expression "payload.len < 100" [INFO] [stdout] 2025-10-02T03:10:00.289363Z  INFO min_shark::expression::tests: Evaluating expression "srcport == 26112" [INFO] [stdout] 2025-10-02T03:10:00.289369Z  INFO min_shark::expression::tests: Evaluating expression "ip.src in [10.1.1.0/16]" [INFO] [stdout] 2025-10-02T03:10:00.289371Z  INFO min_shark::expression::tests: Evaluating expression "payload.len == 75" [INFO] [stdout] 2025-10-02T03:10:00.289373Z  INFO min_shark::expression::tests: Evaluating expression "dstport == 80" [INFO] [stdout] 2025-10-02T03:10:00.289379Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst in [192.168.66.1/24]" [INFO] [stdout] 2025-10-02T03:10:00.289381Z  INFO min_shark::expression::tests: Evaluating expression "payload.len != 16" [INFO] [stdout] 2025-10-02T03:10:00.289383Z  INFO min_shark::expression::tests: Evaluating expression "port in [26112]" [INFO] [stdout] 2025-10-02T03:10:00.289390Z  INFO min_shark::expression::tests: Evaluating expression "ip.src not in [192.168.66.1/24]" [INFO] [stdout] 2025-10-02T03:10:00.289397Z  INFO min_shark::expression::tests: Evaluating expression "port in [80]" [INFO] [stdout] 2025-10-02T03:10:00.289401Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst not in [10.1.1.0/16]" [INFO] [stdout] 2025-10-02T03:10:00.289407Z  INFO min_shark::expression::tests: Evaluating expression "port not in [1, 2, 3]" [INFO] [stdout] 2025-10-02T03:10:00.289418Z  INFO min_shark::expression::tests: Evaluating expression "srcport in [26112]" [INFO] [stdout] 2025-10-02T03:10:00.289428Z  INFO min_shark::expression::tests: Evaluating expression "dstport in [80]" [INFO] [stdout] 2025-10-02T03:10:00.289438Z  INFO min_shark::expression::tests: Evaluating expression "dstport not in [1, 2, 3]" [INFO] [stdout] 2025-10-02T03:10:00.289532Z  INFO min_shark::expression::tests: Evaluating expression "not tcp" [INFO] [stdout] test expression::tests::test_matcher_usage ... ok [INFO] [stdout] test expression::tests::test_single_clause_payload_len_expressions ... ok [INFO] [stdout] test expression::tests::test_single_clause_ip_expressions ... ok [INFO] [stdout] test expression::tests::test_single_clause_port_expressions ... ok [INFO] [stdout] test expression::tests::test_not_expression ... ok [INFO] [stdout] 2025-10-02T03:10:00.289864Z  INFO min_shark::expression::tests: Evaluating expression "vlan" [INFO] [stdout] 2025-10-02T03:10:00.289887Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id == 2" [INFO] [stdout] 2025-10-02T03:10:00.289899Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id != 3" [INFO] [stdout] 2025-10-02T03:10:00.289913Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id <= 2" [INFO] [stdout] 2025-10-02T03:10:00.289923Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id < 3" [INFO] [stdout] 2025-10-02T03:10:00.289941Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id >= 2" [INFO] [stdout] 2025-10-02T03:10:00.289951Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id > 1" [INFO] [stdout] 2025-10-02T03:10:00.289967Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id in [1, 2, 3, 4]" [INFO] [stdout] test expression::tests::test_single_clause_vlan_expressions ... ok [INFO] [stdout] test input::tests::test_input_error ... ok [INFO] [stdout] 2025-10-02T03:10:00.290297Z  INFO min_shark::lexer::tests: Lexing input "ip.addr == 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290355Z  INFO min_shark::lexer::tests: Lexing input "ip.addr eq 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290370Z  INFO min_shark::lexer::tests: Lexing input "ip.addr != 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290382Z  INFO min_shark::lexer::tests: Lexing input "ip.addr ne 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290394Z  INFO min_shark::lexer::tests: Lexing input "ip.addr > 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290405Z  INFO min_shark::lexer::tests: Lexing input "ip.addr gt 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290388Z  INFO min_shark::expression::tests: Evaluating expression "arp" [INFO] [stdout] 2025-10-02T03:10:00.290416Z  INFO min_shark::lexer::tests: Lexing input "ip.addr >= 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290422Z  INFO min_shark::expression::tests: Evaluating expression "arp" [INFO] [stdout] 2025-10-02T03:10:00.290429Z  INFO min_shark::lexer::tests: Lexing input "ip.addr ge 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290432Z  INFO min_shark::expression::tests: Evaluating expression "not arp" [INFO] [stdout] 2025-10-02T03:10:00.290443Z  INFO min_shark::lexer::tests: Lexing input "ip.addr < 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290443Z  INFO min_shark::expression::tests: Evaluating expression "not arp" [INFO] [stdout] 2025-10-02T03:10:00.290457Z  INFO min_shark::lexer::tests: Lexing input "ip.addr lt 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290471Z  INFO min_shark::lexer::tests: Lexing input "ip.addr <= 1.2.3.4/32" [INFO] [stdout] 2025-10-02T03:10:00.290484Z  INFO min_shark::lexer::tests: Lexing input "ip.addr le 1.2.3.4/32" [INFO] [stdout] test expression::tests::test_merge_two_and ... ok [INFO] [stdout] test expression::tests::test_single_clause_arp_expression ... ok [INFO] [stdout] test lexer::tests::test_lex_comparison_operations ... ok [INFO] [stdout] test expression::tests::test_merge_or ... ok [INFO] [stdout] 2025-10-02T03:10:00.290907Z  INFO min_shark::lexer::tests: Lexing input "payload ~ '^something[0-9]+'" [INFO] [stdout] 2025-10-02T03:10:00.290960Z  INFO min_shark::lexer::tests: Lexing input "payload matches '^something[0-9]+'" [INFO] [stdout] 2025-10-02T03:10:00.291727Z  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_merge_two_or ... ok [INFO] [stdout] test lexer::tests::test_lex_matches ... ok [INFO] [stdout] 2025-10-02T03:10:00.294131Z  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:10:00.291902Z  INFO min_shark::expression::tests: Evaluating expression "ip.src == 10.1.1.2/32" [INFO] [stdout] 2025-10-02T03:10:00.291999Z  INFO min_shark::lexer::tests: Lexing input "" [INFO] [stdout] 2025-10-02T03:10:00.292431Z  INFO min_shark::expression::tests: Evaluating expression "And([])" [INFO] [stdout] 2025-10-02T03:10:00.294195Z  INFO min_shark::expression::tests: Evaluating expression "ip.src != 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:10:00.294207Z  INFO min_shark::lexer::tests: Lexing input "!tcp && (ip.src == 10.10.0.0/16 || (dstport > 80 && dstport <= 100))" [INFO] [stdout] 2025-10-02T03:10:00.294212Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst == 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:10:00.294223Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst != 10.1.1.2/32" [INFO] [stdout] 2025-10-02T03:10:00.294221Z  INFO min_shark::expression::tests: Evaluating expression "Or([])" [INFO] [stdout] 2025-10-02T03:10:00.294231Z  INFO min_shark::expression::tests: Evaluating expression "ip.src >= 10.1.1.2/32" [INFO] [stdout] 2025-10-02T03:10:00.294234Z  INFO min_shark::lexer::tests: Lexing input "!tcp&&(ip.src==10.10.0.0/16||(dstport>80&&dstport<=100))" [INFO] [stdout] 2025-10-02T03:10:00.294240Z  INFO min_shark::expression::tests: Evaluating expression "ip.src >= 10.1.1.1/32" [INFO] [stdout] 2025-10-02T03:10:00.294249Z  INFO min_shark::expression::tests: Evaluating expression "ip.src > 10.1.1.1/32" [INFO] [stdout] 2025-10-02T03:10:00.294258Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst >= 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:10:00.294266Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst >= 192.168.66.0/32" [INFO] [stdout] 2025-10-02T03:10:00.294275Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst > 192.168.66.0/32" [INFO] [stdout] 2025-10-02T03:10:00.292511Z  INFO min_shark::expression::tests: Evaluating expression "tcp" [INFO] [stdout] 2025-10-02T03:10:00.294285Z  INFO min_shark::expression::tests: Evaluating expression "ip.src <= 10.1.1.2/32" [INFO] [stdout] 2025-10-02T03:10:00.294295Z  INFO min_shark::expression::tests: Evaluating expression "ip.src <= 10.1.1.3/32" [INFO] [stdout] 2025-10-02T03:10:00.292581Z  INFO min_shark::expression::tests: Evaluating expression "udp" [INFO] [stdout] 2025-10-02T03:10:00.294327Z  INFO min_shark::expression::tests: Evaluating expression "ip.src < 10.1.1.3/32" [INFO] [stdout] 2025-10-02T03:10:00.294338Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst <= 192.168.66.1/32" [INFO] [stdout] 2025-10-02T03:10:00.293469Z  INFO min_shark::expression::tests: Evaluating expression "(not arp and port in [80, 443])" [INFO] [stdout] 2025-10-02T03:10:00.294348Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst <= 192.168.66.2/32" [INFO] [stdout] 2025-10-02T03:10:00.294358Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst < 192.168.66.2/32" [INFO] [stdout] 2025-10-02T03:10:00.291954Z  INFO min_shark::lexer::tests: Lexing input "payload contains 00:11:22:33" [INFO] [stdout] 2025-10-02T03:10:00.294417Z  INFO min_shark::lexer::tests: Lexing input "eth.addr==00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:10:00.290973Z  INFO min_shark::lexer::tests: Lexing input "om =nom" [INFO] [stdout] 2025-10-02T03:10:00.294460Z  INFO min_shark::lexer::tests: Lexing input "'" [INFO] [stdout] 2025-10-02T03:10:00.294466Z  INFO min_shark::lexer::tests: Lexing input "payload contains 00:11:22:33 " [INFO] [stdout] 2025-10-02T03:10:00.294477Z  INFO min_shark::lexer::tests: Lexing input """ [INFO] [stdout] 2025-10-02T03:10:00.294487Z  INFO min_shark::lexer::tests: Lexing input "^" [INFO] [stdout] 2025-10-02T03:10:00.294497Z  INFO min_shark::lexer::tests: Lexing input "%" [INFO] [stdout] test input::tests::test_input_success ... ok [INFO] [stdout] test lexer::tests::test_lex_lots_of_whitespace ... ok [INFO] [stdout] 2025-10-02T03:10:00.294611Z  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_empty_expression ... ok [INFO] [stdout] 2025-10-02T03:10:00.294677Z  INFO min_shark::lexer::tests: Lexing input "om nom nom" [INFO] [stdout] 2025-10-02T03:10:00.294706Z  INFO min_shark::lexer::tests: Lexing input "'boo'((boom-------" [INFO] [stdout] test lexer::tests::test_lex_multiple_clauses ... ok [INFO] [stdout] 2025-10-02T03:10:00.294720Z  INFO min_shark::lexer::tests: Lexing input "==)('')" [INFO] [stdout] 2025-10-02T03:10:00.294748Z  INFO min_shark::lexer::tests: Lexing input "''" [INFO] [stdout] test expression::tests::test_single_clause_tcp_expression ... ok [INFO] [stdout] 2025-10-02T03:10:00.294791Z  INFO min_shark::lexer::tests: Lexing input "''""''" [INFO] [stdout] 2025-10-02T03:10:00.294823Z  INFO min_shark::lexer::tests: Lexing input "'"'" [INFO] [stdout] 2025-10-02T03:10:00.294837Z  INFO min_shark::lexer::tests: Lexing input ""t"" [INFO] [stdout] 2025-10-02T03:10:00.294868Z  INFO min_shark::lexer::tests: Lexing input " '' " [INFO] [stdout] 2025-10-02T03:10:00.294832Z  INFO min_shark::lexer::tests: Lexing input "srcport in { 22 , 80 }" [INFO] [stdout] 2025-10-02T03:10:00.294889Z  INFO min_shark::lexer::tests: Lexing input " "" " [INFO] [stdout] test expression::tests::test_single_clause_udp_expression ... ok [INFO] [stdout] 2025-10-02T03:10:00.294959Z  INFO min_shark::lexer::tests: Lexing input "eth.addr == 00-B0-D0-63-C2-26" [INFO] [stdout] test expression::tests::test_complex_not_arp_expression ... 2025-10-02T03:10:00.294967Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "\r\n\x45\xdb"" [INFO] [stdout] 2025-10-02T03:10:00.295017Z  INFO min_shark::lexer::tests: Lexing input "eth.src != 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:10:00.295038Z  INFO min_shark::lexer::tests: Lexing input "eth.dst eq 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-10-02T03:10:00.295054Z  INFO min_shark::lexer::tests: Lexing input "ip.addr == 1.2.3.4" [INFO] [stdout] 2025-10-02T03:10:00.295045Z  INFO min_shark::lexer::tests: Lexing input "tcp" [INFO] [stdout] 2025-10-02T03:10:00.295049Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "GET /(secret|password)"" [INFO] [stdout] 2025-10-02T03:10:00.295068Z  INFO min_shark::lexer::tests: Lexing input "ip.src == 1.2.3.4" [INFO] [stdout] 2025-10-02T03:10:00.295073Z  INFO min_shark::lexer::tests: Lexing input "udp" [INFO] [stdout] 2025-10-02T03:10:00.295074Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "[[:ascii:]]{100}"" [INFO] [stdout] 2025-10-02T03:10:00.295082Z  INFO min_shark::lexer::tests: Lexing input "ip.dst == 1.2.3.4" [INFO] [stdout] 2025-10-02T03:10:00.295085Z  INFO min_shark::lexer::tests: Lexing input "vlan" [INFO] [stdout] 2025-10-02T03:10:00.295090Z  INFO min_shark::lexer::tests: Lexing input "payload matches ".*Philips\\.HIF.*"" [INFO] [stdout] 2025-10-02T03:10:00.295096Z  INFO min_shark::lexer::tests: Lexing input "vlan.id == 12" [INFO] [stdout] 2025-10-02T03:10:00.295096Z  INFO min_shark::lexer::tests: Lexing input "arp" [INFO] [stdout] 2025-10-02T03:10:00.295104Z  INFO min_shark::lexer::tests: Lexing input "port <= 0x16" [INFO] [stdout] 2025-10-02T03:10:00.295109Z  INFO min_shark::lexer::tests: Lexing input "port == 80" [INFO] [stdout] 2025-10-02T03:10:00.295115Z  INFO min_shark::lexer::tests: Lexing input "port <= 0b1100_1100" [INFO] [stdout] 2025-10-02T03:10:00.295121Z  INFO min_shark::lexer::tests: Lexing input "srcport == 80" [INFO] [stdout] 2025-10-02T03:10:00.295134Z  INFO min_shark::lexer::tests: Lexing input "dstport == 80" [INFO] [stdout] 2025-10-02T03:10:00.295148Z  INFO min_shark::lexer::tests: Lexing input "payload contains '00'" [INFO] [stdout] 2025-10-02T03:10:00.293791Z  INFO min_shark::expression::tests: Evaluating expression "eth == abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295179Z  INFO min_shark::lexer::tests: Lexing input "payload.len == 16" [INFO] [stdout] 2025-10-02T03:10:00.295186Z  INFO min_shark::expression::tests: Evaluating expression "eth.src == abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295214Z  INFO min_shark::expression::tests: Evaluating expression "eth == 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295238Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst == 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295248Z  INFO min_shark::lexer::tests: Lexing input "ip.src in {192.168.1.0/24}" [INFO] [stdout] 2025-10-02T03:10:00.295260Z  INFO min_shark::expression::tests: Evaluating expression "eth >= abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295274Z  INFO min_shark::lexer::tests: Lexing input "ip.dst in {192.168.3.1, 10.0.0.0/8}" [INFO] [stdout] 2025-10-02T03:10:00.295282Z  INFO min_shark::expression::tests: Evaluating expression "eth.src >= abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295293Z  INFO min_shark::lexer::tests: Lexing input "ip.src in{192.168.1.0/24}" [INFO] [stdout] 2025-10-02T03:10:00.295319Z  INFO min_shark::expression::tests: Evaluating expression "eth >= 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295329Z  INFO min_shark::lexer::tests: Lexing input "ip.dst in{192.168.3.1,10.0.0.0/8}" [INFO] [stdout] ok [INFO] [stdout] test expression::tests::test_single_clause_ip_comparison_expressions ... ok [INFO] [stdout] test lexer::tests::test_lex_empty_input ... ok [INFO] [stdout] 2025-10-02T03:10:00.295342Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst >= 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295619Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst > 010203040504" [INFO] [stdout] 2025-10-02T03:10:00.295643Z  INFO min_shark::expression::tests: Evaluating expression "eth <= abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295654Z  INFO min_shark::expression::tests: Evaluating expression "eth.src <= abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295671Z  INFO min_shark::expression::tests: Evaluating expression "eth <= 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295682Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst <= 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295699Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst < 010203040507" [INFO] [stdout] 2025-10-02T03:10:00.295709Z  INFO min_shark::expression::tests: Evaluating expression "eth.src != 010203040506" [INFO] [stdout] 2025-10-02T03:10:00.295724Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst != abcdef010203" [INFO] [stdout] 2025-10-02T03:10:00.295734Z  INFO min_shark::expression::tests: Evaluating expression "eth in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-10-02T03:10:00.295759Z  INFO min_shark::expression::tests: Evaluating expression "eth in [01:02:03:04:05:06]" [INFO] [stdout] 2025-10-02T03:10:00.295770Z  INFO min_shark::expression::tests: Evaluating expression "eth.src in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-10-02T03:10:00.295786Z  INFO min_shark::expression::tests: Evaluating expression "eth.src not in [01:02:03:04:05:06]" [INFO] [stdout] 2025-10-02T03:10:00.295796Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst in [01:02:03:04:05:06]" [INFO] [stdout] 2025-10-02T03:10:00.295814Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst not in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-10-02T03:10:00.295824Z  INFO min_shark::expression::tests: Evaluating expression "eth contains [171]" [INFO] [stdout] 2025-10-02T03:10:00.295862Z  INFO min_shark::expression::tests: Evaluating expression "eth contains [6]" [INFO] [stdout] 2025-10-02T03:10:00.295879Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst contains [6]" [INFO] [stdout] 2025-10-02T03:10:00.295891Z  INFO min_shark::expression::tests: Evaluating expression "eth.src contains [171]" [INFO] [stdout] 2025-10-02T03:10:00.295908Z  INFO min_shark::expression::tests: Evaluating expression "eth matches "(?-u).*\x03$"" [INFO] [stdout] 2025-10-02T03:10:00.295954Z  INFO min_shark::expression::tests: Evaluating expression "eth matches "(?-u).*\x06$"" [INFO] [stdout] 2025-10-02T03:10:00.295985Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst matches "(?-u).*\x06$"" [INFO] [stdout] 2025-10-02T03:10:00.296030Z  INFO min_shark::expression::tests: Evaluating expression "eth.src matches "(?-u).*\x03$"" [INFO] [stdout] test lexer::tests::test_lex_no_whitespace ... ok [INFO] [stdout] test lexer::tests::test_lex_contains ... ok [INFO] [stdout] test lexer::tests::test_lex_errors ... ok [INFO] [stdout] test lexer::tests::test_lex_nonsensical_inputs ... ok [INFO] [stdout] test expression::tests::test_composite_expression ... ok [INFO] [stdout] test lexer::tests::test_lex_quotes ... ok [INFO] [stdout] test lexer::tests::test_lex_single_term ... ok [INFO] [stdout] test lexer::tests::test_lex_real_life_examples ... ok [INFO] [stdout] test lexer::tests::test_lex_single_clause ... ok [INFO] [stdout] test lexer::tests::test_lex_set_operations ... ok [INFO] [stdout] test mac_addr::tests::test_hex2byte_invalid ... ok [INFO] [stdout] test mac_addr::tests::test_mac_eq ... ok [INFO] [stdout] 2025-10-02T03:10:00.296636Z  INFO min_shark::parser::tests: Parsing 'eth.src == ' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.296680Z  INFO min_shark::parser::tests: Parsing 'eth.src == ''' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.296716Z  INFO min_shark::parser::tests: Parsing 'eth.src == 'ab-cd-ef-01-23-45'' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.296747Z  INFO min_shark::parser::tests: Parsing 'eth.src == string' as ethernet operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.296771Z  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:10:00.296797Z  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:10:00.296822Z  INFO min_shark::parser::tests: Parsing 'eth.src in { }' as ethernet operations - should fail [INFO] [stdout] test expression::tests::test_single_clause_ethernet_expressions ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_colon ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_invalid ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_dash ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_plain ... ok [INFO] [stdout] test mac_addr::tests::test_to_string ... ok [INFO] [stdout] test mac_addr::tests::test_hex2byte ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_dot ... ok [INFO] [stdout] test parser::tests::test_parse_ethernet_operations_failure ... ok [INFO] [stdout] 2025-10-02T03:10:00.297198Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297232Z  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:10:00.297257Z  INFO min_shark::parser::tests: Parsing 'eth.dst > ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297242Z  INFO min_shark::parser::tests: Parsing 'tcp' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297273Z  INFO min_shark::parser::tests: Parsing 'eth.src >= ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297284Z  INFO min_shark::parser::tests: Parsing 'udp' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297296Z  INFO min_shark::parser::tests: Parsing 'vlan' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297297Z  INFO min_shark::parser::tests: Parsing 'eth.src < ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297326Z  INFO min_shark::parser::tests: Parsing 'arp' as single term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297339Z  INFO min_shark::parser::tests: Parsing 'eth.addr <= ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297363Z  INFO min_shark::parser::tests: Parsing 'eth.addr eq abcdef012345' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297377Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297398Z  INFO min_shark::parser::tests: Parsing 'eth.addr == abc.def.012.345' as ethernet operations - should succeed [INFO] [stdout] test parser::tests::test_parse_single_term ... ok [INFO] [stdout] 2025-10-02T03:10:00.297414Z  INFO min_shark::parser::tests: Parsing 'eth.src in {abcdef012345, abc.def.012.345}' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297436Z  INFO min_shark::parser::tests: Parsing 'eth.dst in { abcdef012345 }' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297461Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains ab' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297489Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains ab:cd:ef' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297510Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains 'string'' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297503Z  INFO min_shark::parser::tests: Parsing 'vlan.id == ""' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297530Z  INFO min_shark::parser::tests: Parsing 'eth.dst contains "\x00string"' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297535Z  INFO min_shark::parser::tests: Parsing 'vlan.id == "55"' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297550Z  INFO min_shark::parser::tests: Parsing 'vlan.id == not-a-number' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297583Z  INFO min_shark::parser::tests: Parsing 'vlan.id in 55' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297599Z  INFO min_shark::parser::tests: Parsing 'vlan.id > ==' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297605Z  INFO min_shark::parser::tests: Parsing 'payload.len == '55'' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297611Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, 2' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297630Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, }' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297647Z  INFO min_shark::parser::tests: Parsing 'ip.addr == 55' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297670Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {}' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297685Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {,2}' as a value operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297684Z  INFO min_shark::parser::tests: Parsing 'ip.addr == not-an-ip' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297704Z  INFO min_shark::parser::tests: Parsing 'ip.addr in 192.168.1.1' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297728Z  INFO min_shark::parser::tests: Parsing 'ip.addr > ==' as ip operations - should fail [INFO] [stdout] test parser::tests::test_parse_val_operations_failure ... ok [INFO] [stdout] 2025-10-02T03:10:00.297748Z  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:10:00.297771Z  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:10:00.297798Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { }' as ip operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297824Z  INFO min_shark::parser::tests: Parsing 'vlan.id == 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297857Z  INFO min_shark::parser::tests: Parsing 'vlan.id != 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297872Z  INFO min_shark::parser::tests: Parsing 'vlan.id > 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297894Z  INFO min_shark::parser::tests: Parsing 'vlan.id >= 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297906Z  INFO min_shark::parser::tests: Parsing 'vlan.id < 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297919Z  INFO min_shark::parser::tests: Parsing 'vlan.id <= 55' as a value operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297931Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, 2}' as a value operations - should succeed [INFO] [stdout] test parser::tests::test_parse_ip_operations_failure ... ok [INFO] [stdout] test parser::tests::test_parse_val_operations_success ... ok [INFO] [stdout] 2025-10-02T03:10:00.297549Z  INFO min_shark::parser::tests: Parsing 'eth.dst ~ 'string'' as ethernet operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.297922Z  INFO min_shark::parser::tests: Parsing 'payload contains '' ' as a payload operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.298075Z  INFO min_shark::parser::tests: Parsing 'payload ~ string' as a payload operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.298068Z  INFO min_shark::value_parsers::tests: Parsing "(48, 48)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298090Z  INFO min_shark::value_parsers::tests: Parsing "(97, 48)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298092Z  INFO min_shark::parser::tests: Parsing 'payload ~ "" ' as a payload operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.298101Z  INFO min_shark::value_parsers::tests: Parsing "(97, 50)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298110Z  INFO min_shark::value_parsers::tests: Parsing "(65, 98)" as ascii byte - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298123Z  INFO min_shark::value_parsers::tests: Parsing "(0, 0)" as ascii byte - should fail [INFO] [stdout] 2025-10-02T03:10:00.298132Z  INFO min_shark::value_parsers::tests: Parsing "(122, 48)" as ascii byte - should fail [INFO] [stdout] 2025-10-02T03:10:00.298142Z  INFO min_shark::value_parsers::tests: Parsing "(255, 48)" as ascii byte - should fail [INFO] [stdout] test parser::tests::test_parse_payload_operations_failure ... ok [INFO] [stdout] test value_parsers::tests::test_parse_ascii_byte ... ok [INFO] [stdout] 2025-10-02T03:10:00.298364Z  INFO min_shark::value_parsers::tests: Parsing "127.0.0.1" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298393Z  INFO min_shark::value_parsers::tests: Parsing "192.168.12.34/16" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298411Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0/24" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298422Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0/32" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298433Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298442Z  INFO min_shark::value_parsers::tests: Parsing "fd00::/32" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298457Z  INFO min_shark::value_parsers::tests: Parsing "fd00::/16" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298469Z  INFO min_shark::value_parsers::tests: Parsing "fd00::1:2:3:4/16" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298484Z  INFO min_shark::value_parsers::tests: Parsing "1:2::3:4" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298494Z  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:10:00.298503Z  INFO min_shark::value_parsers::tests: Parsing "1:2:3:4:5:6:4d4d:5858" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298513Z  INFO min_shark::value_parsers::tests: Parsing "fe80::1.2.3.4" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298522Z  INFO min_shark::value_parsers::tests: Parsing "::1" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298530Z  INFO min_shark::value_parsers::tests: Parsing "1::" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298538Z  INFO min_shark::value_parsers::tests: Parsing "::" as ip - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298559Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1" as ip - should fail [INFO] [stdout] test parser::tests::test_parse_ethernet_operations_success ... ok [INFO] [stdout] 2025-10-02T03:10:00.298581Z  INFO min_shark::value_parsers::tests: Parsing "fd00:" as ip - should fail [INFO] [stdout] 2025-10-02T03:10:00.298595Z  INFO min_shark::value_parsers::tests: Parsing "" as ip - should fail [INFO] [stdout] 2025-10-02T03:10:00.298606Z  INFO min_shark::value_parsers::tests: Parsing "��" as ip - should fail [INFO] [stdout] 2025-10-02T03:10:00.298664Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23-45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298696Z  INFO min_shark::value_parsers::tests: Parsing "AB-CD-EF-01-23-45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298707Z  INFO min_shark::value_parsers::tests: Parsing "ab:cd:ef:01:23:45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298723Z  INFO min_shark::value_parsers::tests: Parsing "AB:CD:EF:01:23:45" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298734Z  INFO min_shark::value_parsers::tests: Parsing "abcdef012345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298756Z  INFO min_shark::value_parsers::tests: Parsing "ABCDEF012345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298766Z  INFO min_shark::value_parsers::tests: Parsing "abc.def.012.345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298776Z  INFO min_shark::value_parsers::tests: Parsing "ABC.DEF.012.345" as mac-address - should succeed [INFO] [stdout] 2025-10-02T03:10:00.298790Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:10:00.298802Z  INFO min_shark::value_parsers::tests: Parsing "12345" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:10:00.298812Z  INFO min_shark::value_parsers::tests: Parsing "some words" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:10:00.298831Z  INFO min_shark::value_parsers::tests: Parsing "-ab-cd-ef-01-23-45" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:10:00.298841Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23-45-" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:10:00.298855Z  INFO min_shark::value_parsers::tests: Parsing "" as mac-address - should fail [INFO] [stdout] 2025-10-02T03:10:00.299379Z  INFO min_shark::value_parsers::tests: Parsing "00" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299438Z  INFO min_shark::value_parsers::tests: Parsing "0E" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299451Z  INFO min_shark::value_parsers::tests: Parsing "001122334455" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299462Z  INFO min_shark::value_parsers::tests: Parsing "00:11:22:33:44:55" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299478Z  INFO min_shark::value_parsers::tests: Parsing "00-11-22-33-44-55" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299462Z  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:10:00.299550Z  INFO min_shark::value_parsers::tests: Parsing "\" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299567Z  INFO min_shark::value_parsers::tests: Parsing "simple string" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299581Z  INFO min_shark::value_parsers::tests: Parsing "\\escaped \\ slash \\" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299594Z  INFO min_shark::value_parsers::tests: Parsing "not an escape \w" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299611Z  INFO min_shark::value_parsers::tests: Parsing "\xFF" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299621Z  INFO min_shark::value_parsers::tests: Parsing "foo\nbar\xFFbaz" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299632Z  INFO min_shark::value_parsers::tests: Parsing "\n" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299642Z  INFO min_shark::value_parsers::tests: Parsing "new line at the end\n" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299655Z  INFO min_shark::value_parsers::tests: Parsing "\nnew line at the start" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299670Z  INFO min_shark::value_parsers::tests: Parsing "something \t else" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299682Z  INFO min_shark::value_parsers::tests: Parsing "Null NULL NUL \x00" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299695Z  INFO min_shark::value_parsers::tests: Parsing "maybe nul \x0" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299708Z  INFO min_shark::value_parsers::tests: Parsing "windows style nl \r\n" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299721Z  INFO min_shark::value_parsers::tests: Parsing "\xa" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299730Z  INFO min_shark::value_parsers::tests: Parsing "\x1" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299739Z  INFO min_shark::value_parsers::tests: Parsing "\x-" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299748Z  INFO min_shark::value_parsers::tests: Parsing "\x12\xa1\xA1" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299726Z  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:10:00.299770Z  INFO min_shark::value_parsers::tests: Parsing "\xaa\xbb\xcc" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299783Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \xa~" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299797Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x~~" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299811Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x~a" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299824Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x" as escaped bytes - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299843Z  INFO min_shark::value_parsers::tests: Parsing "" as escaped bytes - should fail [INFO] [stdout] 2025-10-02T03:10:00.299852Z  INFO min_shark::value_parsers::tests: Parsing "��" as escaped bytes - should fail [INFO] [stdout] 2025-10-02T03:10:00.299489Z  INFO min_shark::value_parsers::tests: Parsing "00:11-22:33-44:55" as byte string - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299878Z  INFO min_shark::value_parsers::tests: Parsing "" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299887Z  INFO min_shark::value_parsers::tests: Parsing "0" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299895Z  INFO min_shark::value_parsers::tests: Parsing "1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299903Z  INFO min_shark::value_parsers::tests: Parsing "a" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299911Z  INFO min_shark::value_parsers::tests: Parsing "A" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299918Z  INFO min_shark::value_parsers::tests: Parsing "x1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299927Z  INFO min_shark::value_parsers::tests: Parsing "~1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299935Z  INFO min_shark::value_parsers::tests: Parsing "10Z1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299944Z  INFO min_shark::value_parsers::tests: Parsing "10&20$30" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299953Z  INFO min_shark::value_parsers::tests: Parsing "10-1" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299962Z  INFO min_shark::value_parsers::tests: Parsing "101" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299970Z  INFO min_shark::value_parsers::tests: Parsing "00-11^22" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.299979Z  INFO min_shark::value_parsers::tests: Parsing "00:11:22:Zz" as byte string - should fail [INFO] [stdout] 2025-10-02T03:10:00.300150Z  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:10:00.297631Z  INFO min_shark::parser::tests: Parsing 'payload.len == not_a_number' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.300321Z  INFO min_shark::parser::tests: Parsing 'payload.len == s0me' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.300346Z  INFO min_shark::parser::tests: Parsing 'payload.len in 55' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.300361Z  INFO min_shark::parser::tests: Parsing 'payload.len < ==' as a payload length operations - should fail [INFO] [stdout] 2025-10-02T03:10:00.297545Z  INFO min_shark::parser::tests: Parsing 'vlan.id == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300396Z  INFO min_shark::parser::tests: Parsing 'vlan.id in{1}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300414Z  INFO min_shark::parser::tests: Parsing 'port eq 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300426Z  INFO min_shark::parser::tests: Parsing 'port in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300443Z  INFO min_shark::parser::tests: Parsing 'port not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300457Z  INFO min_shark::parser::tests: Parsing 'dstport == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300468Z  INFO min_shark::parser::tests: Parsing 'dstport in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300461Z  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:10:00.300481Z  INFO min_shark::parser::tests: Parsing 'dstport not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300494Z  INFO min_shark::parser::tests: Parsing 'srcport == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300505Z  INFO min_shark::parser::tests: Parsing 'srcport in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300517Z  INFO min_shark::parser::tests: Parsing 'srcport not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300530Z  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:10:00.300544Z  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:10:00.300550Z  INFO min_shark::parser::tests: Parsing 'ip.addr eq 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300559Z  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:10:00.300574Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300575Z  INFO min_shark::parser::tests: Parsing 'ip.src == 192.168.1.1/32' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300590Z  INFO min_shark::parser::tests: Parsing 'eth.addr matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300593Z  INFO min_shark::parser::tests: Parsing 'ip.dst != 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300607Z  INFO min_shark::parser::tests: Parsing 'ip.addr gt 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300621Z  INFO min_shark::parser::tests: Parsing 'ip.addr ge 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300635Z  INFO min_shark::parser::tests: Parsing 'ip.addr lt 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300648Z  INFO min_shark::parser::tests: Parsing 'ip.addr le 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300662Z  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:10:00.300697Z  INFO min_shark::parser::tests: Parsing 'eth.dst == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300718Z  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:10:00.300735Z  INFO min_shark::parser::tests: Parsing 'eth.dst not in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300754Z  INFO min_shark::parser::tests: Parsing 'eth.dst contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300752Z  INFO min_shark::parser::tests: Parsing 'payload.len == 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300768Z  INFO min_shark::parser::tests: Parsing 'eth.dst matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300779Z  INFO min_shark::parser::tests: Parsing 'payload.len eq 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300794Z  INFO min_shark::parser::tests: Parsing 'payload.len != 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300808Z  INFO min_shark::parser::tests: Parsing 'payload.len ne 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300822Z  INFO min_shark::parser::tests: Parsing 'payload.len > 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300837Z  INFO min_shark::parser::tests: Parsing 'payload.len gt 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300845Z  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:10:00.300851Z  INFO min_shark::parser::tests: Parsing 'payload.len >= 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300865Z  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:10:00.300865Z  INFO min_shark::parser::tests: Parsing 'payload.len ge 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300879Z  INFO min_shark::parser::tests: Parsing 'eth.src not in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300879Z  INFO min_shark::parser::tests: Parsing 'payload.len < 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300895Z  INFO min_shark::parser::tests: Parsing 'eth.src contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300894Z  INFO min_shark::parser::tests: Parsing 'payload.len lt 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300909Z  INFO min_shark::parser::tests: Parsing 'eth.src matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300909Z  INFO min_shark::parser::tests: Parsing 'payload.len <= 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300923Z  INFO min_shark::parser::tests: Parsing 'payload.len le 55' as a payload length operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.300988Z  INFO min_shark::parser::tests: Parsing 'ip.addr == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301008Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301023Z  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:10:00.301038Z  INFO min_shark::parser::tests: Parsing 'ip.dst == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301050Z  INFO min_shark::parser::tests: Parsing 'ip.dst in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301064Z  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:10:00.301078Z  INFO min_shark::parser::tests: Parsing 'ip.src == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301090Z  INFO min_shark::parser::tests: Parsing 'ip.src in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301103Z  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:10:00.301117Z  INFO min_shark::parser::tests: Parsing 'payload contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301132Z  INFO min_shark::parser::tests: Parsing 'payload matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301155Z  INFO min_shark::parser::tests: Parsing 'payload contains ab' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301185Z  INFO min_shark::parser::tests: Parsing 'payload contains ab:cd:ef' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301203Z  INFO min_shark::parser::tests: Parsing 'payload contains ab-cd-ef' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301207Z  INFO min_shark::parser::tests: Parsing 'payload.len eq 1' as multiple term clause - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301218Z  INFO min_shark::parser::tests: Parsing 'payload contains 'string'' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301236Z  INFO min_shark::parser::tests: Parsing 'payload contains "\x00string"' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.301252Z  INFO min_shark::parser::tests: Parsing 'payload matches "string"' as a payload operations - should succeed [INFO] [stdout] 2025-10-02T03:10:00.299378Z  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:10:00.304358Z  INFO min_shark::driver::tests: Parsing input "tcp" [INFO] [stdout] 2025-10-02T03:10:00.304385Z  INFO min_shark::driver::tests: Parsing input "not udp" [INFO] [stdout] 2025-10-02T03:10:00.304399Z  INFO min_shark::driver::tests: Parsing input "not udp and (not tcp or vlan)" [INFO] [stdout] 2025-10-02T03:10:00.304419Z  INFO min_shark::driver::tests: Parsing input "port eq 25 or udp" [INFO] [stdout] 2025-10-02T03:10:00.304436Z  INFO min_shark::driver::tests: Parsing input "eth.addr contains 00:06:5B" [INFO] [stdout] 2025-10-02T03:10:00.304454Z  INFO min_shark::driver::tests: Parsing input "ip.addr == 10.43.54.65" [INFO] [stdout] 2025-10-02T03:10:00.304468Z  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:10:00.304486Z  INFO min_shark::driver::tests: Parsing input "! ( ip.addr == 10.43.54.65 )" [INFO] [stdout] 2025-10-02T03:10:00.304500Z  INFO min_shark::driver::tests: Parsing input "srcport in {8011, 8012, 8013} and tcp" [INFO] [stdout] 2025-10-02T03:10:00.304523Z  INFO min_shark::driver::tests: Parsing input "port in {8011, 8012, 8013} and tcp and payload contains 'MSH'" [INFO] [stdout] 2025-10-02T03:10:00.304552Z  INFO min_shark::driver::tests: Parsing input "payload matches "(?i)Workflowrx"" [INFO] [stdout] test value_parsers::tests::test_parse_ip_net ... ok [INFO] [stdout] 2025-10-02T03:10:00.311170Z  INFO min_shark::value_parsers::tests: Parsing "(ASCII|\x22\x12)" as regex - should succeed [INFO] [stdout] test value_parsers::tests::test_parse_mac_addr ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_02 ... ok [INFO] [stdout] test value_parsers::tests::test_parse_escaped_string_as_byte ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_03 ... ok [INFO] [stdout] test value_parsers::tests::test_parse_byte_string ... ok [INFO] [stdout] test parser::tests::test_parse_payload_len_operations_failure ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_04 ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_05 ... ok [INFO] [stdout] test parser::tests::test_parse_ip_operations_success ... ok [INFO] [stdout] test parser::tests::test_parse_payload_len_operations_success ... ok [INFO] [stdout] test parser::tests::test_parse_multiple_terms_clause ... ok [INFO] [stdout] test parser::tests::test_parse_payload_operations_success ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_01 ... ok [INFO] [stdout] 2025-10-02T03:10:00.311708Z  INFO min_shark::value_parsers::tests: Parsing "0" as u16 - should succeed [INFO] [stdout] 2025-10-02T03:10:00.311733Z  INFO min_shark::value_parsers::tests: Parsing "4294967295" as u16 - should succeed [INFO] [stdout] 2025-10-02T03:10:00.311747Z  INFO min_shark::value_parsers::tests: Parsing "25d" as u16 - should fail [INFO] [stdout] 2025-10-02T03:10:00.311758Z  INFO min_shark::value_parsers::tests: Parsing "-1" as u16 - should fail [INFO] [stdout] 2025-10-02T03:10:00.311766Z  INFO min_shark::value_parsers::tests: Parsing "4294967296" as u16 - should fail [INFO] [stdout] 2025-10-02T03:10:00.311775Z  INFO min_shark::value_parsers::tests: Parsing "" as u16 - should fail [INFO] [stdout] 2025-10-02T03:10:00.311789Z  INFO min_shark::value_parsers::tests: Parsing "��" as u16 - should fail [INFO] [stdout] test value_parsers::tests::test_parse_u32 ... ok [INFO] [stdout] 2025-10-02T03:10:00.312857Z  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:10:00.312903Z  INFO min_shark::driver::tests: Parsing input "ip.src != 192.168.0.1" [INFO] [stdout] 2025-10-02T03:10:00.312921Z  INFO min_shark::driver::tests: Parsing input "ip.dst == 2606:4700:4700::1111" [INFO] [stdout] 2025-10-02T03:10:00.312934Z  INFO min_shark::driver::tests: Parsing input "ip.dst >= 173.245.48.0 && ip.dst < 173.245.49.0" [INFO] [stdout] 2025-10-02T03:10:00.312952Z  INFO min_shark::driver::tests: Parsing input "ip.addr in {192.168.1.0/24}" [INFO] [stdout] 2025-10-02T03:10:00.312999Z  INFO min_shark::driver::tests: Parsing input "ip.dst in {192.168.3.1, 10.0.0.0/8}" [INFO] [stdout] 2025-10-02T03:10:00.313024Z  INFO min_shark::driver::tests: Parsing input "srcport < 1024" [INFO] [stdout] 2025-10-02T03:10:00.313038Z  INFO min_shark::driver::tests: Parsing input "payload.len > 50 and payload.len < 500" [INFO] [stdout] 2025-10-02T03:10:00.313055Z  INFO min_shark::driver::tests: Parsing input "payload matches "GET /secret"" [INFO] [stdout] 2025-10-02T03:10:00.313176Z  INFO min_shark::driver::tests: Parsing input "payload ~ '\r\n\x45\xdb'" [INFO] [stdout] 2025-10-02T03:10:00.313278Z  INFO min_shark::driver::tests: Parsing input "payload ~ "[[:ascii:]]{100}"" [INFO] [stdout] 2025-10-02T03:10:00.313806Z  INFO min_shark::driver::tests: Parsing input "payload ~ "^\x00BOOM\x00"" [INFO] [stdout] 2025-10-02T03:10:00.313820Z  INFO min_shark::value_parsers::tests: Parsing "(?i)CaSeInSeNsItIvE" as regex - should succeed [INFO] [stdout] 2025-10-02T03:10:00.314830Z  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:10:00.314877Z  INFO min_shark::driver::tests: Parsing input "payload contains 'something'" [INFO] [stdout] 2025-10-02T03:10:00.314900Z  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:10:00.321735Z  INFO min_shark::value_parsers::tests: Parsing "some words" as regex - should succeed [INFO] [stdout] 2025-10-02T03:10:00.322015Z  INFO min_shark::value_parsers::tests: Parsing "^\x00BOOM\x00" as regex - should succeed [INFO] [stdout] 2025-10-02T03:10:00.323136Z  INFO min_shark::value_parsers::tests: Parsing "[[:ascii:]]{100}" as regex - should succeed [INFO] [stdout] 2025-10-02T03:10:00.323731Z  INFO min_shark::value_parsers::tests: Parsing "GET /(secret|password)" as regex - should succeed [INFO] [stdout] 2025-10-02T03:10:00.357713Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [111, 110, 99, 101, 32, 121, 111, 117]" [INFO] [stdout] 2025-10-02T03:10:00.357807Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [84, 104, 101, 32]" [INFO] [stdout] 2025-10-02T03:10:00.357823Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [105, 116, 46]" [INFO] [stdout] 2025-10-02T03:10:00.357837Z  INFO min_shark::expression::tests: Evaluating expression "payload matches "(?i)^THE TROUBLE.+$"" [INFO] [stdout] test expression::tests::test_single_clause_payload_expressions ... ok [INFO] [stdout] 2025-10-02T03:10:00.548113Z  INFO min_shark::value_parsers::tests: Parsing "(1234" as regex - should fail [INFO] [stdout] 2025-10-02T03:10:00.548345Z  INFO min_shark::value_parsers::tests: Parsing "\" as regex - should fail [INFO] [stdout] 2025-10-02T03:10:00.548401Z  INFO min_shark::value_parsers::tests: Parsing "" as regex - should fail [INFO] [stdout] 2025-10-02T03:10:00.548418Z  INFO min_shark::value_parsers::tests: Parsing "��" as regex - should fail [INFO] [stderr] Doc-tests min_shark [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.27s [INFO] [stdout] [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" "6e16a46f93e88d6693b7dbe818bb80a619c128d69b78b84585dd8e431bbdd531", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e16a46f93e88d6693b7dbe818bb80a619c128d69b78b84585dd8e431bbdd531", kill_on_drop: false }` [INFO] [stdout] 6e16a46f93e88d6693b7dbe818bb80a619c128d69b78b84585dd8e431bbdd531