[INFO] fetching crate scooter-core 0.3.3...
[INFO] testing scooter-core-0.3.3 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate scooter-core 0.3.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate scooter-core 0.3.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate scooter-core 0.3.3
[INFO] tweaked toml for crates.io crate scooter-core 0.3.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate scooter-core 0.3.3 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate scooter-core 0.3.3 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0483a364005beedb291028041fe56219956ec4b251feeea7622a82f0c497e79b
[INFO] running `Command { std: "docker" "start" "-a" "0483a364005beedb291028041fe56219956ec4b251feeea7622a82f0c497e79b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0483a364005beedb291028041fe56219956ec4b251feeea7622a82f0c497e79b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0483a364005beedb291028041fe56219956ec4b251feeea7622a82f0c497e79b", kill_on_drop: false }`
[INFO] [stdout] 0483a364005beedb291028041fe56219956ec4b251feeea7622a82f0c497e79b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69e650a2404e159eb15ba47dfac5e77a9c0ecd52700f49fa771de803687772d2
[INFO] running `Command { std: "docker" "start" "-a" "69e650a2404e159eb15ba47dfac5e77a9c0ecd52700f49fa771de803687772d2", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling arc-swap v1.8.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling mock_instant v0.6.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling lru v0.17.0
[INFO] [stderr]    Compiling termini v1.0.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling etcetera v0.11.0
[INFO] [stderr]    Compiling content_inspector v0.2.4
[INFO] [stderr]    Compiling similar v3.1.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling thread-id v5.1.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling plist v1.8.0
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling log4rs v1.4.0
[INFO] [stderr]    Compiling simple-log v2.4.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling fancy-regex v0.17.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling two-face v0.5.1
[INFO] [stderr]    Compiling scooter-core v0.3.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.76s
[INFO] running `Command { std: "docker" "inspect" "69e650a2404e159eb15ba47dfac5e77a9c0ecd52700f49fa771de803687772d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69e650a2404e159eb15ba47dfac5e77a9c0ecd52700f49fa771de803687772d2", kill_on_drop: false }`
[INFO] [stdout] 69e650a2404e159eb15ba47dfac5e77a9c0ecd52700f49fa771de803687772d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b22d10fbbc48dde4c033ce85881a5544386d1e2acbc04a5f406028bd52e14836
[INFO] running `Command { std: "docker" "start" "-a" "b22d10fbbc48dde4c033ce85881a5544386d1e2acbc04a5f406028bd52e14836", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling scooter-core v0.3.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling serial_test v3.4.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.09s
[INFO] running `Command { std: "docker" "inspect" "b22d10fbbc48dde4c033ce85881a5544386d1e2acbc04a5f406028bd52e14836", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b22d10fbbc48dde4c033ce85881a5544386d1e2acbc04a5f406028bd52e14836", kill_on_drop: false }`
[INFO] [stdout] b22d10fbbc48dde4c033ce85881a5544386d1e2acbc04a5f406028bd52e14836
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4db93d55d21cfba734bfce3718747d4e712a5f7bbc05f8a124cc4f7deb8d39d4
[INFO] running `Command { std: "docker" "start" "-a" "4db93d55d21cfba734bfce3718747d4e712a5f7bbc05f8a124cc4f7deb8d39d4", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scooter_core-0227b7e1c7103029)
[INFO] [stdout] 
[INFO] [stdout] running 384 tests
[INFO] [stdout] test app::tests::replacement_context_skips_stale_results ... ok
[INFO] [stdout] test app::tests::test_calculate_statistics_all_success ... ok
[INFO] [stdout] test app::tests::test_escape_deprecation_message_with_ctrl_alt_q_keymap ... ok
[INFO] [stdout] test app::tests::test_flip_multi_select_direction ... ok
[INFO] [stdout] test app::tests::test_escape_deprecation_message_with_f_key ... ok
[INFO] [stdout] test app::tests::test_escape_deprecation_message_with_default ... ok
[INFO] [stdout] test app::tests::test_calculate_statistics_with_ignores_and_errors ... ok
[INFO] [stdout] test app::tests::test_escape_deprecation_message_with_no_mapping ... ok
[INFO] [stdout] test app::tests::test_search_state_movement_half_page_increments ... ok
[INFO] [stdout] test app::tests::test_selected_fields_movement ... ok
[INFO] [stdout] test app::tests::test_search_state_movement_page_increments ... ok
[INFO] [stdout] test app::tests::test_search_state_movement_top_bottom ... ok
[INFO] [stdout] test app::tests::test_search_state_movement_single ... ok
[INFO] [stdout] test app::tests::test_selected_fields_toggling ... ok
[INFO] [stdout] test app::tests::test_search_state_toggling ... ok
[INFO] [stdout] test app::tests::test_toggle_all_selected_when_all_selected ... ok
[INFO] [stdout] test app::tests::test_toggle_all_selected_when_no_results ... ok
[INFO] [stdout] test app::tests::test_toggle_all_selected_when_none_selected ... ok
[INFO] [stdout] test app::tests::test_toggle_all_selected_when_some_selected ... ok
[INFO] [stdout] test config::tests::test_invalid_key_modifier_error_message ... ok
[INFO] [stdout] test config::tests::test_invalid_key_code_error_message ... ok
[INFO] [stdout] test config::tests::test_get_theme_disabled ... ok
[INFO] [stdout] test config::tests::test_partial_config_editor_only ... ok
[INFO] [stdout] test config::tests::test_get_theme_none ... ok
[INFO] [stdout] test config::tests::test_no_conflict_between_general_and_screen_specific ... ok
[INFO] [stdout] test config::tests::test_multiple_keys_same_command_no_conflict ... ok
[INFO] [stdout] test config::tests::test_full_config ... ok
[INFO] [stdout] test config::tests::test_unknown_keys_field_rejected ... ok
[INFO] [stdout] test config::tests::test_no_conflict_between_different_screens ... ok
[INFO] [stdout] test config::tests::test_partial_config_preview_only ... ok
[INFO] [stdout] test diff::tests::test_addition_at_end ... ok
[INFO] [stdout] test diff::tests::test_completely_different_strings ... ok
[INFO] [stdout] test diff::tests::test_addition_at_start ... ok
[INFO] [stdout] test diff::tests::test_empty_strings ... ok
[INFO] [stdout] test diff::tests::test_newline_in_new_content ... ok
[INFO] [stdout] test diff::tests::test_newline_in_old_content ... ok
[INFO] [stdout] test diff::tests::test_nonempty_to_empty ... ok
[INFO] [stdout] test diff::tests::test_replacement_with_only_newlines ... ok
[INFO] [stdout] test diff::tests::test_single_char_difference ... ok
[INFO] [stdout] test diff::tests::test_unicode_multibyte_chars ... ok
[INFO] [stdout] test fields::tests::test_byte_index_calculation ... ok
[INFO] [stdout] test fields::tests::test_checkbox_field ... ok
[INFO] [stdout] test fields::tests::test_complex_unicode_scenarios ... ok
[INFO] [stdout] test fields::tests::test_cursor_boundary_cases ... ok
[INFO] [stdout] test fields::tests::test_delete_to_start ... ok
[INFO] [stdout] test fields::tests::test_focus_all_fields_disabled_and_locked ... ok
[INFO] [stdout] test app::tests::test_key_handling_unmapped_key_closes_popup ... ok
[INFO] [stdout] test fields::tests::test_focus_with_locked_disabled_fields ... ok
[INFO] [stdout] test fields::tests::test_focus_with_unlocked_disabled_fields ... ok
[INFO] [stdout] test diff::tests::test_unicode_cjk_characters ... ok
[INFO] [stdout] test fields::tests::test_initial_highlight_position_with_prepopulated_fields_disable_false ... ok
[INFO] [stdout] test fields::tests::test_initial_highlight_position_with_prepopulated_fields_disable_true ... ok
[INFO] [stdout] test fields::tests::test_cursor_position_with_wide_chars ... ok
[INFO] [stdout] test diff::tests::test_crlf_in_content ... ok
[INFO] [stdout] test diff::tests::test_empty_to_nonempty ... ok
[INFO] [stdout] test config::tests::test_all_default_keybindings_are_valid ... ok
[INFO] [stdout] test fields::tests::test_search_fields ... ok
[INFO] [stdout] test config::tests::test_key_conflict_within_same_section ... ok
[INFO] [stdout] test config::tests::test_missing_editor_exit_field ... ok
[INFO] [stdout] test fields::tests::test_empty_text_edge_cases ... ok
[INFO] [stdout] test config::tests::test_empty_config_file ... ok
[INFO] [stdout] test fields::tests::test_set_text_and_insert_text ... ok
[INFO] [stdout] test config::tests::test_get_theme_enabled_with_theme ... ok
[INFO] [stdout] test config::tests::test_key_conflict_with_multiple_mappings ... ok
[INFO] [stdout] test app::tests::test_key_handling_quit_takes_precedent ... ok
[INFO] [stdout] test fields::tests::test_text_field_operations ... ok
[INFO] [stdout] test fields::tests::test_unicode_text_handling ... ok
[INFO] [stdout] test fields::tests::test_visual_cursor_position ... ok
[INFO] [stdout] test fields::tests::test_word_navigation_special_cases ... ok
[INFO] [stdout] test fields::tests::test_word_navigation_with_punctuation ... ok
[INFO] [stdout] test line_reader::tests::test_buf_read_ext_trait ... ok
[INFO] [stdout] test line_reader::tests::test_large_line ... ok
[INFO] [stdout] test line_reader::tests::test_lines_split_endings_empty ... ok
[INFO] [stdout] test file_content::tests::test_invalidate_cache_entry ... ok
[INFO] [stdout] test file_content::tests::test_clear_cache ... ok
[INFO] [stdout] test line_reader::tests::test_lines_split_endings_multiple_lines_mixed ... ok
[INFO] [stdout] test line_reader::tests::test_lines_split_endings_single_line_no_ending ... ok
[INFO] [stdout] test line_reader::tests::test_lines_split_endings_empty_lines ... ok
[INFO] [stdout] test line_reader::tests::test_lines_split_endings_single_line_with_lf ... ok
[INFO] [stdout] test line_reader::tests::test_split_line_ending_crlf ... ok
[INFO] [stdout] test line_reader::tests::test_split_line_ending_empty ... ok
[INFO] [stdout] test line_reader::tests::test_split_line_ending_no_ending ... ok
[INFO] [stdout] test line_reader::tests::test_split_line_ending_lf ... ok
[INFO] [stdout] test line_reader::tests::test_split_line_ending_unicode ... ok
[INFO] [stdout] test line_reader::tests::test_unicode_content ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_empty_file ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_partially_truncated_single_replacement ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_multiline_replacement ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_first_replacement_succeeds_second_content_changed ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_replacement_at_end ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_replacement_at_start ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_empty_replacement ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_preserves_trailing_content ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_content_changed ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_fully_truncated_single_replacement ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_truncated_partial_match ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_happy_path_single_replacement ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_multiple_unicode_replacements ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_unicode_content ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_spanning_multiple_lines ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_backslash ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_carriage_return ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_mixed ... ok
[INFO] [stdout] test config::tests::test_uppercase_char_conflict_detection ... ok
[INFO] [stdout] test diff::tests::test_identical_lines ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_newline ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_truncated_multiple_replacements ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_happy_path_multiple_replacements ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_no_escapes ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_replacement_with_different_length ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_tab ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_trailing_backslash ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_zero_length_insertion ... ok
[INFO] [stdout] test replace::tests::interpret_escapes_tests::test_unrecognized_escapes_left_as_is ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_across_lines ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_no_overlap_same_line ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_overlap_conflict ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_touching_no_conflict ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_chain_of_overlapping_conflicts ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_conflict_overlapping_byte_ranges ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_conflict_overlapping_multiline_byte_ranges ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_no_conflict_adjacent_multiline_byte_ranges ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_sorting_by_byte_offset ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_single_result ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_no_conflicts_sequential_byte_ranges ... ok
[INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_empty_results ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_adjacent_non_overlapping ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_byte_offsets_with_overlap ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_matches_same_line_all_replaced ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiline_no_newline_in_replacement ... ok
[INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_unicode_replacement ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_matches_same_line_no_conflict ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_line_level_adjacent ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_overlapping_conflicts ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_mixed_single_and_multiline ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_byte_offsets_adjacent ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_overlapping_ranges ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiline_at_end_of_file ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_byte_offsets_no_overlap ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_multiline_with_gaps ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_file_changed_multiline_validation ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_true::test_case_sensitivity ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_unsorted_input ... ok
[INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_preserves_restrictive_permissions ... ok
[INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_in_memory_preserves_permissions ... ok
[INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_in_file_preserves_permissions ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_non_overlapping_multiline_replacements ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_single_multiline_replacement ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_single_line_between_multiline ... ok
[INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_preserves_permissive_permissions ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_true::test_case_sensitivity ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_partial_overlap ... ok
[INFO] [stdout] test replace::tests::multiline_replace_tests::test_file_too_short_multiline ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_true::test_complex_pattern ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_false::test_case_insensitivity ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_true::test_basic_replacement ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_false::test_substring_matches ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_false::test_basic_replacement ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_true::test_substring_matches ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_true::test_case_sensitivity ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_true::test_lookbehind ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_false::test_unicode_support ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_false::test_lookbehind_case_insensitive ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_true::test_word_boundaries ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_false::test_word_boundaries ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_basic_replacement ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_true::test_substring_matches ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_false::test_complex_pattern_case_insensitive ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_true::test_basic_replacement ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_true::test_case_sensitivity ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_true::test_basic_regex ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_true::test_case_sensitivity ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_true::test_word_boundaries ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_true::test_case_sensitivity ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_false::test_substring_matches ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_word_boundaries ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_unicode ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_word_boundaries ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_special_characters ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_case_insensitivity ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_empty_haystack ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_false::test_complex_pattern ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_empty_search_regex ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_basic_regex ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_escaped_chars ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_case_sensitive ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_false::test_basic_regex ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_true::test_lookahead ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_single_char ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_unicode_word_boundaries ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_multiple_replacements ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_optional_patterns ... ok
[INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_advanced_regex_lookaround_match ... ok
[INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_fixed_string_match ... ok
[INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_fixed_string_mismatch ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_basic_regex_patterns ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_boundary_cases ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_empty_search ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_multiple_matches ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_advanced_regex_pattern ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_empty_strings ... ok
[INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_advanced_regex_lookaround_with_capture_groups ... ok
[INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_regex_match ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_preserves_line_endings ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_no_matches ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_patterns_with_spaces ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_simple_match ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_unicode_content ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_multiple_matches ... ok
[INFO] [stdout] test replace::tests::test_calculate_statistics_all_success ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_with_binary_content ... ok
[INFO] [stdout] test replace::tests::test_calculate_statistics_with_errors ... ok
[INFO] [stdout] test replace::tests::test_calculate_statistics_with_none_results ... ok
[INFO] [stdout] test replace::tests::test_calculate_statistics_with_preview_error_converted ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_nonexistent ... ok
[INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_regex_match_with_capture_groups ... ok
[INFO] [stdout] test replace::tests::test_replace_chunked_no_match ... ok
[INFO] [stdout] test replace::tests::test_replace_chunked_nonexistent_file ... ok
[INFO] [stdout] test replace::tests::test_replace_directory_errors ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_regex_pattern ... ok
[INFO] [stdout] test replace::tests::test_replace_in_file_nonexistent_file ... ok
[INFO] [stdout] test replace::tests::test_replace_in_file_line_mismatch ... ok
[INFO] [stdout] test replace::tests::test_replace_all_in_file ... ok
[INFO] [stdout] test replace::tests::test_replace_in_file_success_mixed_newlines ... ok
[INFO] [stdout] test replace::tests::test_replace_in_memory_empty_file ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_special_regex_chars ... ok
[INFO] [stdout] test replace::tests::test_replace_in_file_success_no_final_newline ... ok
[INFO] [stdout] test replace::tests::test_replace_in_memory_nonexistent_file ... ok
[INFO] [stdout] test replace::tests::test_replace_state_scroll_replacement_errors_down ... ok
[INFO] [stdout] test replace::tests::test_replace_state_scroll_replacement_errors_up ... ok
[INFO] [stdout] test replace::tests::test_replace_chunked_empty_file ... ok
[INFO] [stdout] test replace::tests::test_replace_state_handle_command_results ... ok
[INFO] [stdout] test replace::tests::test_replace_in_file_success_windows_newlines ... ok
[INFO] [stdout] test replace::tests::test_split_results_all_included ... ok
[INFO] [stdout] test replace::tests::test_split_results_mixed ... ok
[INFO] [stdout] test replace::tests::test_split_results_separates_preview_errors ... ok
[INFO] [stdout] test replace::tests::validate_search_result_correctness_tests::test_validate_search_result_correctness_returns_error_on_read_failure ... ok
[INFO] [stdout] test replace::tests::validate_search_result_correctness_tests::test_validate_search_result_correctness_returns_error_on_missing_match ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_true::test_basic_regex ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_substring_no_match ... ok
[INFO] [stdout] test replace::tests::test_replace_in_file_success ... ok
[INFO] [stdout] test replace::tests::test_replace_in_memory_no_match ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_no_match ... ok
[INFO] [stdout] test replace::tests::test_replace_in_memory ... ok
[INFO] [stdout] test run::tests::find_and_replace_text_line_mode_does_not_replace_newlines ... ok
[INFO] [stdout] test run::tests::find_and_replace_text_multiline_replaces_across_lines ... ok
[INFO] [stdout] test replace::tests::validate_search_result_correctness_tests::test_validate_search_result_correctness_advanced_regex_uses_haystack ... ok
[INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_complex_paths ... ok
[INFO] [stdout] test run::tests::find_and_replace_text_line_mode_preserves_crlf ... ok
[INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_empty_extension ... ok
[INFO] [stdout] test replace::tests::test_replace_chunked ... ok
[INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_extensions ... ok
[INFO] [stdout] test replace::tests::test_unicode_in_file ... ok
[INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_hidden_files ... ok
[INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_no_extension ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_create_search_result_multiline_match ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_create_search_result_single_line_match ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_crlf_match_ending_at_cr ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_crlf_match_ending_at_lf ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_word_boundaries ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_lf_match_ending_at_lf_no_next_line ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_crlf_match_spanning_crlf_boundary ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_lf_match_ending_at_lf ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_line_index_multiple_lines ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_fixed_string ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_line_endings_none ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_multiple_matches ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_line_index_empty_lines ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_lf_match_ending_at_lf_truly_no_next_line ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_line_endings_lf ... ok
[INFO] [stdout] test replace::tests::search_file_tests::test_search_file_large_content ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_line_endings_crlf ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_line_index_single_line ... ok
[INFO] [stdout] test search::tests::replace_any::test_simple_match_subword ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_pattern_at_end ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_no_matches ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_spanning_three_lines ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_with_path ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_zero_length_match_start ... ok
[INFO] [stdout] test search::tests::replace_any::test_special_characters ... ok
[INFO] [stdout] test search::tests::replace_any::test_unicode ... ok
[INFO] [stdout] test search::tests::search_result_tests::test_display_error_with_complex_error_message ... ok
[INFO] [stdout] test search::tests::replace_any::test_word_boundaries ... ok
[INFO] [stdout] test search::tests::replace_any::test_lookaround ... ok
[INFO] [stdout] test search::tests::replace_any::test_no_match ... ok
[INFO] [stdout] test search::tests::search_result_tests::test_display_error_with_error_result ... ok
[INFO] [stdout] test search::tests::search_result_tests::test_display_error_with_unicode_path ... ok
[INFO] [stdout] test search::tests::test_extract_lines_crlf_content_should_not_include_cr ... ok
[INFO] [stdout] test search::tests::test_multiple_matches_per_line ... ok
[INFO] [stdout] test utils::tests::test_array ... ok
[INFO] [stdout] test utils::tests::test_ascii_full_string ... ok
[INFO] [stdout] test utils::tests::test_ascii_more_than_string ... ok
[INFO] [stdout] test utils::tests::test_ascii_partial_string ... ok
[INFO] [stdout] test utils::tests::test_ceil_div ... ok
[INFO] [stdout] test search::tests::unicode_handling::test_complex_unicode_replacement ... ok
[INFO] [stdout] test utils::tests::test_chain ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_with_punctuation ... ok
[INFO] [stdout] test search::tests::replace_any::test_case_insensitive ... ok
[INFO] [stdout] test search::tests::unicode_handling::test_unicode_normalization ... ok
[INFO] [stdout] test utils::tests::test_empty_file ... ok
[INFO] [stdout] test utils::tests::test_all_satisfy ... ok
[INFO] [stdout] test utils::tests::test_empty_string ... ok
[INFO] [stdout] test utils::tests::test_file_not_found ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_with_unicode ... ok
[INFO] [stdout] test utils::tests::test_emoji ... ok
[INFO] [stdout] test search::tests::unicode_handling::test_unicode_capture_groups ... ok
[INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_regex_pattern ... ok
[INFO] [stdout] test utils::tests::test_last_n_empty ... ok
[INFO] [stdout] test utils::tests::test_last_n_non_empty ... ok
[INFO] [stdout] test utils::tests::test_empty ... ok
[INFO] [stdout] test utils::tests::test_last_n_string_non_empty ... ok
[INFO] [stdout] test utils::tests::test_last_string_n_empty ... ok
[INFO] [stdout] test utils::tests::test_multibyte_chars ... ok
[INFO] [stdout] test utils::tests::test_only_first_satisfies ... ok
[INFO] [stdout] test utils::tests::test_none_satisfy ... ok
[INFO] [stdout] test utils::tests::test_only_last_fails ... ok
[INFO] [stdout] test utils::tests::test_owned_vec ... ok
[INFO] [stdout] test search::tests::replace_any::test_quantifiers ... ok
[INFO] [stdout] test utils::tests::test_range ... ok
[INFO] [stdout] test utils::tests::test_range_exceeds_file_length ... ok
[INFO] [stdout] test replace::tests::replace_if_match_tests::test_complex_patterns ... ok
[INFO] [stdout] test utils::tests::test_read_all_lines ... ok
[INFO] [stdout] test utils::tests::test_read_from_beginning ... ok
[INFO] [stdout] test utils::tests::test_read_lines_in_range ... ok
[INFO] [stdout] test utils::tests::test_read_single_line ... ok
[INFO] [stdout] test utils::tests::test_read_to_end ... ok
[INFO] [stdout] test search::tests::unicode_handling::test_unicode_regex_classes ... ok
[INFO] [stdout] test utils::tests::test_relative_path_nested ... ok
[INFO] [stdout] test utils::tests::test_relative_path_no_trailing_slash ... ok
[INFO] [stdout] test utils::tests::test_relative_path_not_ancestor ... ok
[INFO] [stdout] test utils::tests::test_relative_path_file_in_dir ... ok
[INFO] [stdout] test utils::tests::test_relative_path_parent_to_child ... ok
[INFO] [stdout] test utils::tests::test_relative_path_relative_paths ... ok
[INFO] [stdout] test utils::tests::test_relative_path_root_cases ... ok
[INFO] [stdout] test utils::tests::test_relative_path_same_dir ... ok
[INFO] [stdout] test utils::tests::test_relative_path_same_file ... ok
[INFO] [stdout] test utils::tests::test_sanitize_carriage_returns ... ok
[INFO] [stdout] test utils::tests::test_sanitize_control_chars ... ok
[INFO] [stdout] test utils::tests::test_sanitize_empty_string ... ok
[INFO] [stdout] test utils::tests::test_sanitize_newlines ... ok
[INFO] [stdout] test utils::tests::test_sanitize_normal_text ... ok
[INFO] [stdout] test utils::tests::test_sanitize_only_control_chars ... ok
[INFO] [stdout] test utils::tests::test_sanitize_tabs ... ok
[INFO] [stdout] test utils::tests::test_sanitize_unicode ... ok
[INFO] [stdout] test utils::tests::test_single ... ok
[INFO] [stdout] test utils::tests::test_some_satisfy ... ok
[INFO] [stdout] test utils::tests::test_split_empty ... ok
[INFO] [stdout] test utils::tests::test_start_exceeds_file_length ... ok
[INFO] [stdout] test search::tests::search_type_tests::test_search_type_emptiness ... ok
[INFO] [stdout] test search::tests::replace_any::test_capture_groups ... ok
[INFO] [stdout] test utils::tests::test_string_slice ... ok
[INFO] [stdout] test search::tests::search_result_tests::test_display_error_panics_with_none_result - should panic ... ok
[INFO] [stdout] test search::tests::search_result_tests::test_display_error_panics_with_success_result - should panic ... ok
[INFO] [stdout] test utils::tests::test_start_greater_than_end - should panic ... ok
[INFO] [stdout] test utils::tests::test_largest_window_around ... ok
[INFO] [stdout] test utils::tests::test_unicode_chars ... ok
[INFO] [stdout] test utils::tests::test_vec ... ok
[INFO] [stdout] test utils::tests::test_with_empty_lines ... ok
[INFO] [stdout] test utils::tests::test_with_strings ... ok
[INFO] [stdout] test utils::tests::test_zero_chars ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_escapes_special_chars ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_case_insensitive ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_whole_word ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_whole_word_and_case_insensitive ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_fixed_string_with_unbalanced_paren_in_case_insensitive_mode ... ok
[INFO] [stdout] test validation::tests::test_fixed_strings_mode ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_fixed_string_with_regex_chars_case_insensitive ... ok
[INFO] [stdout] test validation::tests::test_invalid_regex ... ok
[INFO] [stdout] test validation::tests::test_invalid_include_glob ... ok
[INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_from_existing_pattern ... ok
[INFO] [stdout] test validation::tests::test_valid_configuration ... ok
[INFO] [stdout] test utils::tests::test_file_not_found_highlighted ... ok
[INFO] [stdout] test utils::tests::test_start_greater_than_end_highlighted - should panic ... ok
[INFO] [stdout] test utils::tests::test_highlighting_preserves_content ... ok
[INFO] [stdout] test utils::tests::test_typescript_syntax_available ... ok
[INFO] [stdout] test utils::tests::test_empty_file_highlighted ... ok
[INFO] [stdout] test utils::tests::test_read_from_beginning_highlighted ... ok
[INFO] [stdout] test utils::tests::test_read_all_lines_highlighted ... ok
[INFO] [stdout] test utils::tests::test_start_exceeds_file_length_highlighted ... ok
[INFO] [stdout] test utils::tests::test_with_empty_lines_highlighted ... ok
[INFO] [stdout] test utils::tests::test_read_to_end_highlighted ... ok
[INFO] [stdout] test utils::tests::test_read_lines_in_range_highlighted ... ok
[INFO] [stdout] test utils::tests::test_read_single_line_highlighted ... ok
[INFO] [stdout] test utils::tests::test_range_exceeds_file_length_highlighted ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 384 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.27s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/app.rs (/opt/rustwide/target/debug/deps/app-c781ff0c01303f67)
[INFO] [stdout] 
[INFO] [stdout] running 47 tests
[INFO] [stdout] test test_back_to_fields_keeps_search_running_until_completion ... ok
[INFO] [stdout] test test_error_popup_invalid_exclude_files ... ok
[INFO] [stdout] test test_app_reset ... ok
[INFO] [stdout] test test_changing_replacement_does_not_schedule_search_debounce ... ok
[INFO] [stdout] test test_handle_key_event_backspace_in_search_fields ... ok
[INFO] [stdout] test test_alt_u_unlocks_all_fields ... ok
[INFO] [stdout] test test_cursor_movement_skips_redundant_search_debounce_directory_source ... ok
[INFO] [stdout] test test_cancel_in_progress_tasks_aborts_search_debounce ... ok
[INFO] [stdout] test test_error_popup_invalid_search ... ok
[INFO] [stdout] test test_handle_key_event_quit_with_ctrl_c_takes_precedence_over_popup ... ok
[INFO] [stdout] test test_clearing_search_synchronously_clears_state ... ok
[INFO] [stdout] test test_handle_key_event_enter_triggers_search_from_fields ... ok
[INFO] [stdout] test test_back_from_results ... ok
[INFO] [stdout] test test_handle_key_event_toggle_preview_wrapping ... ok
[INFO] [stdout] test test_cancelled_state_drops_incoming_search_results ... ok
[INFO] [stdout] test test_cursor_movement_skips_redundant_search_debounce ... ok
[INFO] [stdout] test test_handle_key_event_reset_command ... ok
[INFO] [stdout] test test_handle_key_event_show_help_menu ... ok
[INFO] [stdout] test test_handle_key_event_unmapped_key_closes_popup ... ok
[INFO] [stdout] test test_keybinding_integration_with_disabled_fields ... ok
[INFO] [stdout] test test_error_popup_invalid_include_files ... ok
[INFO] [stdout] test test_help_popup_on_results ... ok
[INFO] [stdout] test test_help_popup_on_performing_replacement ... ok
[INFO] [stdout] test test_replace_state ... ok
[INFO] [stdout] test test_handle_key_event_unmapped_key_in_search_fields_focus_enters_chars ... ok
[INFO] [stdout] test test_help_popup_on_search_fields ... ok
[INFO] [stdout] test test_invalid_edit_cancels_running_search_and_drops_late_results ... ok
[INFO] [stdout] test test_stale_results_preserved_while_pending ... ok
[INFO] [stdout] test test_help_popup_on_search_results ... ok
[INFO] [stdout] test test_toggle_escape_sequences_without_search_state_only_toggles_flag ... ok
[INFO] [stdout] test test_toggle_escape_sequences_updates_preview_without_restarting_search ... ok
[INFO] [stdout] test test_typing_after_complete_search_transitions_phase_to_pending ... ok
[INFO] [stdout] test test_unlock_prepopulated_fields_via_alt_u ... ok
[INFO] [stdout] test test_keymaps_search_progressing ... ok
[INFO] [stdout] test test_keymaps_search_complete ... ok
[INFO] [stdout] test test_keymaps_performing_replacement ... ok
[INFO] [stdout] test test_keymaps_search_fields ... ok
[INFO] [stdout] test test_keymaps_results ... ok
[INFO] [stdout] test test_keymaps_popup ... ok
[INFO] [stdout] test test_cursor_movement_preserves_pending_search_debounce ... ok
[INFO] [stdout] test test_phase_transitions_pending_running_complete ... ok
[INFO] [stdout] test test_toggle_escape_sequences_keeps_pending_debounced_search ... ok
[INFO] [stdout] test test_reverting_after_temporary_invalid_search_requeues_debounce ... ok
[INFO] [stdout] test test_retyping_after_clear_runs_a_fresh_search ... ok
[INFO] [stdout] test test_stale_debounce_event_ignored_when_current_query_invalid ... ok
[INFO] [stdout] test test_clearing_search_does_not_schedule_perform_search ... ok
[INFO] [stdout] test test_stale_debounce_event_ignored_after_new_valid_edit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests scooter_core
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/search.rs - search::FileSearcher::walk_files (line 389) - compile ... ok
[INFO] [stdout] test src/utils.rs - utils::largest_range_centered_on (line 113) ... ok
[INFO] [stdout] test src/line_reader.rs - line_reader::split_line_ending (line 108) ... ok
[INFO] [stdout] test src/line_reader.rs - line_reader::BufReadExt (line 77) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.10s; merged doctests compilation took 1.07s
[INFO] running `Command { std: "docker" "inspect" "4db93d55d21cfba734bfce3718747d4e712a5f7bbc05f8a124cc4f7deb8d39d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4db93d55d21cfba734bfce3718747d4e712a5f7bbc05f8a124cc4f7deb8d39d4", kill_on_drop: false }`
[INFO] [stdout] 4db93d55d21cfba734bfce3718747d4e712a5f7bbc05f8a124cc4f7deb8d39d4
