[INFO] fetching crate min_shark 0.6.0... [INFO] testing min_shark-0.6.0 against 1.91.0 for beta-1.92-2 [INFO] extracting crate min_shark 0.6.0 into /workspace/builds/worker-1-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-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate min_shark 0.6.0 on toolchain 1.91.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "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" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 37 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" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6b4660725db17d20613261c55ccb10d3d9fe423b7d48e1742b323fd15e9e4968 [INFO] running `Command { std: "docker" "start" "-a" "6b4660725db17d20613261c55ccb10d3d9fe423b7d48e1742b323fd15e9e4968", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6b4660725db17d20613261c55ccb10d3d9fe423b7d48e1742b323fd15e9e4968", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b4660725db17d20613261c55ccb10d3d9fe423b7d48e1742b323fd15e9e4968", kill_on_drop: false }` [INFO] [stdout] 6b4660725db17d20613261c55ccb10d3d9fe423b7d48e1742b323fd15e9e4968 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb068bbaff4bd31df8ab6308009989289c55365c473c49554bdffc5bbb515bb8 [INFO] running `Command { std: "docker" "start" "-a" "fb068bbaff4bd31df8ab6308009989289c55365c473c49554bdffc5bbb515bb8", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling regex v1.12.2 [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.97s [INFO] running `Command { std: "docker" "inspect" "fb068bbaff4bd31df8ab6308009989289c55365c473c49554bdffc5bbb515bb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb068bbaff4bd31df8ab6308009989289c55365c473c49554bdffc5bbb515bb8", kill_on_drop: false }` [INFO] [stdout] fb068bbaff4bd31df8ab6308009989289c55365c473c49554bdffc5bbb515bb8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a23f226d7f8ebac8a6f16c3ed710a445b07be6b1caaafdc4e2e5669902364b78 [INFO] running `Command { std: "docker" "start" "-a" "a23f226d7f8ebac8a6f16c3ed710a445b07be6b1caaafdc4e2e5669902364b78", kill_on_drop: false }` [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling tracing v0.1.41 [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 14.90s [INFO] running `Command { std: "docker" "inspect" "a23f226d7f8ebac8a6f16c3ed710a445b07be6b1caaafdc4e2e5669902364b78", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a23f226d7f8ebac8a6f16c3ed710a445b07be6b1caaafdc4e2e5669902364b78", kill_on_drop: false }` [INFO] [stdout] a23f226d7f8ebac8a6f16c3ed710a445b07be6b1caaafdc4e2e5669902364b78 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 65d697fafa8434c76b274f15caa36f951c6fce355e2b82c2701a3e607d8c2147 [INFO] running `Command { std: "docker" "start" "-a" "65d697fafa8434c76b274f15caa36f951c6fce355e2b82c2701a3e607d8c2147", 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-81ef36f6e5687e31) [INFO] [stdout] [INFO] [stdout] running 84 tests [INFO] [stdout] test driver::tests::test_parse_error_empty_filter ... ok [INFO] [stdout] 2025-11-05T02:53:19.227491Z  INFO min_shark::expression::tests: Evaluating expression "(not arp and port in [80, 443])" [INFO] [stdout] test driver::tests::test_parse_error_bad_byte_string ... ok [INFO] [stdout] test driver::tests::test_filter_too_long ... 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_wrong_closing_brace_ip ... ok [INFO] [stdout] test driver::tests::test_parse_error_whitespace ... 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] 2025-11-05T02:53:19.233589Z  INFO min_shark::expression::tests: Evaluating expression "And([])" [INFO] [stdout] 2025-11-05T02:53:19.233645Z  INFO min_shark::expression::tests: Evaluating expression "Or([])" [INFO] [stdout] 2025-11-05T02:53:19.233685Z  INFO min_shark::expression::tests: Evaluating expression "not tcp" [INFO] [stdout] test expression::tests::test_complex_not_arp_expression ... ok [INFO] [stdout] 2025-11-05T02:53:19.234411Z  INFO min_shark::expression::tests: Evaluating expression "arp" [INFO] [stdout] 2025-11-05T02:53:19.234469Z  INFO min_shark::expression::tests: Evaluating expression "arp" [INFO] [stdout] 2025-11-05T02:53:19.234485Z  INFO min_shark::expression::tests: Evaluating expression "not arp" [INFO] [stdout] 2025-11-05T02:53:19.234497Z  INFO min_shark::expression::tests: Evaluating expression "not arp" [INFO] [stdout] 2025-11-05T02:53:19.236449Z  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 driver::tests::test_parse_error_wrong_missing_brace_eth ... ok [INFO] [stdout] test driver::tests::test_parse_error_missing_operation_eth ... ok [INFO] [stdout] test expression::tests::test_empty_expression ... ok [INFO] [stdout] test expression::tests::test_not_expression ... ok [INFO] [stdout] 2025-11-05T02:53:19.238622Z  INFO min_shark::expression::tests: Evaluating expression "ip == 10.1.1.0/16" [INFO] [stdout] 2025-11-05T02:53:19.238998Z  INFO min_shark::expression::tests: Evaluating expression "ip == 192.168.66.1/24" [INFO] [stdout] 2025-11-05T02:53:19.239019Z  INFO min_shark::expression::tests: Evaluating expression "ip.src == 10.1.1.0/16" [INFO] [stdout] 2025-11-05T02:53:19.239033Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst == 192.168.66.1/24" [INFO] [stdout] 2025-11-05T02:53:19.239044Z  INFO min_shark::expression::tests: Evaluating expression "ip in [10.1.1.0/16]" [INFO] [stdout] 2025-11-05T02:53:19.239058Z  INFO min_shark::expression::tests: Evaluating expression "ip in [192.168.66.1/24]" [INFO] [stdout] 2025-11-05T02:53:19.239069Z  INFO min_shark::expression::tests: Evaluating expression "ip.src in [10.1.1.0/16]" [INFO] [stdout] 2025-11-05T02:53:19.239081Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst in [192.168.66.1/24]" [INFO] [stdout] 2025-11-05T02:53:19.239091Z  INFO min_shark::expression::tests: Evaluating expression "ip.src not in [192.168.66.1/24]" [INFO] [stdout] 2025-11-05T02:53:19.239103Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst not in [10.1.1.0/16]" [INFO] [stdout] test expression::tests::test_matcher_usage ... ok2025-11-05T02:53:19.239424Z  INFO min_shark::expression::tests: Evaluating expression "ip.src == 10.1.1.2/32" [INFO] [stdout] 2025-11-05T02:53:19.239822Z  INFO min_shark::expression::tests: Evaluating expression "ip.src != 192.168.66.1/32" [INFO] [stdout] 2025-11-05T02:53:19.239859Z  INFO min_shark::expression::tests: Evaluating expression "eth == abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.239949Z  INFO min_shark::expression::tests: Evaluating expression "eth.src == abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.239963Z  INFO min_shark::expression::tests: Evaluating expression "eth == 010203040506" [INFO] [stdout] [INFO] [stdout] 2025-11-05T02:53:19.239974Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst == 010203040506" [INFO] [stdout] 2025-11-05T02:53:19.239983Z  INFO min_shark::expression::tests: Evaluating expression "eth >= abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.239994Z  INFO min_shark::expression::tests: Evaluating expression "eth.src >= abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.240004Z  INFO min_shark::expression::tests: Evaluating expression "eth >= 010203040506" [INFO] [stdout] 2025-11-05T02:53:19.240014Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst >= 010203040506" [INFO] [stdout] test expression::tests::test_single_clause_arp_expression ... ok2025-11-05T02:53:19.240025Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst > 010203040504" [INFO] [stdout] [INFO] [stdout] 2025-11-05T02:53:19.240035Z  INFO min_shark::expression::tests: Evaluating expression "eth <= abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.240045Z  INFO min_shark::expression::tests: Evaluating expression "eth.src <= abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.240055Z  INFO min_shark::expression::tests: Evaluating expression "eth <= 010203040506" [INFO] [stdout] 2025-11-05T02:53:19.240065Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst <= 010203040506" [INFO] [stdout] test expression::tests::test_composite_expression ... ok [INFO] [stdout] 2025-11-05T02:53:19.240075Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst < 010203040507" [INFO] [stdout] 2025-11-05T02:53:19.240085Z  INFO min_shark::expression::tests: Evaluating expression "eth.src != 010203040506" [INFO] [stdout] 2025-11-05T02:53:19.240095Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst != abcdef010203" [INFO] [stdout] 2025-11-05T02:53:19.240105Z  INFO min_shark::expression::tests: Evaluating expression "eth in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-11-05T02:53:19.240119Z  INFO min_shark::expression::tests: Evaluating expression "eth in [01:02:03:04:05:06]" [INFO] [stdout] test expression::tests::test_merge_or ... ok [INFO] [stdout] 2025-11-05T02:53:19.240130Z  INFO min_shark::expression::tests: Evaluating expression "eth.src in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-11-05T02:53:19.240141Z  INFO min_shark::expression::tests: Evaluating expression "eth.src not in [01:02:03:04:05:06]" [INFO] [stdout] 2025-11-05T02:53:19.240132Z  INFO min_shark::expression::tests: Evaluating expression "port == 26112" [INFO] [stdout] 2025-11-05T02:53:19.240152Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst in [01:02:03:04:05:06]" [INFO] [stdout] test expression::tests::test_merge_and ... ok [INFO] [stdout] 2025-11-05T02:53:19.240167Z  INFO min_shark::expression::tests: Evaluating expression "port == 80" [INFO] [stdout] 2025-11-05T02:53:19.240168Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst not in [ab:cd:ef:01:02:03]" [INFO] [stdout] 2025-11-05T02:53:19.240178Z  INFO min_shark::expression::tests: Evaluating expression "srcport == 26112" [INFO] [stdout] 2025-11-05T02:53:19.240179Z  INFO min_shark::expression::tests: Evaluating expression "eth contains [171]" [INFO] [stdout] 2025-11-05T02:53:19.240187Z  INFO min_shark::expression::tests: Evaluating expression "dstport == 80" [INFO] [stdout] test driver::tests::test_parse_error_bad_comparison_op ... ok [INFO] [stdout] 2025-11-05T02:53:19.240209Z  INFO min_shark::expression::tests: Evaluating expression "port in [26112]" [INFO] [stdout] 2025-11-05T02:53:19.240212Z  INFO min_shark::expression::tests: Evaluating expression "eth contains [6]" [INFO] [stdout] 2025-11-05T02:53:19.240222Z  INFO min_shark::expression::tests: Evaluating expression "port in [80]" [INFO] [stdout] 2025-11-05T02:53:19.240224Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst contains [6]" [INFO] [stdout] 2025-11-05T02:53:19.240231Z  INFO min_shark::expression::tests: Evaluating expression "port not in [1, 2, 3]" [INFO] [stdout] 2025-11-05T02:53:19.240235Z  INFO min_shark::expression::tests: Evaluating expression "eth.src contains [171]" [INFO] [stdout] test expression::tests::test_no_merge_or ... ok2025-11-05T02:53:19.240242Z  INFO min_shark::expression::tests: Evaluating expression "srcport in [26112]" [INFO] [stdout] 2025-11-05T02:53:19.240246Z  INFO min_shark::expression::tests: Evaluating expression "eth matches "(?-u).*\x03$"" [INFO] [stdout] 2025-11-05T02:53:19.240178Z  INFO min_shark::expression::tests: Evaluating expression "tcp" [INFO] [stdout] 2025-11-05T02:53:19.240256Z  INFO min_shark::expression::tests: Evaluating expression "dstport in [80]" [INFO] [stdout] 2025-11-05T02:53:19.240265Z  INFO min_shark::expression::tests: Evaluating expression "dstport not in [1, 2, 3]" [INFO] [stdout] 2025-11-05T02:53:19.240274Z  INFO min_shark::expression::tests: Evaluating expression "eth matches "(?-u).*\x06$"" [INFO] [stdout] 2025-11-05T02:53:19.240266Z  INFO min_shark::expression::tests: Evaluating expression "vlan" [INFO] [stdout] 2025-11-05T02:53:19.240290Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id == 2" [INFO] [stdout] 2025-11-05T02:53:19.240291Z  INFO min_shark::expression::tests: Evaluating expression "eth.dst matches "(?-u).*\x06$"" [INFO] [stdout] 2025-11-05T02:53:19.240301Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id != 3" [INFO] [stdout] 2025-11-05T02:53:19.240240Z  INFO min_shark::expression::tests: Evaluating expression "udp" [INFO] [stdout] 2025-11-05T02:53:19.240330Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id <= 2" [INFO] [stdout] 2025-11-05T02:53:19.240341Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id < 3" [INFO] [stdout] 2025-11-05T02:53:19.240339Z  INFO min_shark::expression::tests: Evaluating expression "eth.src matches "(?-u).*\x03$"" [INFO] [stdout] 2025-11-05T02:53:19.240350Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id >= 2" [INFO] [stdout] 2025-11-05T02:53:19.240358Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id > 1" [INFO] [stdout] 2025-11-05T02:53:19.240367Z  INFO min_shark::expression::tests: Evaluating expression "vlan.id in [1, 2, 3, 4]" [INFO] [stdout] 2025-11-05T02:53:19.239920Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst == 192.168.66.1/32" [INFO] [stdout] 2025-11-05T02:53:19.240428Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst != 10.1.1.2/32" [INFO] [stdout] 2025-11-05T02:53:19.240455Z  INFO min_shark::expression::tests: Evaluating expression "ip.src >= 10.1.1.2/32" [INFO] [stdout] 2025-11-05T02:53:19.240466Z  INFO min_shark::expression::tests: Evaluating expression "ip.src >= 10.1.1.1/32" [INFO] [stdout] 2025-11-05T02:53:19.240514Z  INFO min_shark::expression::tests: Evaluating expression "ip.src > 10.1.1.1/32" [INFO] [stdout] 2025-11-05T02:53:19.240523Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst >= 192.168.66.1/32" [INFO] [stdout] 2025-11-05T02:53:19.240554Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst >= 192.168.66.0/32" [INFO] [stdout] 2025-11-05T02:53:19.240564Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst > 192.168.66.0/32" [INFO] [stdout] 2025-11-05T02:53:19.240580Z  INFO min_shark::expression::tests: Evaluating expression "ip.src <= 10.1.1.2/32" [INFO] [stdout] 2025-11-05T02:53:19.240589Z  INFO min_shark::expression::tests: Evaluating expression "ip.src <= 10.1.1.3/32" [INFO] [stdout] 2025-11-05T02:53:19.240624Z  INFO min_shark::expression::tests: Evaluating expression "ip.src < 10.1.1.3/32" [INFO] [stdout] 2025-11-05T02:53:19.240641Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst <= 192.168.66.1/32" [INFO] [stdout] 2025-11-05T02:53:19.240650Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst <= 192.168.66.2/32" [INFO] [stdout] 2025-11-05T02:53:19.240682Z  INFO min_shark::expression::tests: Evaluating expression "ip.dst < 192.168.66.2/32" [INFO] [stdout] [INFO] [stdout] test expression::tests::test_merge_two_and ... ok [INFO] [stdout] test expression::tests::test_no_merge_and ... ok [INFO] [stdout] 2025-11-05T02:53:19.241030Z  INFO min_shark::lexer::tests: Lexing input "payload contains 00:11:22:33" [INFO] [stdout] test expression::tests::test_mixed_merging ... ok [INFO] [stdout] 2025-11-05T02:53:19.241055Z  INFO min_shark::lexer::tests: Lexing input "ip.addr == 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241075Z  INFO min_shark::lexer::tests: Lexing input "payload contains 00:11:22:33 " [INFO] [stdout] 2025-11-05T02:53:19.241098Z  INFO min_shark::lexer::tests: Lexing input "ip.addr eq 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241114Z  INFO min_shark::lexer::tests: Lexing input "ip.addr != 1.2.3.4/32" [INFO] [stdout] test expression::tests::test_merge_two_or ... ok [INFO] [stdout] 2025-11-05T02:53:19.241127Z  INFO min_shark::lexer::tests: Lexing input "ip.addr ne 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241140Z  INFO min_shark::lexer::tests: Lexing input "ip.addr > 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241154Z  INFO min_shark::lexer::tests: Lexing input "ip.addr gt 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241181Z  INFO min_shark::lexer::tests: Lexing input "ip.addr >= 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241204Z  INFO min_shark::lexer::tests: Lexing input "ip.addr ge 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241217Z  INFO min_shark::lexer::tests: Lexing input "ip.addr < 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241238Z  INFO min_shark::lexer::tests: Lexing input "ip.addr lt 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241250Z  INFO min_shark::lexer::tests: Lexing input "ip.addr <= 1.2.3.4/32" [INFO] [stdout] 2025-11-05T02:53:19.241262Z  INFO min_shark::lexer::tests: Lexing input "ip.addr le 1.2.3.4/32" [INFO] [stdout] test expression::tests::test_single_clause_ip_expressions ... ok [INFO] [stdout] test expression::tests::test_single_clause_tcp_expression ... ok [INFO] [stdout] test expression::tests::test_single_clause_port_expressions ... ok [INFO] [stdout] test expression::tests::test_single_clause_udp_expression ... ok [INFO] [stdout] test expression::tests::test_single_clause_ethernet_expressions ... ok [INFO] [stdout] test expression::tests::test_single_clause_vlan_expressions ... ok [INFO] [stdout] test expression::tests::test_single_clause_ip_comparison_expressions ... ok [INFO] [stdout] test input::tests::test_input_success ... ok [INFO] [stdout] test lexer::tests::test_lex_contains ... ok [INFO] [stdout] test lexer::tests::test_lex_comparison_operations ... ok [INFO] [stdout] 2025-11-05T02:53:19.241924Z  INFO min_shark::lexer::tests: Lexing input "tcp" [INFO] [stdout] 2025-11-05T02:53:19.241962Z  INFO min_shark::lexer::tests: Lexing input "udp" [INFO] [stdout] 2025-11-05T02:53:19.241975Z  INFO min_shark::lexer::tests: Lexing input "vlan" [INFO] [stdout] 2025-11-05T02:53:19.241986Z  INFO min_shark::lexer::tests: Lexing input "arp" [INFO] [stdout] 2025-11-05T02:53:19.241978Z  INFO min_shark::expression::tests: Evaluating expression "payload.len >= 0" [INFO] [stdout] 2025-11-05T02:53:19.242007Z  INFO min_shark::expression::tests: Evaluating expression "payload.len > 0" [INFO] [stdout] 2025-11-05T02:53:19.242016Z  INFO min_shark::expression::tests: Evaluating expression "payload.len <= 100" [INFO] [stdout] 2025-11-05T02:53:19.242024Z  INFO min_shark::expression::tests: Evaluating expression "payload.len < 100" [INFO] [stdout] 2025-11-05T02:53:19.242032Z  INFO min_shark::expression::tests: Evaluating expression "payload.len == 75" [INFO] [stdout] 2025-11-05T02:53:19.242040Z  INFO min_shark::expression::tests: Evaluating expression "payload.len != 16" [INFO] [stdout] 2025-11-05T02:53:19.242056Z  INFO min_shark::lexer::tests: Lexing input "om =nom" [INFO] [stdout] 2025-11-05T02:53:19.242094Z  INFO min_shark::lexer::tests: Lexing input "'" [INFO] [stdout] 2025-11-05T02:53:19.242107Z  INFO min_shark::lexer::tests: Lexing input """ [INFO] [stdout] 2025-11-05T02:53:19.242134Z  INFO min_shark::lexer::tests: Lexing input "^" [INFO] [stdout] 2025-11-05T02:53:19.242147Z  INFO min_shark::lexer::tests: Lexing input "%" [INFO] [stdout] test input::tests::test_input_error ... ok [INFO] [stdout] test lexer::tests::test_lex_single_term ... ok [INFO] [stdout] test expression::tests::test_single_clause_payload_len_expressions ... ok [INFO] [stdout] test lexer::tests::test_lex_errors ... ok [INFO] [stdout] test mac_addr::tests::test_hex2byte ... ok [INFO] [stdout] test mac_addr::tests::test_mac_eq ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_colon ... ok [INFO] [stdout] 2025-11-05T02:53:19.242653Z  INFO min_shark::lexer::tests: Lexing input " [INFO] [stdout] [INFO] [stdout] eth.addr == 00-B0-D0-63-C2-26 " [INFO] [stdout] test mac_addr::tests::test_mac_try_from_invalid ... ok [INFO] [stdout] test lexer::tests::test_lex_lots_of_whitespace ... ok [INFO] [stdout] 2025-11-05T02:53:19.242954Z  INFO min_shark::lexer::tests: Lexing input "payload ~ '^something[0-9]+'" [INFO] [stdout] 2025-11-05T02:53:19.242996Z  INFO min_shark::lexer::tests: Lexing input "payload matches '^something[0-9]+'" [INFO] [stdout] 2025-11-05T02:53:19.243101Z  INFO min_shark::lexer::tests: Lexing input "eth.addr==00-B0-D0-63-C2-26" [INFO] [stdout] 2025-11-05T02:53:19.243227Z  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-11-05T02:53:19.243277Z  INFO min_shark::lexer::tests: Lexing input "!tcp && (ip.src == 10.10.0.0/16 || (dstport > 80 && dstport <= 100))" [INFO] [stdout] 2025-11-05T02:53:19.243302Z  INFO min_shark::lexer::tests: Lexing input "!tcp&&(ip.src==10.10.0.0/16||(dstport>80&&dstport<=100))" [INFO] [stdout] 2025-11-05T02:53:19.243432Z  INFO min_shark::lexer::tests: Lexing input "om nom nom" [INFO] [stdout] 2025-11-05T02:53:19.243463Z  INFO min_shark::lexer::tests: Lexing input "'boo'((boom-------" [INFO] [stdout] 2025-11-05T02:53:19.243466Z  INFO min_shark::lexer::tests: Lexing input "''" [INFO] [stdout] 2025-11-05T02:53:19.243509Z  INFO min_shark::lexer::tests: Lexing input "''""''" [INFO] [stdout] 2025-11-05T02:53:19.243524Z  INFO min_shark::lexer::tests: Lexing input "'"'" [INFO] [stdout] 2025-11-05T02:53:19.243536Z  INFO min_shark::lexer::tests: Lexing input ""t"" [INFO] [stdout] 2025-11-05T02:53:19.243478Z  INFO min_shark::lexer::tests: Lexing input "==)('')" [INFO] [stdout] 2025-11-05T02:53:19.243546Z  INFO min_shark::lexer::tests: Lexing input " '' " [INFO] [stdout] 2025-11-05T02:53:19.243557Z  INFO min_shark::lexer::tests: Lexing input " "" " [INFO] [stdout] test mac_addr::tests::test_mac_try_from_plain ... ok [INFO] [stdout] test lexer::tests::test_lex_matches ... ok [INFO] [stdout] 2025-11-05T02:53:19.244460Z  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] test lexer::tests::test_lex_no_whitespace ... ok [INFO] [stdout] test lexer::tests::test_lex_multiple_clauses ... ok [INFO] [stdout] test mac_addr::tests::test_to_string ... ok [INFO] [stdout] 2025-11-05T02:53:19.244616Z  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] test lexer::tests::test_lex_nonsensical_inputs ... ok [INFO] [stdout] test lexer::tests::test_lex_quotes ... ok [INFO] [stdout] test mac_addr::tests::test_hex2byte_invalid ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_dash ... ok [INFO] [stdout] test mac_addr::tests::test_mac_try_from_dot ... ok [INFO] [stdout] 2025-11-05T02:53:19.244838Z  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-11-05T02:53:19.244900Z  INFO min_shark::parser::tests: Parsing 'eth.src == ' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.244942Z  INFO min_shark::parser::tests: Parsing 'eth.src == ''' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.244958Z  INFO min_shark::parser::tests: Parsing 'eth.src == 'ab-cd-ef-01-23-45'' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.244973Z  INFO min_shark::parser::tests: Parsing 'eth.src == string' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.244989Z  INFO min_shark::parser::tests: Parsing 'eth.src in { ab-cd-ef-01-23-45,' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.245008Z  INFO min_shark::parser::tests: Parsing 'eth.src in { ab-cd-ef-01-23-45, }' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.245029Z  INFO min_shark::parser::tests: Parsing 'eth.src in { }' as ethernet operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.245095Z  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-11-05T02:53:19.245119Z  INFO min_shark::parser::tests: Parsing 'vlan.id == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245150Z  INFO min_shark::parser::tests: Parsing 'vlan.id in{1}' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245168Z  INFO min_shark::parser::tests: Parsing 'port eq 1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245182Z  INFO min_shark::parser::tests: Parsing 'port in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245196Z  INFO min_shark::parser::tests: Parsing 'port not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245211Z  INFO min_shark::parser::tests: Parsing 'dstport == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245224Z  INFO min_shark::parser::tests: Parsing 'dstport in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245239Z  INFO min_shark::parser::tests: Parsing 'dstport not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245254Z  INFO min_shark::parser::tests: Parsing 'srcport == 1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245265Z  INFO min_shark::parser::tests: Parsing 'srcport in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245281Z  INFO min_shark::parser::tests: Parsing 'srcport not in { 1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245296Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245333Z  INFO min_shark::parser::tests: Parsing 'eth.addr in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245355Z  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-11-05T02:53:19.245373Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245391Z  INFO min_shark::parser::tests: Parsing 'eth.addr matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245498Z  INFO min_shark::parser::tests: Parsing 'eth.dst == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245521Z  INFO min_shark::parser::tests: Parsing 'eth.dst in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245540Z  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-11-05T02:53:19.245556Z  INFO min_shark::parser::tests: Parsing 'eth.dst contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245572Z  INFO min_shark::parser::tests: Parsing 'eth.dst matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245587Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245619Z  INFO min_shark::parser::tests: Parsing 'eth.addr ne ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245637Z  INFO min_shark::parser::tests: Parsing 'eth.dst > ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245653Z  INFO min_shark::parser::tests: Parsing 'eth.src >= ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245658Z  INFO min_shark::parser::tests: Parsing 'eth.src == ab-cd-ef-01-23-45' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245678Z  INFO min_shark::parser::tests: Parsing 'eth.src < ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245684Z  INFO min_shark::parser::tests: Parsing 'eth.src in {ab-cd-ef-01-23-45}' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245693Z  INFO min_shark::parser::tests: Parsing 'eth.addr <= ab-cd-ef-01-23-45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245701Z  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-11-05T02:53:19.245709Z  INFO min_shark::parser::tests: Parsing 'eth.addr eq abcdef012345' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245719Z  INFO min_shark::parser::tests: Parsing 'eth.src contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245725Z  INFO min_shark::parser::tests: Parsing 'eth.addr == ab:cd:ef:01:23:45' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245736Z  INFO min_shark::parser::tests: Parsing 'eth.src matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245743Z  INFO min_shark::parser::tests: Parsing 'eth.addr == abc.def.012.345' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245759Z  INFO min_shark::parser::tests: Parsing 'eth.src in {abcdef012345, abc.def.012.345}' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245779Z  INFO min_shark::parser::tests: Parsing 'eth.dst in { abcdef012345 }' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245796Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains ab' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245813Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains ab:cd:ef' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245820Z  INFO min_shark::parser::tests: Parsing 'ip.addr == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245830Z  INFO min_shark::parser::tests: Parsing 'eth.addr contains 'string'' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245843Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245849Z  INFO min_shark::parser::tests: Parsing 'eth.dst contains "\x00string"' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245861Z  INFO min_shark::parser::tests: Parsing 'ip.addr not in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245867Z  INFO min_shark::parser::tests: Parsing 'eth.dst ~ 'string'' as ethernet operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245878Z  INFO min_shark::parser::tests: Parsing 'ip.dst == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245891Z  INFO min_shark::parser::tests: Parsing 'ip.dst in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245905Z  INFO min_shark::parser::tests: Parsing 'ip.dst not in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245932Z  INFO min_shark::parser::tests: Parsing 'ip.src == 192.168.1.1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245946Z  INFO min_shark::parser::tests: Parsing 'ip.src in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245961Z  INFO min_shark::parser::tests: Parsing 'ip.src not in { 192.168.1.1 }' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245976Z  INFO min_shark::parser::tests: Parsing 'payload contains 00:11' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.245993Z  INFO min_shark::parser::tests: Parsing 'payload matches 'string'' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246091Z  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-11-05T02:53:19.246140Z  INFO min_shark::parser::tests: Parsing 'payload.len eq 1' as multiple term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246274Z  INFO min_shark::parser::tests: Parsing 'ip.addr eq 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246306Z  INFO min_shark::parser::tests: Parsing 'ip.src == 192.168.1.1/32' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246346Z  INFO min_shark::parser::tests: Parsing 'ip.dst != 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246362Z  INFO min_shark::parser::tests: Parsing 'ip.addr gt 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246376Z  INFO min_shark::parser::tests: Parsing 'ip.addr ge 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246391Z  INFO min_shark::parser::tests: Parsing 'ip.addr lt 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246384Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "\r\n\x45\xdb"" [INFO] [stdout] 2025-11-05T02:53:19.246406Z  INFO min_shark::parser::tests: Parsing 'ip.addr le 192.168.1.1' as ip operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.246421Z  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-11-05T02:53:19.246422Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "GET /(secret|password)"" [INFO] [stdout] 2025-11-05T02:53:19.246441Z  INFO min_shark::lexer::tests: Lexing input "payload ~ "[[:ascii:]]{100}"" [INFO] [stdout] 2025-11-05T02:53:19.246455Z  INFO min_shark::lexer::tests: Lexing input "payload matches ".*Philips\\.HIF.*"" [INFO] [stdout] 2025-11-05T02:53:19.246470Z  INFO min_shark::lexer::tests: Lexing input "port <= 0x16" [INFO] [stdout] 2025-11-05T02:53:19.246483Z  INFO min_shark::lexer::tests: Lexing input "port <= 0b1100_1100" [INFO] [stdout] 2025-11-05T02:53:19.248589Z  INFO min_shark::driver::tests: Parsing input "tcp" [INFO] [stdout] 2025-11-05T02:53:19.248736Z  INFO min_shark::driver::tests: Parsing input "not udp" [INFO] [stdout] 2025-11-05T02:53:19.248749Z  INFO min_shark::driver::tests: Parsing input "not udp and (not tcp or vlan)" [INFO] [stdout] 2025-11-05T02:53:19.248767Z  INFO min_shark::driver::tests: Parsing input "port eq 25 or udp" [INFO] [stdout] 2025-11-05T02:53:19.248781Z  INFO min_shark::driver::tests: Parsing input "eth.addr contains 00:06:5B" [INFO] [stdout] 2025-11-05T02:53:19.248797Z  INFO min_shark::driver::tests: Parsing input "ip.addr == 10.43.54.65" [INFO] [stdout] 2025-11-05T02:53:19.248812Z  INFO min_shark::driver::tests: Parsing input "ip.src == 10.43.54.65 or ip.dst == 10.43.54.65" [INFO] [stdout] 2025-11-05T02:53:19.248829Z  INFO min_shark::driver::tests: Parsing input "! ( ip.addr == 10.43.54.65 )" [INFO] [stdout] 2025-11-05T02:53:19.248843Z  INFO min_shark::driver::tests: Parsing input "srcport in {8011, 8012, 8013} and tcp" [INFO] [stdout] 2025-11-05T02:53:19.248864Z  INFO min_shark::driver::tests: Parsing input "port in {8011, 8012, 8013} and tcp and payload contains 'MSH'" [INFO] [stdout] 2025-11-05T02:53:19.248890Z  INFO min_shark::driver::tests: Parsing input "payload matches "(?i)Workflowrx"" [INFO] [stdout] 2025-11-05T02:53:19.250065Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [111, 110, 99, 101, 32, 121, 111, 117]" [INFO] [stdout] 2025-11-05T02:53:19.250114Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [84, 104, 101, 32]" [INFO] [stdout] 2025-11-05T02:53:19.250128Z  INFO min_shark::expression::tests: Evaluating expression "payload contains [105, 116, 46]" [INFO] [stdout] 2025-11-05T02:53:19.250143Z  INFO min_shark::expression::tests: Evaluating expression "payload matches "(?i)^THE TROUBLE.+$"" [INFO] [stdout] 2025-11-05T02:53:19.250398Z  INFO min_shark::lexer::tests: Lexing input "srcport in { 22 , 80 }" [INFO] [stdout] 2025-11-05T02:53:19.250448Z  INFO min_shark::lexer::tests: Lexing input "ip.src in {192.168.1.0/24}" [INFO] [stdout] 2025-11-05T02:53:19.250469Z  INFO min_shark::lexer::tests: Lexing input "ip.dst in {192.168.3.1, 10.0.0.0/8}" [INFO] [stdout] 2025-11-05T02:53:19.250489Z  INFO min_shark::lexer::tests: Lexing input "ip.src in{192.168.1.0/24}" [INFO] [stdout] 2025-11-05T02:53:19.250506Z  INFO min_shark::lexer::tests: Lexing input "ip.dst in{192.168.3.1,10.0.0.0/8}" [INFO] [stdout] test parser::tests::test_parse_complex_statement_01 ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_02 ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_03 ... ok [INFO] [stdout] test parser::tests::test_parse_ethernet_operations_failure ... ok [INFO] [stdout] test parser::tests::test_parse_ethernet_operations_success ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_05 ... ok [INFO] [stdout] 2025-11-05T02:53:19.250764Z  INFO min_shark::parser::tests: Parsing 'payload contains '' ' as a payload operations - should fail [INFO] [stdout] test parser::tests::test_parse_multiple_terms_clause ... ok [INFO] [stdout] 2025-11-05T02:53:19.250804Z  INFO min_shark::parser::tests: Parsing 'payload ~ string' as a payload operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.250825Z  INFO min_shark::parser::tests: Parsing 'payload ~ "" ' as a payload operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.250824Z  INFO min_shark::parser::tests: Parsing 'tcp' as single term clause - should succeed [INFO] [stdout] test parser::tests::test_parse_ip_operations_success ... ok [INFO] [stdout] 2025-11-05T02:53:19.250854Z  INFO min_shark::parser::tests: Parsing 'udp' as single term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250866Z  INFO min_shark::parser::tests: Parsing 'vlan' as single term clause - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250877Z  INFO min_shark::parser::tests: Parsing 'arp' as single term clause - should succeed [INFO] [stdout] test lexer::tests::test_lex_real_life_examples ... ok [INFO] [stdout] test parser::tests::test_parse_complex_statement_04 ... ok [INFO] [stdout] 2025-11-05T02:53:19.250925Z  INFO min_shark::parser::tests: Parsing 'payload contains ab' as a payload operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250957Z  INFO min_shark::parser::tests: Parsing 'payload contains ab:cd:ef' as a payload operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250950Z  INFO min_shark::parser::tests: Parsing 'vlan.id == 55' as a value operations - should succeed [INFO] [stdout] test expression::tests::test_single_clause_payload_expressions ... ok2025-11-05T02:53:19.250965Z  INFO min_shark::parser::tests: Parsing 'vlan.id == ""' as a value operations - should fail [INFO] [stdout] [INFO] [stdout] 2025-11-05T02:53:19.250974Z  INFO min_shark::parser::tests: Parsing 'payload contains ab-cd-ef' as a payload operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250982Z  INFO min_shark::parser::tests: Parsing 'vlan.id != 55' as a value operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250990Z  INFO min_shark::parser::tests: Parsing 'payload contains 'string'' as a payload operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250991Z  INFO min_shark::parser::tests: Parsing 'vlan.id == "55"' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.250984Z  INFO min_shark::value_parsers::tests: Parsing "00" as byte string - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250996Z  INFO min_shark::parser::tests: Parsing 'vlan.id > 55' as a value operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251006Z  INFO min_shark::parser::tests: Parsing 'vlan.id == not-a-number' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251006Z  INFO min_shark::parser::tests: Parsing 'payload contains "\x00string"' as a payload operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251009Z  INFO min_shark::value_parsers::tests: Parsing "0E" as byte string - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251020Z  INFO min_shark::value_parsers::tests: Parsing "001122334455" as byte string - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251022Z  INFO min_shark::parser::tests: Parsing 'vlan.id in 55' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251023Z  INFO min_shark::parser::tests: Parsing 'payload matches "string"' as a payload operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251031Z  INFO min_shark::value_parsers::tests: Parsing "00:11:22:33:44:55" as byte string - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251038Z  INFO min_shark::parser::tests: Parsing 'vlan.id > ==' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251042Z  INFO min_shark::value_parsers::tests: Parsing "00-11-22-33-44-55" as byte string - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251050Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, 2' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251052Z  INFO min_shark::value_parsers::tests: Parsing "00:11-22:33-44:55" as byte string - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251065Z  INFO min_shark::value_parsers::tests: Parsing "" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251065Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, }' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251072Z  INFO min_shark::value_parsers::tests: Parsing "0" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251071Z  INFO min_shark::value_parsers::tests: Parsing "\" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251079Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {}' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251080Z  INFO min_shark::value_parsers::tests: Parsing "1" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251087Z  INFO min_shark::value_parsers::tests: Parsing "simple string" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251089Z  INFO min_shark::value_parsers::tests: Parsing "a" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251091Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {,2}' as a value operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251097Z  INFO min_shark::value_parsers::tests: Parsing "A" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251104Z  INFO min_shark::value_parsers::tests: Parsing "x1" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251113Z  INFO min_shark::value_parsers::tests: Parsing "~1" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251121Z  INFO min_shark::value_parsers::tests: Parsing "10Z1" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251123Z  INFO min_shark::parser::tests: Parsing 'vlan.id >= 55' as a value operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251129Z  INFO min_shark::value_parsers::tests: Parsing "10&20$30" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251141Z  INFO min_shark::parser::tests: Parsing 'vlan.id < 55' as a value operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251154Z  INFO min_shark::parser::tests: Parsing 'vlan.id <= 55' as a value operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251161Z  INFO min_shark::value_parsers::tests: Parsing "127.0.0.1" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251167Z  INFO min_shark::parser::tests: Parsing 'vlan.id in {1, 2}' as a value operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251177Z  INFO min_shark::value_parsers::tests: Parsing "192.168.12.34/16" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251191Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0/24" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251203Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0/32" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251213Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1.0" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251212Z  INFO min_shark::value_parsers::tests: Parsing "\\escaped \\ slash \\" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251221Z  INFO min_shark::value_parsers::tests: Parsing "fd00::/32" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251138Z  INFO min_shark::value_parsers::tests: Parsing "10-1" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251232Z  INFO min_shark::value_parsers::tests: Parsing "not an escape \w" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251234Z  INFO min_shark::value_parsers::tests: Parsing "fd00::/16" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251245Z  INFO min_shark::value_parsers::tests: Parsing "fd00::1:2:3:4/16" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251247Z  INFO min_shark::value_parsers::tests: Parsing "\xFF" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251257Z  INFO min_shark::value_parsers::tests: Parsing "1:2::3:4" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251257Z  INFO min_shark::value_parsers::tests: Parsing "foo\nbar\xFFbaz" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251266Z  INFO min_shark::value_parsers::tests: Parsing "1:2:3:4:5:6:77.77.88.88" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251270Z  INFO min_shark::value_parsers::tests: Parsing "\n" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251387Z  INFO min_shark::value_parsers::tests: Parsing "new line at the end\n" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251407Z  INFO min_shark::value_parsers::tests: Parsing "\nnew line at the start" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251422Z  INFO min_shark::value_parsers::tests: Parsing "something \t else" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.250757Z  INFO min_shark::parser::tests: Parsing 'ip.addr == 55' as ip operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251275Z  INFO min_shark::value_parsers::tests: Parsing "1:2:3:4:5:6:4d4d:5858" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251467Z  INFO min_shark::parser::tests: Parsing 'ip.addr == not-an-ip' as ip operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251472Z  INFO min_shark::value_parsers::tests: Parsing "fe80::1.2.3.4" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251483Z  INFO min_shark::value_parsers::tests: Parsing "::1" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251485Z  INFO min_shark::parser::tests: Parsing 'ip.addr in 192.168.1.1' as ip operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251491Z  INFO min_shark::value_parsers::tests: Parsing "1::" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251499Z  INFO min_shark::value_parsers::tests: Parsing "::" as ip - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251502Z  INFO min_shark::parser::tests: Parsing 'ip.addr > ==' as ip operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251512Z  INFO min_shark::value_parsers::tests: Parsing "10.1.1" as ip - should fail [INFO] [stdout] 2025-11-05T02:53:19.251515Z  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-11-05T02:53:19.251528Z  INFO min_shark::value_parsers::tests: Parsing "fd00:" as ip - should fail [INFO] [stdout] 2025-11-05T02:53:19.251535Z  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-11-05T02:53:19.251539Z  INFO min_shark::value_parsers::tests: Parsing "" as ip - should fail [INFO] [stdout] 2025-11-05T02:53:19.251549Z  INFO min_shark::value_parsers::tests: Parsing "��" as ip - should fail [INFO] [stdout] 2025-11-05T02:53:19.251554Z  INFO min_shark::parser::tests: Parsing 'ip.addr in { }' as ip operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.251434Z  INFO min_shark::value_parsers::tests: Parsing "Null NULL NUL \x00" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251587Z  INFO min_shark::value_parsers::tests: Parsing "maybe nul \x0" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251601Z  INFO min_shark::value_parsers::tests: Parsing "windows style nl \r\n" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251615Z  INFO min_shark::value_parsers::tests: Parsing "\xa" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251623Z  INFO min_shark::value_parsers::tests: Parsing "\x1" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251633Z  INFO min_shark::value_parsers::tests: Parsing "\x-" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251642Z  INFO min_shark::value_parsers::tests: Parsing "\x12\xa1\xA1" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251652Z  INFO min_shark::value_parsers::tests: Parsing "\xaa\xbb\xcc" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251663Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \xa~" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251677Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x~~" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251691Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x~a" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251705Z  INFO min_shark::value_parsers::tests: Parsing "invalid escape \x" as escaped bytes - should succeed [INFO] [stdout] 2025-11-05T02:53:19.251723Z  INFO min_shark::value_parsers::tests: Parsing "" as escaped bytes - should fail [INFO] [stdout] 2025-11-05T02:53:19.251732Z  INFO min_shark::value_parsers::tests: Parsing "��" as escaped bytes - should fail [INFO] [stdout] 2025-11-05T02:53:19.251234Z  INFO min_shark::value_parsers::tests: Parsing "101" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251786Z  INFO min_shark::value_parsers::tests: Parsing "00-11^22" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.251798Z  INFO min_shark::value_parsers::tests: Parsing "00:11:22:Zz" as byte string - should fail [INFO] [stdout] 2025-11-05T02:53:19.252522Z  INFO min_shark::lexer::tests: Lexing input "eth.addr == 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-11-05T02:53:19.252567Z  INFO min_shark::lexer::tests: Lexing input "eth.src != 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-11-05T02:53:19.252582Z  INFO min_shark::lexer::tests: Lexing input "eth.dst eq 00-B0-D0-63-C2-26" [INFO] [stdout] 2025-11-05T02:53:19.252594Z  INFO min_shark::lexer::tests: Lexing input "ip.addr == 1.2.3.4" [INFO] [stdout] 2025-11-05T02:53:19.252607Z  INFO min_shark::lexer::tests: Lexing input "ip.src == 1.2.3.4" [INFO] [stdout] 2025-11-05T02:53:19.252621Z  INFO min_shark::lexer::tests: Lexing input "ip.dst == 1.2.3.4" [INFO] [stdout] 2025-11-05T02:53:19.252633Z  INFO min_shark::lexer::tests: Lexing input "vlan.id == 12" [INFO] [stdout] 2025-11-05T02:53:19.252644Z  INFO min_shark::lexer::tests: Lexing input "port == 80" [INFO] [stdout] 2025-11-05T02:53:19.252655Z  INFO min_shark::lexer::tests: Lexing input "srcport == 80" [INFO] [stdout] 2025-11-05T02:53:19.252666Z  INFO min_shark::lexer::tests: Lexing input "dstport == 80" [INFO] [stdout] 2025-11-05T02:53:19.252679Z  INFO min_shark::lexer::tests: Lexing input "payload contains '00'" [INFO] [stdout] 2025-11-05T02:53:19.252692Z  INFO min_shark::lexer::tests: Lexing input "payload.len == 16" [INFO] [stdout] 2025-11-05T02:53:19.253514Z  INFO min_shark::parser::tests: Parsing 'payload.len == '55'' as a payload length operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.253557Z  INFO min_shark::parser::tests: Parsing 'payload.len == not_a_number' as a payload length operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.253578Z  INFO min_shark::parser::tests: Parsing 'payload.len == s0me' as a payload length operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.253594Z  INFO min_shark::parser::tests: Parsing 'payload.len in 55' as a payload length operations - should fail [INFO] [stdout] 2025-11-05T02:53:19.253609Z  INFO min_shark::parser::tests: Parsing 'payload.len < ==' as a payload length operations - should fail [INFO] [stdout] test lexer::tests::test_lex_set_operations ... ok [INFO] [stdout] test parser::tests::test_parse_payload_operations_failure ... ok [INFO] [stdout] test parser::tests::test_parse_single_term ... ok [INFO] [stdout] 2025-11-05T02:53:19.253896Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23-45" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.253922Z  INFO min_shark::value_parsers::tests: Parsing "AB-CD-EF-01-23-45" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.253935Z  INFO min_shark::value_parsers::tests: Parsing "ab:cd:ef:01:23:45" as mac-address - should succeed [INFO] [stdout] test parser::tests::test_parse_val_operations_failure ... ok [INFO] [stdout] test parser::tests::test_parse_payload_operations_success ... ok [INFO] [stdout] 2025-11-05T02:53:19.253945Z  INFO min_shark::value_parsers::tests: Parsing "AB:CD:EF:01:23:45" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.253958Z  INFO min_shark::value_parsers::tests: Parsing "(ASCII|\x22\x12)" as regex - should succeed [INFO] [stdout] test parser::tests::test_parse_val_operations_success ... ok [INFO] [stdout] test value_parsers::tests::test_parse_ip_net ... ok [INFO] [stdout] test parser::tests::test_parse_ip_operations_failure ... ok [INFO] [stdout] test value_parsers::tests::test_parse_escaped_string_as_byte ... ok [INFO] [stdout] test value_parsers::tests::test_parse_byte_string ... ok [INFO] [stdout] 2025-11-05T02:53:19.254020Z  INFO min_shark::value_parsers::tests: Parsing "abcdef012345" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254033Z  INFO min_shark::value_parsers::tests: Parsing "ABCDEF012345" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254044Z  INFO min_shark::value_parsers::tests: Parsing "abc.def.012.345" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254055Z  INFO min_shark::value_parsers::tests: Parsing "ABC.DEF.012.345" as mac-address - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254070Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23" as mac-address - should fail [INFO] [stdout] 2025-11-05T02:53:19.254080Z  INFO min_shark::value_parsers::tests: Parsing "12345" as mac-address - should fail [INFO] [stdout] 2025-11-05T02:53:19.254091Z  INFO min_shark::value_parsers::tests: Parsing "some words" as mac-address - should fail [INFO] [stdout] 2025-11-05T02:53:19.254100Z  INFO min_shark::value_parsers::tests: Parsing "-ab-cd-ef-01-23-45" as mac-address - should fail [INFO] [stdout] 2025-11-05T02:53:19.254094Z  INFO min_shark::value_parsers::tests: Parsing "(48, 48)" as ascii byte - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254110Z  INFO min_shark::value_parsers::tests: Parsing "ab-cd-ef-01-23-45-" as mac-address - should fail [INFO] [stdout] 2025-11-05T02:53:19.254117Z  INFO min_shark::value_parsers::tests: Parsing "(97, 48)" as ascii byte - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254301Z  INFO min_shark::value_parsers::tests: Parsing "(97, 50)" as ascii byte - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254327Z  INFO min_shark::value_parsers::tests: Parsing "(65, 98)" as ascii byte - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254342Z  INFO min_shark::value_parsers::tests: Parsing "(0, 0)" as ascii byte - should fail [INFO] [stdout] 2025-11-05T02:53:19.254352Z  INFO min_shark::value_parsers::tests: Parsing "(122, 48)" as ascii byte - should fail [INFO] [stdout] 2025-11-05T02:53:19.254361Z  INFO min_shark::value_parsers::tests: Parsing "(255, 48)" as ascii byte - should fail [INFO] [stdout] 2025-11-05T02:53:19.254120Z  INFO min_shark::value_parsers::tests: Parsing "" as mac-address - should fail [INFO] [stdout] 2025-11-05T02:53:19.254008Z  INFO min_shark::value_parsers::tests: Parsing "0" as u16 - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254489Z  INFO min_shark::value_parsers::tests: Parsing "4294967295" as u16 - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254506Z  INFO min_shark::value_parsers::tests: Parsing "25d" as u16 - should fail [INFO] [stdout] 2025-11-05T02:53:19.254520Z  INFO min_shark::value_parsers::tests: Parsing "-1" as u16 - should fail [INFO] [stdout] 2025-11-05T02:53:19.254529Z  INFO min_shark::value_parsers::tests: Parsing "4294967296" as u16 - should fail [INFO] [stdout] 2025-11-05T02:53:19.254537Z  INFO min_shark::value_parsers::tests: Parsing "" as u16 - should fail [INFO] [stdout] 2025-11-05T02:53:19.254544Z  INFO min_shark::value_parsers::tests: Parsing "��" as u16 - should fail [INFO] [stdout] test lexer::tests::test_lex_single_clause ... ok [INFO] [stdout] test parser::tests::test_parse_payload_len_operations_failure ... ok [INFO] [stdout] 2025-11-05T02:53:19.254264Z  INFO min_shark::parser::tests: Parsing 'payload.len == 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254697Z  INFO min_shark::parser::tests: Parsing 'payload.len eq 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254717Z  INFO min_shark::parser::tests: Parsing 'payload.len != 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254732Z  INFO min_shark::parser::tests: Parsing 'payload.len ne 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254747Z  INFO min_shark::parser::tests: Parsing 'payload.len > 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254761Z  INFO min_shark::parser::tests: Parsing 'payload.len gt 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254774Z  INFO min_shark::parser::tests: Parsing 'payload.len >= 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254787Z  INFO min_shark::parser::tests: Parsing 'payload.len ge 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254800Z  INFO min_shark::parser::tests: Parsing 'payload.len < 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254812Z  INFO min_shark::parser::tests: Parsing 'payload.len lt 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254825Z  INFO min_shark::parser::tests: Parsing 'payload.len <= 55' as a payload length operations - should succeed [INFO] [stdout] 2025-11-05T02:53:19.254838Z  INFO min_shark::parser::tests: Parsing 'payload.len le 55' as a payload length operations - should succeed [INFO] [stdout] test value_parsers::tests::test_parse_ascii_byte ... ok [INFO] [stdout] test value_parsers::tests::test_parse_mac_addr ... ok [INFO] [stdout] test value_parsers::tests::test_parse_u32 ... ok [INFO] [stdout] test parser::tests::test_parse_payload_len_operations_success ... ok [INFO] [stdout] 2025-11-05T02:53:19.256102Z  INFO min_shark::value_parsers::tests: Parsing "(?i)CaSeInSeNsItIvE" as regex - should succeed [INFO] [stdout] 2025-11-05T02:53:19.258387Z  INFO min_shark::lexer::tests: Lexing input "" [INFO] [stdout] test lexer::tests::test_lex_empty_input ... ok [INFO] [stdout] 2025-11-05T02:53:19.263147Z  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-11-05T02:53:19.263231Z  INFO min_shark::driver::tests: Parsing input "ip.src != 192.168.0.1" [INFO] [stdout] 2025-11-05T02:53:19.263256Z  INFO min_shark::driver::tests: Parsing input "ip.dst == 2606:4700:4700::1111" [INFO] [stdout] 2025-11-05T02:53:19.263273Z  INFO min_shark::driver::tests: Parsing input "ip.dst >= 173.245.48.0 && ip.dst < 173.245.49.0" [INFO] [stdout] 2025-11-05T02:53:19.263294Z  INFO min_shark::driver::tests: Parsing input "ip.addr in {192.168.1.0/24}" [INFO] [stdout] 2025-11-05T02:53:19.263346Z  INFO min_shark::driver::tests: Parsing input "ip.dst in {192.168.3.1, 10.0.0.0/8}" [INFO] [stdout] 2025-11-05T02:53:19.263374Z  INFO min_shark::driver::tests: Parsing input "srcport < 1024" [INFO] [stdout] 2025-11-05T02:53:19.263391Z  INFO min_shark::driver::tests: Parsing input "payload.len > 50 and payload.len < 500" [INFO] [stdout] 2025-11-05T02:53:19.263411Z  INFO min_shark::driver::tests: Parsing input "payload matches "GET /secret"" [INFO] [stdout] 2025-11-05T02:53:19.263588Z  INFO min_shark::driver::tests: Parsing input "payload ~ '\r\n\x45\xdb'" [INFO] [stdout] 2025-11-05T02:53:19.263710Z  INFO min_shark::driver::tests: Parsing input "payload ~ "[[:ascii:]]{100}"" [INFO] [stdout] 2025-11-05T02:53:19.264575Z  INFO min_shark::driver::tests: Parsing input "payload ~ "^\x00BOOM\x00"" [INFO] [stdout] 2025-11-05T02:53:19.265877Z  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-11-05T02:53:19.265991Z  INFO min_shark::driver::tests: Parsing input "payload contains 'something'" [INFO] [stdout] 2025-11-05T02:53:19.266210Z  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-11-05T02:53:19.269011Z  INFO min_shark::value_parsers::tests: Parsing "some words" as regex - should succeed [INFO] [stdout] 2025-11-05T02:53:19.269223Z  INFO min_shark::value_parsers::tests: Parsing "^\x00BOOM\x00" as regex - should succeed [INFO] [stdout] 2025-11-05T02:53:19.270280Z  INFO min_shark::value_parsers::tests: Parsing "[[:ascii:]]{100}" as regex - should succeed [INFO] [stdout] 2025-11-05T02:53:19.270851Z  INFO min_shark::value_parsers::tests: Parsing "GET /(secret|password)" as regex - should succeed [INFO] [stdout] 2025-11-05T02:53:19.276572Z  INFO min_shark::value_parsers::tests: Parsing "(1234" as regex - should fail [INFO] [stdout] 2025-11-05T02:53:19.276757Z  INFO min_shark::value_parsers::tests: Parsing "\" as regex - should fail [INFO] [stdout] 2025-11-05T02:53:19.276833Z  INFO min_shark::value_parsers::tests: Parsing "" as regex - should fail [INFO] [stdout] 2025-11-05T02:53:19.276871Z  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.05s [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" "65d697fafa8434c76b274f15caa36f951c6fce355e2b82c2701a3e607d8c2147", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65d697fafa8434c76b274f15caa36f951c6fce355e2b82c2701a3e607d8c2147", kill_on_drop: false }` [INFO] [stdout] 65d697fafa8434c76b274f15caa36f951c6fce355e2b82c2701a3e607d8c2147