[INFO] cloning repository https://github.com/raaymax/lazytail [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/raaymax/lazytail" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraaymax%2Flazytail", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraaymax%2Flazytail'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b2c3aaffc05524309ee5a7936731c171330d2c26 [INFO] testing raaymax/lazytail/b2c3aaffc05524309ee5a7936731c171330d2c26 against master#d933cf483edf1605142ac6899ff32536c0ad8b22 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraaymax%2Flazytail" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/raaymax/lazytail [INFO] finished tweaking git repo https://github.com/raaymax/lazytail [INFO] tweaked toml for git repo https://github.com/raaymax/lazytail written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/raaymax/lazytail on toolchain d933cf483edf1605142ac6899ff32536c0ad8b22 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/raaymax/lazytail already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded self-replace v1.5.0 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.109 [INFO] [stderr] Downloaded tiny_http v0.12.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.109 [INFO] [stderr] Downloaded chunked_transfer v1.5.0 [INFO] [stderr] Downloaded rmcp-macros v0.1.5 [INFO] [stderr] Downloaded xxhash-rust v0.8.15 [INFO] [stderr] Downloaded ansi-to-tui v7.0.0 [INFO] [stderr] Downloaded colored v3.1.1 [INFO] [stderr] Downloaded lz4_flex v0.12.0 [INFO] [stderr] Downloaded rmcp v0.1.5 [INFO] [stderr] Downloaded self_update v0.42.0 [INFO] [stderr] Downloaded js-sys v0.3.86 [INFO] [stderr] Downloaded saphyr-parser-bw v0.0.608 [INFO] [stderr] Downloaded annotate-snippets v0.12.5 [INFO] [stderr] Downloaded serde-saphyr v0.0.19 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.109 [INFO] [stderr] Downloaded wasm-bindgen v0.2.109 [INFO] [stderr] Downloaded ascii v1.1.0 [INFO] [stderr] Downloaded memmap2 v0.9.10 [INFO] [stderr] Downloaded zipsign-api v0.1.5 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.59 [INFO] [stderr] Downloaded web-sys v0.3.86 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bb159bea7668b3e431b5335d53a0a4999afa139a5b2198182bd83abbff1c912b [INFO] running `Command { std: "docker" "start" "-a" "bb159bea7668b3e431b5335d53a0a4999afa139a5b2198182bd83abbff1c912b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb159bea7668b3e431b5335d53a0a4999afa139a5b2198182bd83abbff1c912b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb159bea7668b3e431b5335d53a0a4999afa139a5b2198182bd83abbff1c912b", kill_on_drop: false }` [INFO] [stdout] bb159bea7668b3e431b5335d53a0a4999afa139a5b2198182bd83abbff1c912b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 86477cb0d73b72055cc56b39b4d6cf169f75f40a40616ed44e2e68f6e855e9ec [INFO] running `Command { std: "docker" "start" "-a" "86477cb0d73b72055cc56b39b4d6cf169f75f40a40616ed44e2e68f6e855e9ec", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling schemars v0.8.22 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling arraydeque v0.5.1 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling inotify v0.10.2 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling notify-types v1.0.1 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling annotate-snippets v0.12.5 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling nohash-hasher v0.2.0 [INFO] [stderr] Compiling chunked_transfer v1.5.0 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling ascii v1.1.0 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling notify v7.0.0 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling xxhash-rust v0.8.15 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling encoding_rs_io v0.1.7 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling tiny_http v0.12.0 [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling rmcp-macros v0.1.5 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling schemars_derive v0.8.22 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling saphyr-parser-bw v0.0.608 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling serde-saphyr v0.0.19 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling ansi-to-tui v7.0.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling rmcp v0.1.5 [INFO] [stderr] Compiling lazytail v0.8.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "86477cb0d73b72055cc56b39b4d6cf169f75f40a40616ed44e2e68f6e855e9ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86477cb0d73b72055cc56b39b4d6cf169f75f40a40616ed44e2e68f6e855e9ec", kill_on_drop: false }` [INFO] [stdout] 86477cb0d73b72055cc56b39b4d6cf169f75f40a40616ed44e2e68f6e855e9ec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3b0b284ab549e2505534d2e7fb391b9e392bd9507a803ddbcce2e097d513b960 [INFO] running `Command { std: "docker" "start" "-a" "3b0b284ab549e2505534d2e7fb391b9e392bd9507a803ddbcce2e097d513b960", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling twox-hash v2.1.2 [INFO] [stderr] Compiling lz4_flex v0.12.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling lazytail v0.8.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.11s [INFO] running `Command { std: "docker" "inspect" "3b0b284ab549e2505534d2e7fb391b9e392bd9507a803ddbcce2e097d513b960", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b0b284ab549e2505534d2e7fb391b9e392bd9507a803ddbcce2e097d513b960", kill_on_drop: false }` [INFO] [stdout] 3b0b284ab549e2505534d2e7fb391b9e392bd9507a803ddbcce2e097d513b960 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1095489c979c879241e6a7b94f57bfe508d6fa6b768d8f0c096a6e3b1c8950aa [INFO] running `Command { std: "docker" "start" "-a" "1095489c979c879241e6a7b94f57bfe508d6fa6b768d8f0c096a6e3b1c8950aa", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lazytail-a715b8552adda061) [INFO] [stdout] [INFO] [stdout] running 227 tests [INFO] [stdout] test config::discovery::tests::test_data_dir_derived_from_project_root ... ignored [INFO] [stdout] test config::discovery::tests::test_finds_config_in_current_dir ... ignored [INFO] [stdout] test config::discovery::tests::test_finds_config_in_parent_dir ... ignored [INFO] [stdout] test config::discovery::tests::test_global_config_detection ... ignored [INFO] [stdout] test config::discovery::tests::test_no_config_returns_defaults ... ignored [INFO] [stdout] test config::discovery::tests::test_verbose_returns_searched_paths ... ignored [INFO] [stdout] test config::discovery::tests::test_walk_stops_at_root ... ignored [INFO] [stdout] test config::discovery::tests::test_has_config_methods ... ok [INFO] [stdout] test config::discovery::tests::test_data_dir_none_without_project_root ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_parse_without_suggestion ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_parse_with_suggestion ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_validation ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_io ... ok [INFO] [stdout] test config::error::tests::test_extract_location_line_column ... ok [INFO] [stdout] test config::error::tests::test_extract_location_no_location ... ok [INFO] [stdout] test config::error::tests::test_extract_unknown_field ... ok [INFO] [stdout] test config::error::tests::test_extract_unknown_field_no_match ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_no_match ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_max_width ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_renderers ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_source_typo ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_style_map ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_typo ... ok [INFO] [stdout] test config::loader::tests::test_expand_path_absolute ... ok [INFO] [stdout] test config::loader::tests::test_invalid_yaml_syntax ... ignored [INFO] [stdout] test config::loader::tests::test_load_both_configs ... ignored [INFO] [stdout] test config::error::tests::test_find_suggestion_typo_path ... ok [INFO] [stdout] test config::loader::tests::test_load_config_with_renderers ... ignored [INFO] [stdout] test config::loader::tests::test_load_config_with_style_map_and_max_width ... ignored [INFO] [stdout] test config::loader::tests::test_expand_path_relative ... ok [INFO] [stdout] test config::loader::tests::test_load_config_with_style_when ... ignored [INFO] [stdout] test config::loader::tests::test_load_empty_discovery ... ignored [INFO] [stdout] test config::loader::tests::test_load_empty_yaml ... ignored [INFO] [stdout] test config::loader::tests::test_load_minimal_config ... ignored [INFO] [stdout] test config::loader::tests::test_load_missing_file ... ignored [INFO] [stdout] test config::loader::tests::test_load_project_config ... ignored [INFO] [stdout] test config::loader::tests::test_expand_path_tilde ... ok [INFO] [stdout] test config::loader::tests::test_load_source_optional_path ... ignored [INFO] [stdout] test config::loader::tests::test_load_source_with_renderers ... ignored [INFO] [stdout] test config::loader::tests::test_expand_path_tilde_only ... ok [INFO] [stdout] test config::loader::tests::test_load_unknown_field_error ... ignored [INFO] [stdout] test config::loader::tests::test_load_unknown_renderer_field_error ... ignored [INFO] [stdout] test config::loader::tests::test_source_existence_check ... ignored [INFO] [stdout] test index::builder::tests::build_large_file ... ignored [INFO] [stdout] test index::builder::tests::build_crlf ... ok [INFO] [stdout] test index::builder::tests::build_empty_file ... ok [INFO] [stdout] test index::builder::tests::build_checkpoint_interval ... ok [INFO] [stdout] test index::checkpoint::tests::byte_layout ... ok [INFO] [stdout] test index::builder::tests::build_final_checkpoint_has_totals ... ok [INFO] [stdout] test index::builder::tests::build_single_line ... ok [INFO] [stdout] test index::builder::tests::build_meta_columns_present ... ok [INFO] [stdout] test index::checkpoint::tests::checkpoint_roundtrip ... ok [INFO] [stdout] test index::builder::tests::build_json_lines ... ok [INFO] [stdout] test index::checkpoint::tests::empty_file ... ok [INFO] [stdout] test index::checkpoint::tests::append_to_existing ... ok [INFO] [stdout] test index::builder::tests::indexer_checkpoint_written ... ok [INFO] [stdout] test index::builder::tests::build_logfmt_lines ... ok [INFO] [stdout] test index::builder::tests::build_severity_counts ... ok [INFO] [stdout] test index::builder::tests::build_mixed_format ... ok [INFO] [stdout] test index::checkpoint::tests::severity_counts_layout ... ok [INFO] [stdout] test index::column::tests::endianness_u16 ... ok [INFO] [stdout] test index::checkpoint::tests::write_and_read ... ok [INFO] [stdout] test index::column::tests::batch_write ... ok [INFO] [stdout] test index::column::tests::empty_file ... ok [INFO] [stdout] test index::checkpoint::tests::iterator ... ok [INFO] [stdout] test index::column::tests::endianness_u32 ... ok [INFO] [stdout] test index::builder::tests::indexer_push_lines ... ok [INFO] [stdout] test index::builder::tests::build_multiple_lines ... ok [INFO] [stdout] test index::builder::tests::indexer_resume_preserves_severity_counts ... ok [INFO] [stdout] test index::column::tests::endianness_u64 ... ok [INFO] [stdout] test index::builder::tests::indexer_push_crlf_lines ... ok [INFO] [stdout] test index::column::tests::u64_element_roundtrip ... ok [INFO] [stdout] test index::checkpoint::tests::last ... ok [INFO] [stdout] test index::column::tests::expected_less_than_file ... ok [INFO] [stdout] test index::column::tests::out_of_bounds ... ok [INFO] [stdout] test index::column::tests::iterator ... ok [INFO] [stdout] test index::column::tests::partial_file_clamped ... ok [INFO] [stdout] test index::column::tests::u16_element_roundtrip ... ok [INFO] [stdout] test index::column::tests::u32_element_roundtrip ... ok [INFO] [stdout] test index::builder::tests::indexer_resume ... ok [INFO] [stdout] test index::column::tests::open_append ... ok [INFO] [stdout] test index::column::tests::raw_slice ... ok [INFO] [stdout] test index::flags::tests::bytes_crlf_handling ... ok [INFO] [stdout] test index::column::tests::write_read_u16 ... ok [INFO] [stdout] test index::flags::tests::bytes_empty ... ok [INFO] [stdout] test index::flags::tests::bytes_first_match_info_over_error ... ok [INFO] [stdout] test index::column::tests::large_dataset ... ok [INFO] [stdout] test index::flags::tests::bytes_first_match_warn_over_fatal ... ok [INFO] [stdout] test index::column::tests::write_read_u64 ... ok [INFO] [stdout] test index::flags::tests::bytes_logfmt_memchr ... ok [INFO] [stdout] test index::flags::tests::bytes_long_line_severity_in_prefix ... ok [INFO] [stdout] test index::flags::tests::bytes_non_utf8 ... ok [INFO] [stdout] test index::flags::tests::bytes_basic_roundtrip ... ok [INFO] [stdout] test index::flags::tests::bytes_ansi_skip_in_place ... ok [INFO] [stdout] test index::flags::tests::detect_combined_ansi_warn ... ok [INFO] [stdout] test index::flags::tests::detect_combined_json_error ... ok [INFO] [stdout] test index::flags::tests::detect_combined_logfmt_timestamp_info ... ok [INFO] [stdout] test index::flags::tests::detect_empty_line ... ok [INFO] [stdout] test index::flags::tests::detect_json_object ... ok [INFO] [stdout] test index::column::tests::write_read_u32 ... ok [INFO] [stdout] test index::flags::tests::bytes_timestamp_memchr2 ... ok [INFO] [stdout] test index::flags::tests::detect_json_with_leading_whitespace ... ok [INFO] [stdout] test index::flags::tests::detect_logfmt_line ... ok [INFO] [stdout] test index::flags::tests::detect_non_json_array ... ok [INFO] [stdout] test index::flags::tests::detect_non_json_plain_text ... ok [INFO] [stdout] test index::flags::tests::detect_logfmt_with_dots ... ok [INFO] [stdout] test index::flags::tests::detect_not_logfmt_url ... ok [INFO] [stdout] test index::flags::tests::detect_severity_at_end_of_long_line ... ok [INFO] [stdout] test index::flags::tests::detect_severity_bracketed_error ... ok [INFO] [stdout] test index::flags::tests::detect_ansi_escape ... ok [INFO] [stdout] test index::flags::tests::detect_severity_bracketed_info ... ok [INFO] [stdout] test index::flags::tests::detect_no_timestamp ... ok [INFO] [stdout] test index::flags::tests::detect_severity_bracketed_warn ... ok [INFO] [stdout] test index::flags::tests::detect_severity_debug ... ok [INFO] [stdout] test index::flags::tests::detect_severity_error_lowercase ... ok [INFO] [stdout] test index::flags::tests::detect_severity_error_uppercase ... ok [INFO] [stdout] test index::flags::tests::detect_not_logfmt_json ... ok [INFO] [stdout] test index::flags::tests::detect_severity_fatal ... ok [INFO] [stdout] test index::flags::tests::detect_severity_info ... ok [INFO] [stdout] test index::flags::tests::detect_not_logfmt_plain ... ok [INFO] [stdout] test index::flags::tests::detect_severity_json_level_error ... ok [INFO] [stdout] test index::flags::tests::detect_severity_json_level_info ... ok [INFO] [stdout] test index::flags::tests::detect_no_ansi ... ok [INFO] [stdout] test index::flags::tests::detect_severity_logfmt_error ... ok [INFO] [stdout] test index::flags::tests::detect_severity_logfmt_warn ... ok [INFO] [stdout] test index::flags::tests::detect_severity_not_in_stacktrace ... ok [INFO] [stdout] test index::flags::tests::detect_severity_past_80_bytes ... ok [INFO] [stdout] test index::flags::tests::detect_severity_not_in_word ... ok [INFO] [stdout] test index::flags::tests::detect_severity_trace ... ok [INFO] [stdout] test index::flags::tests::detect_severity_unknown ... ok [INFO] [stdout] test index::flags::tests::detect_severity_warn_uppercase ... ok [INFO] [stdout] test index::flags::tests::detect_severity_warning ... ok [INFO] [stdout] test index::flags::tests::detect_timestamp_date_only ... ok [INFO] [stdout] test index::flags::tests::detect_timestamp_iso ... ok [INFO] [stdout] test index::flags::tests::detect_timestamp_time_only ... ok [INFO] [stdout] test index::flags::tests::flags_mask_filtering ... ok [INFO] [stdout] test index::flags::tests::detect_whitespace_only ... ok [INFO] [stdout] test index::flags::tests::severity_from_flags_all_values ... ok [INFO] [stdout] test index::flags::tests::severity_from_flags_ignores_other_bits ... ok [INFO] [stdout] test index::flags::tests::severity_out_of_range_is_unknown ... ok [INFO] [stdout] test index::flags::tests::severity_roundtrip ... ok [INFO] [stdout] test index::flags::tests::template_id_extract ... ok [INFO] [stdout] test index::flags::tests::template_id_max ... ok [INFO] [stdout] test index::flags::tests::template_id_preserves_lower_bits ... ok [INFO] [stdout] test index::flags::tests::template_id_roundtrip ... ok [INFO] [stdout] test index::meta::tests::all_column_bits ... ok [INFO] [stdout] test index::meta::tests::byte_layout ... ok [INFO] [stdout] test index::flags::tests::template_id_zero_default ... ok [INFO] [stdout] test index::meta::tests::bad_version ... ok [INFO] [stdout] test index::meta::tests::column_bit_operations ... ok [INFO] [stdout] test index::meta::tests::reserved_bytes_are_zero ... ok [INFO] [stdout] test index::meta::tests::roundtrip ... ok [INFO] [stdout] test index::meta::tests::default_values ... ok [INFO] [stdout] test index::reader::tests::test_candidate_bitmap ... ok [INFO] [stdout] test index::reader::tests::test_empty_index ... ok [INFO] [stdout] test index::reader::tests::test_flags_access ... ok [INFO] [stdout] test index::reader::tests::test_scan_flags_json_only ... ok [INFO] [stdout] test index::reader::tests::test_len_and_empty ... ok [INFO] [stdout] test index::reader::tests::test_scan_flags_no_matches ... ok [INFO] [stdout] test index::reader::tests::test_scan_flags_with_limit ... ok [INFO] [stdout] test index::meta::tests::write_and_read_file ... ok [INFO] [stdout] test index::meta::tests::invalid_magic ... ok [INFO] [stdout] test index::reader::tests::test_scan_flags_json_errors ... ok [INFO] [stdout] test index::meta::tests::truncated_file ... ok [INFO] [stdout] test source::tests::test_create_secure_dir ... ignored [INFO] [stdout] test source::tests::test_create_secure_dir_recursive ... ignored [INFO] [stdout] test index::reader::tests::test_stats_rejects_stale_index_after_content_change ... ok [INFO] [stdout] test source::tests::test_discover_sources ... ignored [INFO] [stdout] test source::tests::test_discover_sources_for_context_empty_project_dir ... ignored [INFO] [stdout] test source::tests::test_discover_sources_for_context_project_before_global ... ignored [INFO] [stdout] test source::tests::test_discover_sources_for_context_project_shadows_global ... ignored [INFO] [stdout] test source::tests::test_ensure_directories ... ignored [INFO] [stdout] test source::tests::test_ensure_directories_for_context_project ... ignored [INFO] [stdout] test index::validate::tests::empty_index_passes ... ok [INFO] [stdout] test index::reader::tests::test_stats_accepts_grown_file ... ok [INFO] [stdout] test source::tests::test_is_pid_running_nonexistent ... ok [INFO] [stdout] test index::reader::tests::test_stats_rejects_stale_index_after_file_shrink ... ok [INFO] [stdout] test index::reader::tests::test_stats_valid_index ... ok [INFO] [stdout] test source::tests::test_is_pid_running_self ... ok [INFO] [stdout] test source::tests::test_marker_creation_and_removal ... ignored [INFO] [stdout] test source::tests::test_marker_for_context ... ignored [INFO] [stdout] test source::tests::test_resolve_data_dir_with_project ... ok [INFO] [stdout] test source::tests::test_resolve_sources_dir_with_project ... ok [INFO] [stdout] test source::tests::test_stale_marker_cleaned_on_create ... ignored [INFO] [stdout] test source::tests::test_resolve_source_in_found ... ok [INFO] [stdout] test source::tests::test_resolve_sources_dir_without_project ... ok [INFO] [stdout] test index::validate::tests::grown_file_full_trust ... ok [INFO] [stdout] test source::tests::test_resolve_data_dir_without_project ... ok [INFO] [stdout] test index::validate::tests::file_replaced_detected_by_hash ... ok [INFO] [stdout] test source::tests::test_validate_source_name_invalid ... ok [INFO] [stdout] test index::validate::tests::inflated_entry_count_rejected ... ok [INFO] [stdout] test index::validate::tests::valid_index_full_trust ... ok [INFO] [stdout] test index::validate::tests::corrupt_last_checkpoint_partial_trust ... ok [INFO] [stdout] test source::tests::test_resolve_source_in_not_found ... ok [INFO] [stdout] test source::tests::test_resolve_source_in_rejects_invalid_name ... ok [INFO] [stdout] test theme::loader::tests::test_collect_themes_dirs ... ignored [INFO] [stdout] test source::tests::test_validate_source_name_valid ... ok [INFO] [stdout] test theme::loader::tests::test_discover_themes_finds_yaml_files ... ignored [INFO] [stdout] test index::validate::tests::all_checkpoints_corrupt_returns_none ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_custom_ui_bg_override ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_external_cycle_detection ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_external_theme_file ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_custom_palette_override ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_external_with_base_dark ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_external_with_base_external ... ignored [INFO] [stdout] test index::validate::tests::no_checkpoints_trusts_full ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_custom_ui_override ... ok [INFO] [stdout] test theme::loader::tests::test_discover_themes_empty_dir ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_light_string ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_palette_override_then_ui_override ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_unknown_name_includes_external_themes ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_dark_string ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_none_returns_dark ... ok [INFO] [stdout] test theme::tests::test_dark_theme_matches_hardcoded_values ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_unknown_name_error ... ok [INFO] [stdout] test theme::tests::test_dark_palette_derives_expected_ui_colors ... ok [INFO] [stdout] test theme::tests::test_light_theme_uses_light_severity_backgrounds ... ok [INFO] [stdout] test theme::tests::test_light_palette_derives_different_from_dark ... ok [INFO] [stdout] test theme::tests::test_palette_get_color_unknown ... ok [INFO] [stdout] test theme::tests::test_palette_get_color_standard ... ok [INFO] [stdout] test theme::tests::test_parse_color_default ... ok [INFO] [stdout] test theme::tests::test_parse_color_hex_6digit ... ok [INFO] [stdout] test theme::tests::test_parse_color_hex_invalid ... ok [INFO] [stdout] test theme::tests::test_source_colors_default ... ok [INFO] [stdout] test theme::tests::test_parse_color_hex_3digit ... ok [INFO] [stdout] test theme::tests::test_parse_color_invalid ... ok [INFO] [stdout] test theme::tests::test_parse_color_named ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 186 passed; 0 failed; 41 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lazytail-b949a9e34f5738c0) [INFO] [stdout] [INFO] [stdout] running 737 tests [INFO] [stdout] test app::tab::tests::test_expansion_with_empty_file ... ok [INFO] [stdout] test app::tab::tests::test_collapse_all ... ok [INFO] [stdout] test app::tab::tests::test_jump_to_line ... ok [INFO] [stdout] test app::tab::tests::test_expansion_survives_filter ... ok [INFO] [stdout] test app::tab::tests::test_expansion_with_out_of_bounds_selected_line ... ok [INFO] [stdout] test app::tab::tests::test_mouse_scroll ... ok [INFO] [stdout] test app::tab::tests::test_navigation ... ok [INFO] [stdout] test app::tab::tests::test_clear_filter ... ok [INFO] [stdout] test app::tab::tests::test_filter_application ... ok [INFO] [stdout] test app::tab::tests::test_follow_mode ... ok [INFO] [stdout] test app::tab::tests::test_single_expand_mode ... ok [INFO] [stdout] test app::tab::tests::test_tab_creation ... ok [INFO] [stdout] test app::tab::tests::test_page_navigation ... ok [INFO] [stdout] test app::tab::tests::test_tab_name_extraction ... ok [INFO] [stdout] test app::tab::tests::test_multiple_expanded_lines ... ok [INFO] [stdout] test app::tab::tests::test_toggle_expansion ... ok [INFO] [stdout] test app::tests::test_add_to_history_skips_duplicates ... ok [INFO] [stdout] test app::tests::test_add_to_history_same_pattern_different_mode ... ok [INFO] [stdout] test app::tests::test_copy_selected_line_noop_on_empty ... ok [INFO] [stdout] test app::tests::test_backspace_at_start ... ok [INFO] [stdout] test app::tests::test_clear_filter ... ok [INFO] [stdout] test app::tests::test_app_initialization ... ok [INFO] [stdout] test app::tests::test_collapse_all_event ... ok [INFO] [stdout] test app::tests::test_build_source_tree_items_respects_collapsed ... ok [INFO] [stdout] test app::tests::test_confirm_close_tab_closes_and_restores_mode ... ok [INFO] [stdout] test app::tests::test_cursor_at_boundaries ... ok [INFO] [stdout] test app::tests::test_backspace_at_cursor ... ok [INFO] [stdout] test app::tests::test_close_tab_request_sets_mode_and_stores_index ... ok [INFO] [stdout] test app::tests::test_add_to_history ... ok [INFO] [stdout] test app::tests::test_cursor_home_end ... ok [INFO] [stdout] test app::tests::test_build_source_tree_items_returns_correct_items ... ok [INFO] [stdout] test app::tests::test_confirm_close_verifies_tab_identity ... ok [INFO] [stdout] test app::tests::test_cursor_left_right ... ok [INFO] [stdout] test app::tests::test_copy_selected_line_strips_ansi ... ok [INFO] [stdout] test app::tests::test_copy_selected_line_sets_status_message ... ok [INFO] [stdout] test app::tests::test_cancel_close_tab_restores_mode_without_closing ... ok [INFO] [stdout] test app::tests::test_filter_application ... ok [INFO] [stdout] test app::tests::test_history_navigation_restores_case_sensitivity ... ok [INFO] [stdout] test app::tests::test_cursor_with_unicode ... ok [INFO] [stdout] test app::tests::test_cycle_mode_case_sensitivity_behavior ... ok [INFO] [stdout] test app::tests::test_follow_mode_toggle ... ok [INFO] [stdout] test app::tests::test_history_sets_cursor_to_end ... ok [INFO] [stdout] test app::tests::test_help_mode_toggle ... ok [INFO] [stdout] test app::tests::test_filter_input_mode ... ok [INFO] [stdout] test app::tests::test_cursor_moves_with_input ... ok [INFO] [stdout] test app::tests::test_cursor_starts_at_zero ... ok [INFO] [stdout] test app::tests::test_history_navigation ... ok [INFO] [stdout] test app::tests::test_insert_at_cursor ... ok [INFO] [stdout] test app::tests::test_mouse_click_ignored_during_filter_input ... ok [INFO] [stdout] test app::tests::test_mouse_click_dismisses_help ... ok [INFO] [stdout] test app::tests::test_line_jump_input_mode ... ok [INFO] [stdout] test app::tests::test_mouse_click_log_view_selects_line ... ok [INFO] [stdout] test app::tests::test_mouse_click_ignored_during_confirm_close ... ok [INFO] [stdout] test app::tests::test_mouse_click_side_panel_toggles_category ... ok [INFO] [stdout] test app::tests::test_regex_validation_on_mode_toggle ... ok [INFO] [stdout] test app::tests::test_mouse_click_side_panel_selects_tab ... ok [INFO] [stdout] test app::tests::test_regex_validation_clears_on_backspace ... ok [INFO] [stdout] test app::tests::test_regex_validation_not_checked_in_plain_mode ... ok [INFO] [stdout] test app::tests::test_navigation_basic ... ok [INFO] [stdout] test app::tests::test_page_navigation ... ok [INFO] [stdout] test app::tests::test_regex_validation_invalid_regex ... ok [INFO] [stdout] test app::viewport::tests::test_center ... ok [INFO] [stdout] test app::viewport::tests::test_filter_preserves_position ... ok [INFO] [stdout] test app::viewport::tests::test_filter_snaps_to_nearest_when_line_removed ... ok [INFO] [stdout] test app::viewport::tests::test_jump_to_end ... ok [INFO] [stdout] test app::viewport::tests::test_jump_to_start ... ok [INFO] [stdout] test app::viewport::tests::test_move_selection_clamps_at_start ... ok [INFO] [stdout] test app::viewport::tests::test_move_selection_up ... ok [INFO] [stdout] test app::tests::test_per_tab_state_isolation ... ok [INFO] [stdout] test app::viewport::tests::test_move_selection_clamps_at_end ... ok [INFO] [stdout] test app::tests::test_multiple_tabs ... ok [INFO] [stdout] test app::viewport::tests::test_move_viewport_down ... ok [INFO] [stdout] test app::viewport::tests::test_move_viewport_down_selection_moves_with_scroll ... ok [INFO] [stdout] test app::viewport::tests::test_move_selection_down ... ok [INFO] [stdout] test app::viewport::tests::test_move_viewport_down_at_max_scroll_moves_selection ... ok [INFO] [stdout] test app::viewport::tests::test_move_viewport_up ... ok [INFO] [stdout] test app::tests::test_toggle_line_expansion_event ... ok [INFO] [stdout] test app::viewport::tests::test_move_viewport_up_at_start_moves_selection ... ok [INFO] [stdout] test app::tests::test_select_tab_uses_shortcut_mapping ... ok [INFO] [stdout] test app::tests::test_toggle_filter_mode ... ok [INFO] [stdout] test app::tests::test_toggle_case_sensitivity ... ok [INFO] [stdout] test app::viewport::tests::test_resolve_basic ... ok [INFO] [stdout] test app::tests::test_regex_validation_valid_regex ... ok [INFO] [stdout] test app::viewport::tests::test_move_viewport_up_selection_moves_with_scroll ... ok [INFO] [stdout] test app::viewport::tests::test_resolve_line_not_found_before_all ... ok [INFO] [stdout] test app::tests::test_tab_events ... ok [INFO] [stdout] test app::tests::test_tab_index_for_shortcut_mixed_types ... ok [INFO] [stdout] test app::viewport::tests::test_vim_like_scrolling_scroll_at_bottom ... ok [INFO] [stdout] test app::viewport::tests::test_resolve_empty_lines ... ok [INFO] [stdout] test app::tests::test_tab_navigation ... ok [INFO] [stdout] test app::viewport::tests::test_new_viewport ... ok [INFO] [stdout] test app::tests::test_tab_index_for_shortcut_same_type ... ok [INFO] [stdout] test capture::tests::test_validate_name ... ok [INFO] [stdout] test cli::bench::tests::test_build_filter_query ... ok [INFO] [stdout] test cli::bench::tests::test_build_filter_plain ... ok [INFO] [stdout] test cli::bench::tests::test_build_filter_invalid_regex ... ok [INFO] [stdout] test app::viewport::tests::test_scroll_with_selection ... ok [INFO] [stdout] test app::viewport::tests::test_vim_like_scrolling_no_scroll_in_middle ... ok [INFO] [stdout] test app::viewport::tests::test_resolve_line_not_found_finds_nearest ... ok [INFO] [stdout] test app::viewport::tests::test_resolve_line_not_found_after_all ... ok [INFO] [stdout] test cli::bench::tests::test_collect_filter_results_complete ... ok [INFO] [stdout] test cli::bench::tests::test_collect_filter_results_error ... ok [INFO] [stdout] test cli::bench::tests::test_compute_stats_basic ... ok [INFO] [stdout] test cli::bench::tests::test_collect_filter_results_partial_then_complete ... ok [INFO] [stdout] test cli::bench::tests::test_format_duration ... ok [INFO] [stdout] test cli::bench::tests::test_run_plain_text_shows_both_paths ... ignored [INFO] [stdout] test cli::bench::tests::test_run_regex_no_paths_compare ... ignored [INFO] [stdout] test cli::bench::tests::test_run_trials_fast_finds_matches ... ignored [INFO] [stdout] test cli::bench::tests::test_run_trials_fast_matches_run_trials ... ignored [INFO] [stdout] test cli::bench::tests::test_format_size ... ok [INFO] [stdout] test cli::bench::tests::test_run_trials_fast_no_matches ... ignored [INFO] [stdout] test cli::bench::tests::test_compute_stats_single_trial ... ok [INFO] [stdout] test cli::init::tests::test_generate_config_template_contains_project_name ... ok [INFO] [stdout] test cli::init::tests::test_generate_config_template_has_commented_sources ... ok [INFO] [stdout] test capture::tests::test_capture_rendering_integration ... ok [INFO] [stdout] test cli::theme::tests::test_detect_format_by_content ... ok [INFO] [stdout] test cli::init::tests::test_generate_config_template_has_renderer_section ... ok [INFO] [stdout] test cli::theme::tests::test_detect_format_by_extension ... ok [INFO] [stdout] test cli::theme::tests::test_import_creates_file ... ignored [INFO] [stdout] test cli::init::tests::test_generate_config_template_has_theme_section ... ok [INFO] [stdout] test cli::theme::tests::test_detect_format_unknown ... ok [INFO] [stdout] test cli::theme::tests::test_parse_alacritty_toml_dracula ... ok [INFO] [stdout] test cli::theme::tests::test_parse_ghostty_no_colors ... ok [INFO] [stdout] test cli::theme::tests::test_parse_ghostty_with_hash_prefix ... ok [INFO] [stdout] test cli::theme::tests::test_parse_ghostty_dracula ... ok [INFO] [stdout] test cli::theme::tests::test_parse_iterm2_plist ... ok [INFO] [stdout] test cli::theme::tests::test_parse_iterm2_plist_no_colors ... ok [INFO] [stdout] test cli::theme::tests::test_parse_alacritty_toml_no_colors ... ok [INFO] [stdout] test cli::theme::tests::test_parse_windows_terminal_json_missing_keys ... ok [INFO] [stdout] test config::discovery::tests::test_data_dir_derived_from_project_root ... ignored [INFO] [stdout] test config::discovery::tests::test_finds_config_in_current_dir ... ignored [INFO] [stdout] test config::discovery::tests::test_finds_config_in_parent_dir ... ignored [INFO] [stdout] test config::discovery::tests::test_global_config_detection ... ignored [INFO] [stdout] test cli::theme::tests::test_parse_windows_terminal_json_dracula ... ok [INFO] [stdout] test config::discovery::tests::test_data_dir_none_without_project_root ... ok [INFO] [stdout] test config::discovery::tests::test_no_config_returns_defaults ... ignored [INFO] [stdout] test config::discovery::tests::test_verbose_returns_searched_paths ... ignored [INFO] [stdout] test config::discovery::tests::test_walk_stops_at_root ... ignored [INFO] [stdout] test config::discovery::tests::test_has_config_methods ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_io ... ok [INFO] [stdout] test cli::theme::tests::test_parse_windows_terminal_json_purple_maps_to_magenta ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_parse_with_suggestion ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_parse_without_suggestion ... ok [INFO] [stdout] test config::error::tests::test_config_error_display_validation ... ok [INFO] [stdout] test config::error::tests::test_extract_location_no_location ... ok [INFO] [stdout] test config::error::tests::test_extract_location_line_column ... ok [INFO] [stdout] test cli::bench::tests::test_build_filter_regex ... ok [INFO] [stdout] test config::error::tests::test_extract_unknown_field ... ok [INFO] [stdout] test config::error::tests::test_extract_unknown_field_no_match ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_max_width ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_no_match ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_renderers ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_source_typo ... ok [INFO] [stdout] test cli::theme::tests::test_write_theme_yaml_roundtrip ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_style_map ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_typo ... ok [INFO] [stdout] test config::error::tests::test_find_suggestion_typo_path ... ok [INFO] [stdout] test config::loader::tests::test_expand_path_absolute ... ok [INFO] [stdout] test config::loader::tests::test_expand_path_relative ... ok [INFO] [stdout] test config::loader::tests::test_invalid_yaml_syntax ... ignored [INFO] [stdout] test config::loader::tests::test_load_both_configs ... ignored [INFO] [stdout] test config::loader::tests::test_load_config_with_renderers ... ignored [INFO] [stdout] test config::loader::tests::test_load_config_with_style_map_and_max_width ... ignored [INFO] [stdout] test config::loader::tests::test_expand_path_tilde ... ok [INFO] [stdout] test config::loader::tests::test_load_config_with_style_when ... ignored [INFO] [stdout] test config::loader::tests::test_expand_path_tilde_only ... ok [INFO] [stdout] test config::loader::tests::test_load_empty_discovery ... ignored [INFO] [stdout] test config::loader::tests::test_load_empty_yaml ... ignored [INFO] [stdout] test config::loader::tests::test_load_minimal_config ... ignored [INFO] [stdout] test config::loader::tests::test_load_missing_file ... ignored [INFO] [stdout] test config::loader::tests::test_load_project_config ... ignored [INFO] [stdout] test config::loader::tests::test_load_source_optional_path ... ignored [INFO] [stdout] test config::loader::tests::test_load_source_with_renderers ... ignored [INFO] [stdout] test config::loader::tests::test_load_unknown_field_error ... ignored [INFO] [stdout] test config::loader::tests::test_load_unknown_renderer_field_error ... ignored [INFO] [stdout] test config::loader::tests::test_source_existence_check ... ignored [INFO] [stdout] test filter::aggregation::tests::test_compute_empty_indices ... ok [INFO] [stdout] test filter::aggregation::tests::test_compute_json_multiple_fields ... ok [INFO] [stdout] test filter::aggregation::tests::test_compute_logfmt ... ok [INFO] [stdout] test filter::aggregation::tests::test_compute_json_single_field ... ok [INFO] [stdout] test filter::aggregation::tests::test_compute_missing_field ... ok [INFO] [stdout] test filter::cancel::tests::test_cancel ... ok [INFO] [stdout] test filter::cancel::tests::test_cancel_from_clone ... ok [INFO] [stdout] test filter::aggregation::tests::test_compute_preserves_line_indices ... ok [INFO] [stdout] test filter::cancel::tests::test_default ... ok [INFO] [stdout] test filter::cancel::tests::test_clone_shares_state ... ok [INFO] [stdout] test filter::aggregation::tests::test_compute_with_limit ... ok [INFO] [stdout] test filter::cancel::tests::test_new_token_not_cancelled ... ok [INFO] [stdout] test filter::cancel::tests::test_reset ... ok [INFO] [stdout] test filter::engine::tests::test_filter_all_matching ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_entry_preserves_case_sensitivity ... ok [INFO] [stdout] test filter::engine::tests::test_case_sensitive_filter ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_entry_with_regex_mode ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_matches_different_case_sensitivity ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_matches_different_mode ... ok [INFO] [stdout] test filter::engine::tests::test_filter_range_start_only ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_matches_same_pattern_and_mode ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_plain_to_regex ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_preserves_case_plain_to_regex ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_matches_different_pattern ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_full_cycle ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_query_to_plain ... ok [INFO] [stdout] test filter::engine::tests::test_filter_empty_reader ... ok [INFO] [stdout] test filter::engine::tests::test_filter_progress_updates ... ok [INFO] [stdout] test filter::engine::tests::test_filter_all_lines_match ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_query_to_plain_resets_case ... ok [INFO] [stdout] test filter::filter_history_entry_tests::test_new_entry ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_regex_to_query_drops_case ... ok [INFO] [stdout] test filter::filter_mode_tests::test_cycle_mode_regex_to_query ... ok [INFO] [stdout] test filter::engine::tests::test_filter_range ... ok [INFO] [stdout] test filter::filter_mode_tests::test_default_is_plain_case_insensitive ... ok [INFO] [stdout] test filter::engine::tests::test_filter_no_matches ... ok [INFO] [stdout] test filter::filter_mode_tests::test_filter_mode_clone ... ok [INFO] [stdout] test filter::filter_mode_tests::test_plain_constructor ... ok [INFO] [stdout] test filter::filter_mode_tests::test_prompt_label_plain ... ok [INFO] [stdout] test filter::filter_mode_tests::test_regex_constructor ... ok [INFO] [stdout] test filter::filter_mode_tests::test_toggle_case_sensitivity_plain ... ok [INFO] [stdout] test filter::filter_mode_tests::test_toggle_case_sensitivity_query_noop ... ok [INFO] [stdout] test filter::filter_mode_tests::test_toggle_case_sensitivity_regex ... ok [INFO] [stdout] test filter::filter_mode_tests::test_query_constructor ... ok [INFO] [stdout] test filter::filter_mode_tests::test_prompt_label_regex ... ok [INFO] [stdout] test filter::filter_mode_tests::test_prompt_label_query ... ok [INFO] [stdout] test filter::orchestrator::tests::cancel_stops_filter ... ok [INFO] [stdout] test filter::orchestrator::tests::full_filter_clears_needs_clear ... ok [INFO] [stdout] test filter::orchestrator::tests::cancel_previous_filter_on_retrigger ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_empty_file_with_index ... ok [INFO] [stdout] test filter::orchestrator::tests::invalid_regex_returns_error ... ok [INFO] [stdout] test filter::orchestrator::tests::incremental_filter_sets_is_incremental ... ok [INFO] [stdout] test filter::orchestrator::tests::plain_text_filter_finds_matches ... ok [INFO] [stdout] test filter::cancel::tests::test_cooperative_cancellation_pattern ... ok [INFO] [stdout] test filter::query::tests::test_aggregation_json_deserialize ... ok [INFO] [stdout] test filter::query::tests::test_aggregation_json_deserialize_absent ... ok [INFO] [stdout] test filter::orchestrator::tests::invalid_query_returns_error ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_no_index_falls_back_correctly ... ok [INFO] [stdout] test filter::query::tests::test_aggregation_json_deserialize_no_limit ... ok [INFO] [stdout] test filter::query::tests::test_deeply_nested_field ... ok [INFO] [stdout] test filter::query::tests::test_extract_json_field_array_index_out_of_bounds ... ok [INFO] [stdout] test filter::query::tests::test_extract_json_field_numeric_key_on_object ... ok [INFO] [stdout] test filter::query::tests::test_extract_json_field_array_index ... ok [INFO] [stdout] test filter::query::tests::test_filter_query_defaults ... ok [INFO] [stdout] test filter::query::tests::test_extract_json_field_array_index_nested ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_index_shorter_than_file_appended_lines ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_index_mask_does_not_drop_matches ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_indexed_json_only_no_filters ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_json_only ... ok [INFO] [stdout] test filter::query::tests::test_filter_query_deserialize ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_indexed_logfmt_query_matches_unindexed ... ok [INFO] [stdout] test filter::query::tests::test_filter_query_with_exclude ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_logfmt_level_warn ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_ne_no_severity ... ok [INFO] [stdout] test filter::query::tests::test_has_aggregation ... ok [INFO] [stdout] test filter::orchestrator::tests::regex_filter_finds_matches ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_json_level_error ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_raw_returns_none ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_indexed_json_no_level_filter ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_severity_aliases ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_unknown_level_no_severity ... ok [INFO] [stdout] test filter::query::tests::test_index_mask_json_no_level_filter ... ok [INFO] [stdout] test filter::query::tests::test_logfmt_filter ... ok [INFO] [stdout] test filter::query::tests::test_logfmt_exclude ... ok [INFO] [stdout] test filter::query::tests::test_logfmt_numeric_comparison ... ok [INFO] [stdout] test filter::query::tests::test_parse_count_by_logfmt ... ok [INFO] [stdout] test filter::query::tests::test_parse_count_by_multiple_fields ... ok [INFO] [stdout] test filter::query::tests::test_parse_count_by_no_filters ... ok [INFO] [stdout] test filter::query::tests::test_parse_count_by_single_field ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_indexed_filter_with_multiple_conditions ... ok [INFO] [stdout] test filter::query::tests::test_parse_count_by_with_top ... ok [INFO] [stdout] test filter::query::tests::test_parse_error_invalid_parser ... ok [INFO] [stdout] test filter::query::tests::test_parse_deep_nested_field ... ok [INFO] [stdout] test filter::query::tests::test_logfmt_text_parser ... ok [INFO] [stdout] test filter::query::tests::test_operator_deserialize ... ok [INFO] [stdout] test filter::query::tests::test_parse_error_unterminated_string ... ok [INFO] [stdout] test filter::query::tests::test_parse_all_operators ... ok [INFO] [stdout] test filter::index_filter_integration_tests::test_indexed_json_query_matches_unindexed ... ok [INFO] [stdout] test filter::query::tests::test_parse_json_only ... ok [INFO] [stdout] test filter::query::tests::test_parse_logfmt_basic ... ok [INFO] [stdout] test filter::query::tests::test_parse_logfmt_query ... ok [INFO] [stdout] test filter::query::tests::test_parse_logfmt_quoted ... ok [INFO] [stdout] test filter::query::tests::test_parse_multiple_filters ... ok [INFO] [stdout] test filter::query::tests::test_nested_field_json ... ok [INFO] [stdout] test filter::query::tests::test_parse_error_missing_operator ... ok [INFO] [stdout] test filter::query::tests::test_parse_quoted_string_with_spaces ... ok [INFO] [stdout] test filter::query::tests::test_parse_simple_json_query ... ok [INFO] [stdout] test filter::query::tests::test_parse_single_quoted_string_with_escapes ... ok [INFO] [stdout] test filter::query::tests::test_parse_single_quoted_string ... ok [INFO] [stdout] test filter::cancel::tests::test_thread_safety ... ok [INFO] [stdout] test filter::query::tests::test_parse_unquoted_value ... ok [INFO] [stdout] test filter::query::tests::test_parse_quoted_string_with_escapes ... ok [INFO] [stdout] test filter::query::tests::test_parser_deserialize ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_contains ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_boolean_field ... ok [INFO] [stdout] test filter::query::tests::test_parse_single_quoted_string_with_spaces ... ok [INFO] [stdout] test filter::query::tests::test_parse_nested_field ... ok [INFO] [stdout] test filter::query::tests::test_parse_single_quotes_containing_double_quotes ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_eq ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_gt ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_exclude ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_invalid_json ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_invalid_regex ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_lte ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_ne ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_raw_parser ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_numeric_comparison ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_raw_parser_with_filters ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_lt ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_null_field ... ok [INFO] [stdout] test filter::query::tests::test_text_parser_invalid_regex ... ok [INFO] [stdout] test filter::query::tests::test_text_parser_numeric_filter ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_multiple_conditions ... ok [INFO] [stdout] test filter::query::tests::test_text_parser_filter_execution ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_string_comparison ... ok [INFO] [stdout] test filter::regex_filter::tests::test_basic_regex_matching ... ok [INFO] [stdout] test filter::regex_filter::tests::test_invalid_regex ... ok [INFO] [stdout] test filter::regex_filter::tests::test_case_sensitive_regex ... ok [INFO] [stdout] test filter::regex_filter::tests::test_special_characters_escaped ... ok [INFO] [stdout] test filter::regex_filter::tests::test_quantifiers ... ok [INFO] [stdout] test filter::regex_filter::tests::test_unicode_regex ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_not_regex ... ok [INFO] [stdout] test filter::query::tests::test_text_parser_regex_filter ... ok [INFO] [stdout] test filter::regex_filter::tests::test_alternation ... ok [INFO] [stdout] test filter::query::tests::test_query_filter_regex ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_fast_filter_case_insensitive ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_fast_filter_case_sensitive ... ok [INFO] [stdout] test filter::regex_filter::tests::test_pattern_anchors ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_all_candidates ... ok [INFO] [stdout] test filter::regex_filter::tests::test_case_insensitive_regex ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_no_candidates ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_empty_file ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_bitmap_shorter_than_file ... ok [INFO] [stdout] test filter::regex_filter::tests::test_word_boundaries ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_empty_bitmap ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_empty_file ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_basic ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_range_byte_offset_matches_scan ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_range ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_range_bitmap_shorter_than_range ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_skips_non_candidates ... ok [INFO] [stdout] test filter::string_filter::tests::test_case_sensitive_matching ... ok [INFO] [stdout] test filter::string_filter::tests::test_empty_pattern ... ok [INFO] [stdout] test filter::string_filter::tests::test_partial_matching ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_range_with_byte_offset ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_indexed_filter_same_results_as_regular ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_no_matches ... ok [INFO] [stdout] test filter::string_filter::tests::test_case_insensitive_matching ... ok [INFO] [stdout] test filter::string_filter::tests::test_unicode_characters ... ok [INFO] [stdout] test filter::string_filter::tests::test_whitespace_handling ... ok [INFO] [stdout] test handlers::filter::tests::test_filter_complete_full ... ok [INFO] [stdout] test filter::string_filter::tests::test_special_characters ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_case_insensitive ... ok [INFO] [stdout] test handlers::filter::tests::test_filter_complete_incremental ... ok [INFO] [stdout] test handlers::filter::tests::test_filter_error ... ok [INFO] [stdout] test handlers::filter::tests::test_filter_processing ... ok [INFO] [stdout] test filter::streaming_filter::tests::test_streaming_filter_range_with_bitmap ... ok [INFO] [stdout] test filter::regex_filter::tests::test_character_classes ... ok [INFO] [stdout] test handlers::file_events::tests::test_file_grew_filtered_mode ... ok [INFO] [stdout] test handlers::file_events::tests::test_file_grew_normal_mode ... ok [INFO] [stdout] test handlers::file_events::tests::test_file_truncated ... ok [INFO] [stdout] test handlers::input::tests::test_confirm_close_y_confirms ... ok [INFO] [stdout] test handlers::input::tests::test_ctrl_y_viewport_up_not_copy ... ok [INFO] [stdout] test handlers::input::tests::test_confirm_close_n_cancels ... ok [INFO] [stdout] test handlers::file_events::tests::test_file_same_size ... ok [INFO] [stdout] test handlers::input::tests::test_confirm_close_ignores_other_keys ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_char ... ok [INFO] [stdout] test handlers::input::tests::test_confirm_close_enter_confirms ... ok [INFO] [stdout] test handlers::input::tests::test_confirm_close_esc_cancels ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_ctrl_a_home ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_cursor_home ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_cursor_end ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_cancel ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_backspace ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_cursor_left ... ok [INFO] [stdout] test filter::regex_filter::tests::test_complex_log_pattern ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_history_down ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_ctrl_e_end ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_cursor_right ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_history_up ... ok [INFO] [stdout] test handlers::input::tests::test_filter_input_submit ... ok [INFO] [stdout] test handlers::input::tests::test_hide_help_on_any_key ... ok [INFO] [stdout] test handlers::input::tests::test_jump_to_end ... ok [INFO] [stdout] test handlers::input::tests::test_jump_to_start ... ok [INFO] [stdout] test handlers::input::tests::test_line_jump_input_cancel ... ok [INFO] [stdout] test filter::engine::tests::test_large_file_simulation ... ok [INFO] [stdout] test handlers::input::tests::test_line_jump_input_backspace ... ok [INFO] [stdout] test handlers::input::tests::test_line_jump_input_char ... ok [INFO] [stdout] test handlers::input::tests::test_line_jump_input_cursor_left ... ok [INFO] [stdout] test handlers::input::tests::test_line_jump_input_submit ... ok [INFO] [stdout] test handlers::input::tests::test_line_jump_input_cursor_right ... ok [INFO] [stdout] test handlers::input::tests::test_quit_on_q ... ok [INFO] [stdout] test handlers::input::tests::test_quit_on_ctrl_c ... ok [INFO] [stdout] test handlers::input::tests::test_show_help ... ok [INFO] [stdout] test handlers::input::tests::test_quit_from_help_mode ... ok [INFO] [stdout] test handlers::input::tests::test_start_line_jump_input ... ok [INFO] [stdout] test handlers::input::tests::test_select_tab_by_number ... ok [INFO] [stdout] test handlers::input::tests::test_tab_focuses_source_panel ... ok [INFO] [stdout] test handlers::input::tests::test_scroll_down ... ok [INFO] [stdout] test history::tests::test_history_serialization ... ok [INFO] [stdout] test handlers::input::tests::test_start_filter_input ... ok [INFO] [stdout] test handlers::input::tests::test_scroll_help ... ok [INFO] [stdout] test handlers::input::tests::test_scroll_up ... ok [INFO] [stdout] test handlers::input::tests::test_source_panel_y_copies_path_not_line ... ok [INFO] [stdout] test history::tests::test_load_missing_file ... ok [INFO] [stdout] test handlers::input::tests::test_source_panel_x_closes_selected ... ok [INFO] [stdout] test handlers::input::tests::test_toggle_follow_mode ... ok [INFO] [stdout] test mcp::ansi::tests::bold_and_reset ... ok [INFO] [stdout] test mcp::ansi::tests::character_set_designators ... ok [INFO] [stdout] test mcp::ansi::tests::empty_string ... ok [INFO] [stdout] test mcp::ansi::tests::cursor_movement ... ok [INFO] [stdout] test mcp::ansi::tests::color_256 ... ok [INFO] [stdout] test history::tests::test_save_and_load_roundtrip ... ok [INFO] [stdout] test mcp::ansi::tests::mixed_content ... ok [INFO] [stdout] test handlers::input::tests::test_toggle_raw_mode ... ok [INFO] [stdout] test handlers::input::tests::test_viewport_up_ctrl_y ... ok [INFO] [stdout] test handlers::input::tests::test_viewport_down_ctrl_e ... ok [INFO] [stdout] test handlers::input::tests::test_y_copies_selected_line ... ok [INFO] [stdout] test mcp::format::tests::context_text_basic ... ok [INFO] [stdout] test mcp::format::tests::context_text_prefers_rendered ... ok [INFO] [stdout] test mcp::ansi::tests::plain_text_passthrough ... ok [INFO] [stdout] test mcp::format::tests::lines_text_basic ... ok [INFO] [stdout] test mcp::format::tests::lines_text_empty ... ok [INFO] [stdout] test mcp::format::tests::context_text_no_surrounding_lines ... ok [INFO] [stdout] test filter::regex_filter::tests::test_capturing_groups ... ok [INFO] [stdout] test mcp::format::tests::lines_text_falls_back_to_content ... ok [INFO] [stdout] test mcp::ansi::tests::osc_hyperlinks ... ok [INFO] [stdout] test mcp::ansi::tests::multiple_sequences_adjacent ... ok [INFO] [stdout] test mcp::ansi::tests::sgr_colors ... ok [INFO] [stdout] test mcp::format::tests::lines_text_json_content_verbatim ... ok [INFO] [stdout] test mcp::ansi::tests::truecolor_rgb ... ok [INFO] [stdout] test mcp::format::tests::lines_text_prefers_rendered ... ok [INFO] [stdout] test mcp::format::tests::lines_text_pipe_in_content ... ok [INFO] [stdout] test mcp::format::tests::search_text_empty ... ok [INFO] [stdout] test mcp::format::tests::search_text_json_content_verbatim ... ok [INFO] [stdout] test mcp::format::tests::search_text_basic ... ok [INFO] [stdout] test mcp::format::tests::search_text_truncated ... ok [INFO] [stdout] test mcp::format::tests::search_text_with_context ... ok [INFO] [stdout] test mcp::format::tests::search_text_small_response_not_truncated ... ok [INFO] [stdout] test mcp::tools::tests::get_context_preserves_ansi_when_raw ... ok [INFO] [stdout] test mcp::tools::tests::default_output_is_text ... ok [INFO] [stdout] test mcp::tools::tests::get_context_full_content_skips_truncation ... ok [INFO] [stdout] test mcp::tools::tests::get_context_text_format ... ok [INFO] [stdout] test mcp::tools::tests::get_context_strips_ansi_by_default ... ok [INFO] [stdout] test mcp::tools::tests::get_context_truncates_long_lines ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_text_format ... ok [INFO] [stdout] test mcp::tools::tests::get_context_with_rendered ... ok [INFO] [stdout] test mcp::format::tests::search_text_output_budget_caps_output ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_full_content_skips_truncation ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_text_format_strips_ansi ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_truncates_long_lines ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_plain_text_no_rendered ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_strips_ansi_by_default ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_with_rendered ... ok [INFO] [stdout] test mcp::tools::tests::get_lines_preserves_ansi_when_raw ... ok [INFO] [stdout] test mcp::tools::tests::get_stats_text_format ... ok [INFO] [stdout] test mcp::tools::tests::get_stats_no_index ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_since_line_returns_new_lines ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_since_line_at_end ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_since_line_beyond_end ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_since_line_with_count ... ok [INFO] [stdout] test mcp::tools::tests::query_invalid_regex_returns_error ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_with_rendered ... ok [INFO] [stdout] test mcp::tools::tests::json_content_preserved_when_raw ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_text_format ... ok [INFO] [stdout] test mcp::tools::tests::json_content_in_lines_survives_stripping ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_preserves_ansi_when_raw ... ok [INFO] [stdout] test mcp::tools::tests::query_json_eq_filter ... ok [INFO] [stdout] test mcp::tools::tests::list_sources_renderer_names ... ok [INFO] [stdout] test mcp::tools::tests::get_tail_strips_ansi_by_default ... ok [INFO] [stdout] test mcp::tools::tests::plain_text_unmodified_by_stripping ... ok [INFO] [stdout] test mcp::tools::tests::query_exclusion_patterns ... ok [INFO] [stdout] test mcp::tools::tests::query_nested_field_access ... ok [INFO] [stdout] test mcp::tools::tests::query_pattern_not_required ... ok [INFO] [stdout] test mcp::tools::tests::query_logfmt_filter ... ok [INFO] [stdout] test mcp::tools::tests::get_stats_with_index ... ok [INFO] [stdout] test mcp::tools::tests::truncate_line_long_truncated ... ok [INFO] [stdout] test mcp::tools::tests::json_with_escaped_nested_json_strings ... ok [INFO] [stdout] test mcp::tools::tests::query_takes_precedence_over_pattern ... ok [INFO] [stdout] test mcp::tools::tests::search_text_format_multiple_matches ... ok [INFO] [stdout] test mcp::tools::tests::query_numeric_comparison ... ok [INFO] [stdout] test mcp::tools::tests::truncate_line_short_unchanged ... ok [INFO] [stdout] test reader::combined_reader::tests::test_append_new_lines_binary_insert ... ok [INFO] [stdout] test mcp::tools::tests::truncate_line_multibyte_boundary ... ok [INFO] [stdout] test mcp::tools::tests::query_with_context_lines ... ok [INFO] [stdout] test mcp::tools::tests::search_truncates_long_match_and_context ... ok [INFO] [stdout] test mcp::tools::tests::search_full_content_skips_truncation ... ok [INFO] [stdout] test reader::combined_reader::tests::test_combined_reader_get_line ... ok [INFO] [stdout] test mcp::tools::tests::search_preserves_ansi_when_raw ... ok [INFO] [stdout] test reader::combined_reader::tests::test_combined_reader_source_info ... ok [INFO] [stdout] test mcp::tools::tests::search_with_json_content_strips_correctly ... ok [INFO] [stdout] test reader::combined_reader::tests::test_combined_reader_empty_sources ... ok [INFO] [stdout] test reader::combined_reader::tests::test_combined_reader_total_lines ... ok [INFO] [stdout] test mcp::tools::tests::query_regex_operator ... ok [INFO] [stdout] test reader::combined_reader::tests::test_combined_reader_reload ... ok [INFO] [stdout] test mcp::tools::tests::search_strips_ansi_by_default ... ok [INFO] [stdout] test reader::file_reader::tests::test_complex_ansi_sequences ... ok [INFO] [stdout] test reader::file_reader::tests::test_ansi_color_codes ... ok [INFO] [stdout] test reader::file_reader::tests::test_empty_file ... ok [INFO] [stdout] test mcp::tools::tests::search_text_format ... ok [INFO] [stdout] test reader::file_reader::tests::test_interval_of_one_behaves_like_full_index ... ok [INFO] [stdout] test reader::file_reader::tests::test_file_with_empty_lines ... ok [INFO] [stdout] test reader::file_reader::tests::test_reload_with_new_content ... ok [INFO] [stdout] test reader::file_reader::tests::test_reload_after_truncation ... ok [INFO] [stdout] test reader::file_reader::tests::test_no_trailing_newline ... ok [INFO] [stdout] test reader::file_reader::tests::test_special_characters ... ok [INFO] [stdout] test reader::file_reader::tests::test_file_reader_basic ... ok [INFO] [stdout] test reader::file_reader::tests::test_mixed_line_endings ... ok [INFO] [stdout] test reader::file_reader::tests::test_random_access_across_index_boundaries ... ok [INFO] [stdout] test reader::file_reader::tests::test_sparse_index_with_small_interval ... ok [INFO] [stdout] test reader::file_reader::tests::test_unicode_content ... ok [INFO] [stdout] test reader::file_reader::tests::test_unicode_line_boundaries ... ok [INFO] [stdout] test reader::file_reader::tests::test_out_of_bounds_access ... ok [INFO] [stdout] test reader::sparse_index::tests::test_entry_count ... ok [INFO] [stdout] test reader::sparse_index::tests::test_clear ... ok [INFO] [stdout] test reader::sparse_index::tests::test_large_line_numbers ... ok [INFO] [stdout] test reader::file_reader::tests::test_whitespace_only_lines ... ok [INFO] [stdout] test reader::file_reader::tests::test_columnar_offsets_direct_access ... ok [INFO] [stdout] test reader::file_reader::tests::test_columnar_offsets_invalidated_on_truncation ... ok [INFO] [stdout] test reader::sparse_index::tests::test_append_updates_last_offset ... ok [INFO] [stdout] test reader::sparse_index::tests::test_locate_after_last_entry ... ok [INFO] [stdout] test reader::sparse_index::tests::test_locate_between_entries ... ok [INFO] [stdout] test reader::sparse_index::tests::test_locate_empty_index ... ok [INFO] [stdout] test reader::sparse_index::tests::test_locate_at_entry ... ok [INFO] [stdout] test reader::sparse_index::tests::test_locate_line_zero ... ok [INFO] [stdout] test reader::sparse_index::tests::test_memory_usage ... ok [INFO] [stdout] test reader::sparse_index::tests::test_minimum_interval ... ok [INFO] [stdout] test reader::file_reader::tests::test_columnar_offsets_with_file_growth ... ok [INFO] [stdout] test reader::sparse_index::tests::test_locate_before_first_entry ... ok [INFO] [stdout] test reader::stream_reader::tests::test_stream_reader_empty ... ok [INFO] [stdout] test reader::file_reader::tests::test_very_long_line ... ok [INFO] [stdout] test reader::stream_reader::tests::test_stream_reader_basic ... ok [INFO] [stdout] test reader::stream_reader::tests::test_stream_reader_single_line ... ok [INFO] [stdout] test reader::sparse_index::tests::test_new_sparse_index ... ok [INFO] [stdout] test reader::stream_reader::tests::test_stream_reader_no_trailing_newline ... ok [INFO] [stdout] test reader::stream_reader::tests::test_stream_reader_reload_is_noop ... ok [INFO] [stdout] test renderer::detect::tests::test_matches_filename_glob_star ... ok [INFO] [stdout] test renderer::detect::tests::test_matches_filename_no_match ... ok [INFO] [stdout] test reader::file_reader::tests::test_stale_index_rejected_on_file_replacement ... ok [INFO] [stdout] test renderer::field::tests::test_extract_auto_json ... ok [INFO] [stdout] test renderer::detect::tests::test_matches_filename_exact ... ok [INFO] [stdout] test renderer::field::tests::test_extract_auto_logfmt ... ok [INFO] [stdout] test renderer::field::tests::test_extract_json_nested_field ... ok [INFO] [stdout] test renderer::field::tests::test_extract_auto_neither_flag ... ok [INFO] [stdout] test renderer::field::tests::test_extract_json_fields ... ok [INFO] [stdout] test renderer::detect::tests::test_detect_logfmt_by_flags ... ok [INFO] [stdout] test renderer::builtin::tests::test_builtin_json_rejects_plain_text ... ok [INFO] [stdout] test renderer::field::tests::test_get_rest_empty ... ok [INFO] [stdout] test renderer::detect::tests::test_detect_json_by_flags ... ok [INFO] [stdout] test renderer::builtin::tests::test_builtin_logfmt_preset_renders ... ok [INFO] [stdout] test renderer::detect::tests::test_detect_filename_priority ... ok [INFO] [stdout] test renderer::builtin::tests::test_builtin_json_preset_renders ... ok [INFO] [stdout] test renderer::field::tests::test_get_rest_fields ... ok [INFO] [stdout] test renderer::field::tests::test_json_value_type_complex ... ok [INFO] [stdout] test renderer::field::tests::test_json_value_type_non_json_source ... ok [INFO] [stdout] test renderer::field::tests::test_json_value_type_scalars ... ok [INFO] [stdout] test renderer::field::tests::test_extract_logfmt_fields ... ok [INFO] [stdout] test renderer::format::tests::test_field_format_parse ... ok [INFO] [stdout] test renderer::format::tests::test_format_bytes ... ok [INFO] [stdout] test renderer::format::tests::test_format_datetime_absolute ... ok [INFO] [stdout] test renderer::format::tests::test_format_bytes_invalid ... ok [INFO] [stdout] test renderer::format::tests::test_format_datetime_invalid ... ok [INFO] [stdout] test renderer::format::tests::test_format_duration_invalid ... ok [INFO] [stdout] test renderer::format::tests::test_format_duration_ms ... ok [INFO] [stdout] test renderer::format::tests::test_format_datetime_relative ... ok [INFO] [stdout] test renderer::format::tests::test_format_duration_ns ... ok [INFO] [stdout] test renderer::format::tests::test_parse_iso8601_with_fractional ... ok [INFO] [stdout] test renderer::format::tests::test_parse_iso8601_with_timezone ... ok [INFO] [stdout] test renderer::field::tests::test_extract_regex_fields ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_compound_palette_style ... ok [INFO] [stdout] test renderer::format::tests::test_parse_iso8601_space_separator ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_compound_two_colors_error ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_field_format_datetime ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_field_format_duration_ns ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_json_preset ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_invalid_regex ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_palette_style ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_palette_two_colors_error ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_compound_style ... ok [INFO] [stdout] test reader::file_reader::tests::test_large_file_indexing ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_style_and_style_map_error ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_style_when ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_width_and_max_width_error ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_style_and_style_when_error ... ok [INFO] [stdout] test renderer::preset::tests::test_consecutive_fields_get_auto_space ... ok [INFO] [stdout] test renderer::preset::tests::test_consecutive_fields_with_missing_middle_field ... ok [INFO] [stdout] test renderer::preset::tests::test_early_reject ... ok [INFO] [stdout] test renderer::preset::tests::test_index_filter_json ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_style_map ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_style_map_and_style_when_error ... ok [INFO] [stdout] test renderer::preset::tests::test_render_array_index_field ... ok [INFO] [stdout] test renderer::preset::tests::test_no_double_space_with_explicit_literal ... ok [INFO] [stdout] test renderer::preset::tests::test_render_compound_style ... ok [INFO] [stdout] test renderer::preset::tests::test_render_json_line ... ok [INFO] [stdout] test renderer::preset::tests::test_render_field_format_duration ... ok [INFO] [stdout] test renderer::preset::tests::test_render_json_line_missing_field ... ok [INFO] [stdout] test renderer::preset::tests::test_render_max_width_no_pad ... ok [INFO] [stdout] test renderer::preset::tests::test_render_max_width_truncates ... ok [INFO] [stdout] test renderer::preset::tests::test_render_logfmt_line ... ok [INFO] [stdout] test renderer::preset::tests::test_render_non_matching_line ... ok [INFO] [stdout] test renderer::preset::tests::test_render_rest_json_format ... ok [INFO] [stdout] test renderer::preset::tests::test_render_rest_field ... ok [INFO] [stdout] test renderer::preset::tests::test_render_returns_none_when_no_fields_match ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_map_default_fallback ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_map_match ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_style_when_regex ... ok [INFO] [stdout] test renderer::preset::tests::test_index_filter_regex ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_map_no_match ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_when_contains ... ok [INFO] [stdout] test renderer::preset::tests::test_compile_regex_preset ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_when_gt_no_match ... ok [INFO] [stdout] test renderer::preset::tests::test_render_width_padding ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_when_cross_field ... ok [INFO] [stdout] test renderer::preset::tests::test_value_type_filters_field ... ok [INFO] [stdout] test renderer::preset::tests::test_value_type_invalid ... ok [INFO] [stdout] test renderer::segment::tests::test_resolve_severity_unknown ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_when_first_match_wins ... ok [INFO] [stdout] test renderer::segment::tests::test_resolve_status_code_2xx ... ok [INFO] [stdout] test renderer::segment::tests::test_resolve_severity_error ... ok [INFO] [stdout] test renderer::segment::tests::test_resolve_status_code_5xx ... ok [INFO] [stdout] test renderer::segment::tests::test_segment_color_palette_unknown_ratatui ... ok [INFO] [stdout] test renderer::preset::tests::test_render_style_when_gt_match ... ok [INFO] [stdout] test renderer::segment::tests::test_segment_color_palette_variant_ratatui ... ok [INFO] [stdout] test renderer::preset::tests::test_render_width_truncation ... ok [INFO] [stdout] test renderer::segment::tests::test_segment_color_to_ratatui_with_palette ... ok [INFO] [stdout] test renderer::segment::tests::test_segment_color_to_ratatui_without_palette ... ok [INFO] [stdout] test renderer::segment::tests::test_resolve_severity_case_insensitive ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_ansi_basic ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_ansi_compound ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_ansi_empty ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_ansi_dim ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_ansi_palette_with_palette ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_ansi_palette_without_palette ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_plain_text_empty ... ok [INFO] [stdout] test renderer::segment::tests::test_segments_to_plain_text ... ok [INFO] [stdout] test renderer::segment::tests::test_to_ratatui_style_bold ... ok [INFO] [stdout] test renderer::segment::tests::test_to_ratatui_style_compound ... ok [INFO] [stdout] test renderer::segment::tests::test_to_ratatui_style_compound_no_fg ... ok [INFO] [stdout] test renderer::tests::test_collect_renderers_dirs_priority ... ignored [INFO] [stdout] test renderer::segment::tests::test_to_ratatui_style_dim ... ok [INFO] [stdout] test renderer::tests::test_collect_renderers_dirs_project_scoped ... ignored [INFO] [stdout] test renderer::tests::test_collect_renderers_dirs_repo_bundled ... ignored [INFO] [stdout] test renderer::tests::test_compile_from_config_with_external ... ignored [INFO] [stdout] test renderer::tests::test_inline_shadows_external ... ignored [INFO] [stdout] test renderer::tests::test_load_external_presets ... ignored [INFO] [stdout] test renderer::preset::tests::test_render_regex_line ... ok [INFO] [stdout] test session::tests::test_context_key ... ok [INFO] [stdout] test source::tests::test_create_secure_dir ... ignored [INFO] [stdout] test source::tests::test_create_secure_dir_recursive ... ignored [INFO] [stdout] test source::tests::test_discover_sources ... ignored [INFO] [stdout] test source::tests::test_discover_sources_for_context_empty_project_dir ... ignored [INFO] [stdout] test source::tests::test_discover_sources_for_context_project_before_global ... ignored [INFO] [stdout] test source::tests::test_discover_sources_for_context_project_shadows_global ... ignored [INFO] [stdout] test source::tests::test_ensure_directories ... ignored [INFO] [stdout] test source::tests::test_ensure_directories_for_context_project ... ignored [INFO] [stdout] test session::tests::test_session_roundtrip ... ok [INFO] [stdout] test source::tests::test_is_pid_running_nonexistent ... ok [INFO] [stdout] test session::tests::test_cap_entries ... ok [INFO] [stdout] test source::tests::test_is_pid_running_self ... ok [INFO] [stdout] test session::tests::test_load_missing_file ... ok [INFO] [stdout] test source::tests::test_marker_creation_and_removal ... ignored [INFO] [stdout] test source::tests::test_marker_for_context ... ignored [INFO] [stdout] test renderer::tests::test_all_preset_names ... ok [INFO] [stdout] test renderer::tests::test_compile_from_config_errors ... ok [INFO] [stdout] test renderer::tests::test_compile_from_config_basic ... ok [INFO] [stdout] test renderer::tests::test_registry_auto_detect_json ... ok [INFO] [stdout] test renderer::tests::test_registry_render_line_chain_fallthrough ... ok [INFO] [stdout] test renderer::tests::test_registry_render_line_json ... ok [INFO] [stdout] test source::tests::test_resolve_data_dir_with_project ... ok [INFO] [stdout] test renderer::tests::test_registry_render_line_no_match ... ok [INFO] [stdout] test renderer::tests::test_registry_get_by_name ... ok [INFO] [stdout] test renderer::tests::test_user_preset_shadows_builtin ... ok [INFO] [stdout] test source::tests::test_resolve_data_dir_without_project ... ok [INFO] [stdout] test session::tests::test_save_and_load_roundtrip ... ok [INFO] [stdout] test source::tests::test_resolve_source_in_not_found ... ok [INFO] [stdout] test source::tests::test_resolve_sources_dir_without_project ... ok [INFO] [stdout] test source::tests::test_stale_marker_cleaned_on_create ... ignored [INFO] [stdout] test session::tests::test_global_and_project_contexts ... ok [INFO] [stdout] test source::tests::test_resolve_sources_dir_with_project ... ok [INFO] [stdout] test theme::loader::tests::test_collect_themes_dirs ... ignored [INFO] [stdout] test source::tests::test_resolve_source_in_found ... ok [INFO] [stdout] test theme::loader::tests::test_discover_themes_finds_yaml_files ... ignored [INFO] [stdout] test source::tests::test_resolve_source_in_rejects_invalid_name ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_custom_palette_override ... ok [INFO] [stdout] test source::tests::test_validate_source_name_invalid ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_custom_ui_bg_override ... ok [INFO] [stdout] test source::tests::test_validate_source_name_valid ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_custom_ui_override ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_external_cycle_detection ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_external_theme_file ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_external_with_base_dark ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_external_with_base_external ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_dark_string ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_light_string ... ok [INFO] [stdout] test theme::loader::tests::test_discover_themes_empty_dir ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_none_returns_dark ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_unknown_name_includes_external_themes ... ignored [INFO] [stdout] test theme::loader::tests::test_resolve_palette_override_then_ui_override ... ok [INFO] [stdout] test theme::loader::tests::test_resolve_unknown_name_error ... ok [INFO] [stdout] test theme::tests::test_dark_palette_derives_expected_ui_colors ... ok [INFO] [stdout] test theme::tests::test_light_palette_derives_different_from_dark ... ok [INFO] [stdout] test theme::tests::test_light_theme_uses_light_severity_backgrounds ... ok [INFO] [stdout] test theme::tests::test_dark_theme_matches_hardcoded_values ... ok [INFO] [stdout] test theme::tests::test_palette_get_color_standard ... ok [INFO] [stdout] test theme::tests::test_parse_color_hex_3digit ... ok [INFO] [stdout] test theme::tests::test_palette_get_color_unknown ... ok [INFO] [stdout] test theme::tests::test_parse_color_hex_6digit ... ok [INFO] [stdout] test theme::tests::test_parse_color_default ... ok [INFO] [stdout] test theme::tests::test_parse_color_hex_invalid ... ok [INFO] [stdout] test theme::tests::test_parse_color_invalid ... ok [INFO] [stdout] test theme::tests::test_source_colors_default ... ok [INFO] [stdout] test theme::tests::test_parse_color_named ... ok [INFO] [stdout] test tui::log_view::wrap_content_tests::content_exactly_at_width ... ok [INFO] [stdout] test tui::log_view::wrap_content_tests::empty_content_single_line ... ok [INFO] [stdout] test tui::log_view::wrap_content_tests::short_content_single_line ... ok [INFO] [stdout] test tui::log_view::wrap_content_tests::wrap_height_matches_line_count ... ok [INFO] [stdout] test tui::log_view::wrap_plain_tests::content_exactly_at_width ... ok [INFO] [stdout] test tui::log_view::wrap_content_tests::long_content_wraps_to_multiple_lines ... ok [INFO] [stdout] test tui::log_view::wrap_plain_tests::preserves_ansi_escape_sequences_literally ... ok [INFO] [stdout] test watcher::dir::tests::test_directory_watcher_detects_new_file ... ignored [INFO] [stdout] test watcher::dir::tests::test_directory_watcher_ignores_non_log_files ... ignored [INFO] [stdout] test watcher::file::tests::test_detects_file_creation_in_watched_directory ... ignored [INFO] [stdout] test tui::log_view::wrap_plain_tests::short_content_single_line ... ok [INFO] [stdout] test watcher::file::tests::test_handles_large_writes ... ignored [INFO] [stdout] test tui::log_view::wrap_content_tests::zero_width_returns_default ... ok [INFO] [stdout] test watcher::file::tests::test_rapid_modifications_stress ... ignored [INFO] [stdout] test tui::log_view::wrap_plain_tests::zero_width_returns_default ... ok [INFO] [stdout] test tui::log_view::wrap_plain_tests::long_content_wraps_to_multiple_lines ... ok [INFO] [stdout] test web::handlers::tests::parse_query_params_decodes_plus ... ok [INFO] [stdout] test web::handlers::tests::parse_query_params_decodes_values ... ok [INFO] [stdout] test watcher::file::tests::test_watcher_creation_fails_for_nonexistent_file ... ok [INFO] [stdout] test web::handlers::tests::url_decode_passthrough ... ok [INFO] [stdout] test web::handlers::tests::url_decode_percent_encoding ... ok [INFO] [stdout] test web::handlers::tests::url_decode_plus_becomes_space ... ok [INFO] [stdout] test web::handlers::tests::url_decode_invalid_hex_preserved ... ok [INFO] [stdout] test web::handlers::tests::url_decode_truncated_percent ... ok [INFO] [stdout] test watcher::file::tests::test_watcher_creation_succeeds ... ok [INFO] [stdout] test watcher::file::tests::test_detects_file_modification ... ok [INFO] [stdout] test watcher::file::tests::test_multiple_modifications ... ok [INFO] [stdout] test watcher::file::tests::test_try_recv_returns_none_when_no_events ... ok [INFO] [stdout] test reader::file_reader::tests::test_sparse_index_memory_efficiency ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 680 passed; 0 failed; 57 ignored; 0 measured; 0 filtered out; finished in 0.63s [INFO] [stdout] [INFO] [stderr] Doc-tests lazytail [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/index/reader.rs - index::reader::IndexReader::scan_flags (line 188) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1095489c979c879241e6a7b94f57bfe508d6fa6b768d8f0c096a6e3b1c8950aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1095489c979c879241e6a7b94f57bfe508d6fa6b768d8f0c096a6e3b1c8950aa", kill_on_drop: false }` [INFO] [stdout] 1095489c979c879241e6a7b94f57bfe508d6fa6b768d8f0c096a6e3b1c8950aa