[INFO] fetching crate ripsed-core 0.3.2...
[INFO] testing ripsed-core-0.3.2 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate ripsed-core 0.3.2 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate ripsed-core 0.3.2
[INFO] finished tweaking crates.io crate ripsed-core 0.3.2
[INFO] tweaked toml for crates.io crate ripsed-core 0.3.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ripsed-core 0.3.2 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ripsed-core 0.3.2 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.123
[INFO] [stderr]   Downloaded js-sys v0.3.100
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.123
[INFO] [stderr]   Downloaded web-sys v0.3.100
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45
[INFO] running `Command { std: "docker" "start" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling ripsed-core v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.85s
[INFO] running `Command { std: "docker" "inspect" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ripsed-core v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 57.46s
[INFO] running `Command { std: "docker" "inspect" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ripsed_core-26642df327b261b4)
[INFO] [stdout] 
[INFO] [stdout] running 303 tests
[INFO] [stdout] test config::tests::discover_finds_config_in_current_dir ... ok
[INFO] [stdout] test config::tests::parse_empty_toml_uses_defaults ... ok
[INFO] [stdout] test config::tests::parse_full_config ... ok
[INFO] [stdout] test config::tests::config_default_has_expected_values ... ok
[INFO] [stdout] test config::tests::load_reads_valid_config ... ok
[INFO] [stdout] test config::tests::load_returns_error_for_invalid_toml ... ok
[INFO] [stdout] test config::tests::load_returns_error_for_missing_file ... ok
[INFO] [stdout] test diff::tests::test_compute_summary_deletions_counted ... ok
[INFO] [stdout] test diff::tests::test_compute_summary_empty ... ok
[INFO] [stdout] test diff::tests::test_compute_summary_file_with_no_changes ... ok
[INFO] [stdout] test diff::tests::test_compute_summary_multiple_files ... ok
[INFO] [stdout] test config::tests::discover_returns_error_for_invalid_toml ... ok
[INFO] [stdout] test config::tests::discover_walks_up_to_parent ... ok
[INFO] [stdout] test config::tests::parse_undo_max_file_bytes ... ok
[INFO] [stdout] test diff::tests::test_compute_summary_single_result ... ok
[INFO] [stdout] test config::tests::parse_partial_config_fills_defaults ... ok
[INFO] [stdout] test config::tests::discover_returns_none_when_not_found ... ok
[INFO] [stdout] test engine::proptests::prop_indent_dedent_roundtrip ... ok
[INFO] [stdout] test engine::proptests::prop_delete_exact_line_count ... ok
[INFO] [stdout] test engine::proptests::prop_no_trailing_newline_preserved ... ok
[INFO] [stdout] test engine::proptests::prop_crlf_majority_preserved ... ok
[INFO] [stdout] test engine::proptests::prop_replace_change_count_matches_containing_lines ... ok
[INFO] [stdout] test engine::proptests::prop_deterministic ... ok
[INFO] [stdout] test engine::proptests::prop_indent_preserves_line_count ... ok
[INFO] [stdout] test engine::proptests::prop_transform_upper_lower_roundtrip ... ok
[INFO] [stdout] test engine::proptests::prop_noop_nonmatching_pattern ... ok
[INFO] [stdout] test engine::tests::test_context_capped_after_threshold_on_both_paths ... ok
[INFO] [stdout] test engine::tests::test_count_all_is_default_behavior ... ok
[INFO] [stdout] test engine::tests::test_count_first_in_file_in_multiline_mode ... ok
[INFO] [stdout] test engine::tests::test_count_first_in_file_replaces_only_first_occurrence ... ok
[INFO] [stdout] test engine::tests::test_count_budget_exhausted_skips_remaining_lines ... ok
[INFO] [stdout] test engine::tests::test_count_first_per_line_rejected_in_multiline_mode ... ok
[INFO] [stdout] test engine::tests::test_count_first_per_line_replaces_one_per_line ... ok
[INFO] [stdout] test engine::tests::test_count_first_per_line_with_regex_captures ... ok
[INFO] [stdout] test engine::tests::test_count_max_in_multiline_mode_truncates_spans ... ok
[INFO] [stdout] test engine::tests::test_count_max_spans_lines_and_counts_occurrences ... ok
[INFO] [stdout] test engine::tests::test_crlf_insert_after_metadata_uses_crlf ... ok
[INFO] [stdout] test engine::tests::test_crlf_delete_preserves_crlf ... ok
[INFO] [stdout] test engine::tests::test_crlf_insert_before_metadata_uses_crlf ... ok
[INFO] [stdout] test engine::tests::test_crlf_no_trailing_newline ... ok
[INFO] [stdout] test engine::tests::test_dedent_basic ... ok
[INFO] [stdout] test engine::tests::test_crlf_replace_preserves_crlf ... ok
[INFO] [stdout] test engine::tests::test_dedent_case_insensitive ... ok
[INFO] [stdout] test engine::tests::test_dedent_empty_text ... ok
[INFO] [stdout] test engine::tests::test_dedent_crlf_preserved ... ok
[INFO] [stdout] test engine::tests::test_dedent_no_leading_spaces ... ok
[INFO] [stdout] test engine::tests::test_dedent_multiple_lines ... ok
[INFO] [stdout] test engine::tests::test_dedent_no_match ... ok
[INFO] [stdout] test engine::tests::test_dedent_only_removes_spaces_not_tabs ... ok
[INFO] [stdout] test engine::tests::test_dedent_partial ... ok
[INFO] [stdout] test engine::tests::test_dedent_preserves_line_count ... ok
[INFO] [stdout] test engine::tests::test_dedent_with_line_range ... ok
[INFO] [stdout] test engine::tests::test_dedent_with_regex ... ok
[INFO] [stdout] test engine::tests::test_delete_all_lines_crlf_produces_empty_file ... ok
[INFO] [stdout] test engine::tests::test_dedent_undo_stores_original ... ok
[INFO] [stdout] test engine::tests::test_delete_all_lines_produces_empty_file ... ok
[INFO] [stdout] test engine::tests::test_delete_lines ... ok
[INFO] [stdout] test engine::tests::test_determinism_same_input_same_output ... ok
[INFO] [stdout] test engine::tests::test_empty_find_takes_line_path_and_terminates ... ok
[INFO] [stdout] test engine::tests::test_empty_input_text ... ok
[INFO] [stdout] test engine::tests::test_first_line_is_one_not_zero ... ok
[INFO] [stdout] test engine::tests::test_delete_reports_original_line_number ... ok
[INFO] [stdout] test engine::tests::test_indent_basic ... ok
[INFO] [stdout] test engine::proptests::prop_change_lines_ascending_and_in_bounds ... ok
[INFO] [stdout] test engine::tests::test_indent_case_insensitive ... ok
[INFO] [stdout] test engine::tests::test_indent_multiple_lines ... ok
[INFO] [stdout] test engine::tests::test_indent_crlf_preserved ... ok
[INFO] [stdout] test engine::tests::test_indent_empty_text ... ok
[INFO] [stdout] test engine::tests::test_indent_no_match ... ok
[INFO] [stdout] test engine::tests::test_indent_undo_stores_original ... ok
[INFO] [stdout] test engine::tests::test_indent_preserves_line_count ... ok
[INFO] [stdout] test engine::tests::test_indent_with_line_range ... ok
[INFO] [stdout] test engine::tests::test_indent_then_dedent_roundtrip ... ok
[INFO] [stdout] test engine::tests::test_indent_with_tabs ... ok
[INFO] [stdout] test engine::tests::test_indent_zero_amount ... ok
[INFO] [stdout] test engine::tests::test_line_number_for_single_line_no_newline ... ok
[INFO] [stdout] test engine::tests::test_indent_with_regex ... ok
[INFO] [stdout] test engine::tests::test_line_processor_budget_spans_calls ... ok
[INFO] [stdout] test engine::tests::test_line_numbers_with_mixed_line_endings ... ok
[INFO] [stdout] test engine::tests::test_line_processor_insert_and_delete_shapes ... ok
[INFO] [stdout] test engine::tests::test_lf_insert_after_metadata_uses_lf ... ok
[INFO] [stdout] test engine::tests::test_line_processor_pattern_range_state_spans_calls ... ok
[INFO] [stdout] test engine::tests::test_line_processor_matches_buffered_apply ... ok
[INFO] [stdout] test engine::tests::test_line_processor_rejects_multiline_ops ... ok
[INFO] [stdout] test engine::tests::test_multiline_change_line_numbers_ascending_and_correct ... ok
[INFO] [stdout] test engine::tests::test_multiline_crlf_metadata_matches_output_bytes ... ok
[INFO] [stdout] test engine::tests::test_multiline_delete_removes_span_not_lines ... ok
[INFO] [stdout] test engine::tests::test_multiline_literal_replace_across_lines ... ok
[INFO] [stdout] test engine::tests::test_line_range ... ok
[INFO] [stdout] test engine::tests::test_multiline_delete_everything_yields_empty_string ... ok
[INFO] [stdout] test engine::tests::test_multiline_output_equals_matcher_replace ... ok
[INFO] [stdout] test engine::tests::test_multiline_no_match_returns_none ... ok
[INFO] [stdout] test engine::tests::test_multiline_preserves_untouched_separators ... ok
[INFO] [stdout] test engine::tests::test_multiline_span_context ... ok
[INFO] [stdout] test engine::tests::test_multiline_undo_roundtrip ... ok
[INFO] [stdout] test engine::tests::test_multiline_match_at_eof_without_trailing_newline ... ok
[INFO] [stdout] test engine::tests::test_multiline_with_line_range_is_rejected ... ok
[INFO] [stdout] test engine::tests::test_no_changes ... ok
[INFO] [stdout] test engine::tests::test_overlapping_matches_in_single_line ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_delete_can_remove_boundary_lines ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_invalid_regex_is_rejected ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_no_region_means_no_changes ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_multiple_regions ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_rejected_in_multiline_mode ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_single_region_boundaries_inclusive ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_same_start_and_end_spans_to_next_match ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_start_regex_anchors ... ok
[INFO] [stdout] test engine::tests::test_pattern_range_unterminated_extends_to_eof ... ok
[INFO] [stdout] test engine::tests::test_replace_line_count_preserved ... ok
[INFO] [stdout] test engine::tests::test_replace_preserves_empty_result_on_non_match ... ok
[INFO] [stdout] test engine::tests::test_regex_special_chars_in_literal_mode ... ok
[INFO] [stdout] test engine::tests::test_simple_replace ... ok
[INFO] [stdout] test engine::tests::test_single_line_no_trailing_newline ... ok
[INFO] [stdout] test engine::tests::test_splice_count_parity ... ok
[INFO] [stdout] test engine::tests::test_splice_case_insensitive_literal ... ok
[INFO] [stdout] test engine::tests::test_splice_mixed_endings_falls_back_and_normalizes ... ok
[INFO] [stdout] test engine::tests::test_splice_matches_line_path_exactly ... ok
[INFO] [stdout] test engine::tests::test_surround_basic ... ok
[INFO] [stdout] test engine::tests::test_splice_replacement_with_newline ... ok
[INFO] [stdout] test engine::tests::test_surround_crlf_preserved ... ok
[INFO] [stdout] test engine::tests::test_surround_empty_text ... ok
[INFO] [stdout] test engine::tests::test_surround_multiple_lines ... ok
[INFO] [stdout] test engine::tests::test_surround_no_match ... ok
[INFO] [stdout] test engine::tests::test_surround_preserves_line_count ... ok
[INFO] [stdout] test engine::tests::test_surround_undo_stores_original ... ok
[INFO] [stdout] test engine::tests::test_surround_with_empty_prefix_and_suffix ... ok
[INFO] [stdout] test engine::tests::test_surround_with_line_range ... ok
[INFO] [stdout] test engine::tests::test_surround_case_insensitive ... ok
[INFO] [stdout] test engine::tests::test_transform_camel_case ... ok
[INFO] [stdout] test engine::tests::test_transform_camel_case_from_kebab ... ok
[INFO] [stdout] test engine::tests::test_transform_camel_case_from_snake ... ok
[INFO] [stdout] test engine::tests::test_transform_case_insensitive ... ok
[INFO] [stdout] test engine::tests::test_transform_crlf_preserved ... ok
[INFO] [stdout] test engine::tests::test_transform_empty_text ... ok
[INFO] [stdout] test engine::tests::test_transform_lower ... ok
[INFO] [stdout] test engine::tests::test_transform_no_match ... ok
[INFO] [stdout] test engine::tests::test_transform_noop_when_already_target_case ... ok
[INFO] [stdout] test engine::tests::test_transform_preserves_line_count ... ok
[INFO] [stdout] test engine::tests::test_transform_snake_case ... ok
[INFO] [stdout] test engine::tests::test_transform_snake_case_from_multi_word ... ok
[INFO] [stdout] test engine::tests::test_transform_title ... ok
[INFO] [stdout] test engine::tests::test_transform_title_with_underscores ... ok
[INFO] [stdout] test engine::tests::test_transform_undo_stores_original ... ok
[INFO] [stdout] test engine::tests::test_transform_upper ... ok
[INFO] [stdout] test engine::tests::test_transform_upper_multiple_matches_on_line ... ok
[INFO] [stdout] test engine::tests::test_transform_with_line_range ... ok
[INFO] [stdout] test engine::tests::test_surround_with_regex ... ok
[INFO] [stdout] test engine::tests::test_undo_entry_stores_original ... ok
[INFO] [stdout] test engine::tests::test_unicode_cjk ... ok
[INFO] [stdout] test engine::tests::test_unicode_combining_characters ... ok
[INFO] [stdout] test engine::tests::test_unicode_emoji ... ok
[INFO] [stdout] test engine::tests::test_uses_crlf_detection ... ok
[INFO] [stdout] test engine::tests::test_transform_with_regex ... ok
[INFO] [stdout] test engine::tests::test_whitespace_only_lines ... ok
[INFO] [stdout] test error::tests::atomic_rollback_includes_file_and_reason ... ok
[INFO] [stdout] test error::tests::binary_file_skipped_includes_path ... ok
[INFO] [stdout] test error::tests::display_shows_message ... ok
[INFO] [stdout] test error::tests::error_code_serializes_to_snake_case ... ok
[INFO] [stdout] test error::tests::error_serializes_to_json ... ok
[INFO] [stdout] test error::tests::error_without_context_omits_context_field ... ok
[INFO] [stdout] test error::tests::error_without_operation_index_omits_field ... ok
[INFO] [stdout] test error::tests::file_not_found_with_suggestions ... ok
[INFO] [stdout] test error::tests::file_not_found_without_suggestions ... ok
[INFO] [stdout] test error::tests::internal_error_has_bug_hint ... ok
[INFO] [stdout] test error::tests::invalid_regex_has_pattern_context ... ok
[INFO] [stdout] test error::tests::invalid_request_has_no_operation_index ... ok
[INFO] [stdout] test error::tests::no_matches_with_suggestions ... ok
[INFO] [stdout] test error::tests::no_matches_without_suggestions ... ok
[INFO] [stdout] test engine::tests::test_multiline_regex_captures_across_lines ... ok
[INFO] [stdout] test error::tests::permission_denied_includes_path ... ok
[INFO] [stdout] test error::tests::write_failed_includes_os_error ... ok
[INFO] [stdout] test engine::proptests::prop_surround_preserves_line_count ... ok
[INFO] [stdout] test engine::proptests::prop_roundtrip_undo ... ok
[INFO] [stdout] test engine::proptests::prop_replace_preserves_line_count ... ok
[INFO] [stdout] test engine::tests::test_very_long_line ... ok
[INFO] [stdout] test matcher::proptests::prop_find_replacements_splice_equals_replace ... ok
[INFO] [stdout] test matcher::proptests::test_find_replacements_across_newlines ... ok
[INFO] [stdout] test matcher::proptests::test_find_replacements_literal_spans ... ok
[INFO] [stdout] test matcher::proptests::test_find_replacements_no_match_is_empty ... ok
[INFO] [stdout] test matcher::proptests::test_find_replacements_regex_capture_expansion ... ok
[INFO] [stdout] test matcher::proptests::test_prescreen_anchored_regex_is_sound ... ok
[INFO] [stdout] test matcher::proptests::test_prescreen_case_insensitive_literal ... ok
[INFO] [stdout] test matcher::proptests::test_prescreen_haystack_anchors_disable_shadow ... ok
[INFO] [stdout] test matcher::proptests::test_prescreen_literal ... ok
[INFO] [stdout] test engine::proptests::prop_transform_preserves_line_count ... ok
[INFO] [stdout] test matcher::proptests::test_replace_n_literal_limits_and_counts ... ok
[INFO] [stdout] test matcher::proptests::test_replace_n_unlimited_matches_replace ... ok
[INFO] [stdout] test matcher::proptests::prop_literal_matches_iff_contains ... ok
[INFO] [stdout] test matcher::tests::test_case_insensitive_ascii ... ok
[INFO] [stdout] test matcher::proptests::test_replace_n_regex_limits_and_expansion ... ok
[INFO] [stdout] test matcher::tests::test_empty_pattern_literal_matches_everything ... ok
[INFO] [stdout] test matcher::tests::test_empty_pattern_literal_replace ... ok
[INFO] [stdout] test matcher::tests::test_case_insensitive_turkish_i_lowercase ... ok
[INFO] [stdout] test matcher::tests::test_empty_pattern_regex_matches_everything ... ok
[INFO] [stdout] test matcher::tests::test_empty_regex_match_does_not_panic ... ok
[INFO] [stdout] test matcher::tests::test_literal_case_insensitive ... ok
[INFO] [stdout] test matcher::tests::test_invalid_regex ... ok
[INFO] [stdout] test matcher::tests::test_literal_match ... ok
[INFO] [stdout] test matcher::tests::test_literal_mode_regex_metacharacters ... ok
[INFO] [stdout] test matcher::tests::test_multiple_matches_same_line ... ok
[INFO] [stdout] test matcher::tests::test_no_match_returns_none ... ok
[INFO] [stdout] test matcher::tests::test_pattern_matches_entire_line_literal ... ok
[INFO] [stdout] test matcher::tests::test_case_insensitive_german_eszett ... ok
[INFO] [stdout] test matcher::tests::test_regex_anchored_full_line ... ok
[INFO] [stdout] test matcher::tests::test_literal_dollar_one_pattern ... ok
[INFO] [stdout] test matcher::tests::test_pattern_matches_entire_line_regex ... ok
[INFO] [stdout] test matcher::tests::test_regex_no_catastrophic_backtracking ... ok
[INFO] [stdout] test matcher::proptests::prop_replace_none_iff_not_match ... ok
[INFO] [stdout] test matcher::tests::test_replace_with_empty_string ... ok
[INFO] [stdout] test matcher::tests::test_replacement_with_control_chars ... ok
[INFO] [stdout] test operation::tests::dedent_amount_defaults_to_four ... ok
[INFO] [stdout] test operation::tests::deserialize_with_default_booleans ... ok
[INFO] [stdout] test operation::tests::indent_amount_defaults_to_four ... ok
[INFO] [stdout] test operation::tests::is_multiline_false_for_line_scoped_ops ... ok
[INFO] [stdout] test operation::tests::line_range_contains_bounded ... ok
[INFO] [stdout] test operation::tests::line_range_contains_unbounded_end ... ok
[INFO] [stdout] test operation::tests::line_range_single_line ... ok
[INFO] [stdout] test operation::tests::multiline_field_defaults_to_false_and_roundtrips ... ok
[INFO] [stdout] test matcher::proptests::prop_replace_with_self_is_identity ... ok
[INFO] [stdout] test operation::tests::op_options_default_values ... ok
[INFO] [stdout] test operation::tests::op_options_deserializes_with_defaults ... ok
[INFO] [stdout] test operation::tests::replace_count_wire_format ... ok
[INFO] [stdout] test operation::tests::replace_op_tag_wire_format ... ok
[INFO] [stdout] test operation::tests::op_options_overrides_defaults ... ok
[INFO] [stdout] test operation::tests::transform_mode_display_roundtrip ... ok
[INFO] [stdout] test operation::tests::transform_mode_from_str_aliases ... ok
[INFO] [stdout] test operation::tests::transform_mode_from_str_unknown_fails ... ok
[INFO] [stdout] test operation::tests::transform_mode_wire_names ... ok
[INFO] [stdout] test operation::tests::transform_missing_mode_fails ... ok
[INFO] [stdout] test operation::tests::unknown_op_tag_fails_deserialization ... ok
[INFO] [stdout] test script::tests::comments_and_blank_lines_are_skipped ... ok
[INFO] [stdout] test script::tests::empty_script_produces_no_ops ... ok
[INFO] [stdout] test script::tests::error_glob_missing_value ... ok
[INFO] [stdout] test script::tests::error_invalid_amount ... ok
[INFO] [stdout] test script::tests::error_line_number_is_correct ... ok
[INFO] [stdout] test script::tests::error_missing_args_for_delete ... ok
[INFO] [stdout] test script::tests::error_missing_args_for_replace ... ok
[INFO] [stdout] test script::tests::error_surround_missing_prefix ... ok
[INFO] [stdout] test script::tests::error_surround_missing_suffix ... ok
[INFO] [stdout] test script::tests::error_transform_invalid_mode ... ok
[INFO] [stdout] test script::tests::error_transform_missing_mode ... ok
[INFO] [stdout] test script::tests::error_unknown_flag ... ok
[INFO] [stdout] test script::tests::error_unknown_operation ... ok
[INFO] [stdout] test script::tests::escaped_quotes_in_double_quotes ... ok
[INFO] [stdout] test script::tests::hash_inside_quotes_is_not_a_comment ... ok
[INFO] [stdout] test script::tests::inline_comments_are_stripped ... ok
[INFO] [stdout] test script::tests::parse_count_flags_on_replace ... ok
[INFO] [stdout] test script::tests::parse_count_flags_rejected_for_non_replace ... ok
[INFO] [stdout] test script::tests::double_quoted_strings_with_spaces ... ok
[INFO] [stdout] test script::tests::parse_delete_basic ... ok
[INFO] [stdout] test script::tests::parse_delete_with_multiline_flag ... ok
[INFO] [stdout] test script::tests::parse_delete_with_regex ... ok
[INFO] [stdout] test script::tests::parse_first_with_multiline_rejected ... ok
[INFO] [stdout] test script::tests::parse_indent_default_amount ... ok
[INFO] [stdout] test script::tests::parse_indent_with_amount ... ok
[INFO] [stdout] test script::tests::parse_indent_with_use_tabs ... ok
[INFO] [stdout] test matcher::tests::test_regex_match ... ok
[INFO] [stdout] test script::tests::parse_insert_after ... ok
[INFO] [stdout] test script::tests::parse_insert_before ... ok
[INFO] [stdout] test script::tests::parse_long_form_flags ... ok
[INFO] [stdout] test script::tests::parse_max_replacements_zero_rejected ... ok
[INFO] [stdout] test script::tests::parse_multi_operation_script ... ok
[INFO] [stdout] test script::tests::parse_replace_basic ... ok
[INFO] [stdout] test script::tests::parse_replace_line ... ok
[INFO] [stdout] test script::tests::parse_replace_regex_case_insensitive_glob ... ok
[INFO] [stdout] test script::tests::parse_replace_with_case_insensitive ... ok
[INFO] [stdout] test script::tests::parse_replace_with_glob ... ok
[INFO] [stdout] test script::tests::parse_dedent ... ok
[INFO] [stdout] test script::tests::parse_replace_with_regex ... ok
[INFO] [stdout] test script::tests::parse_surround ... ok
[INFO] [stdout] test script::tests::parse_transform ... ok
[INFO] [stdout] test script::tests::parse_transform_upper ... ok
[INFO] [stdout] test script::tests::single_quoted_strings ... ok
[INFO] [stdout] test script::tests::tokenize_double_quoted ... ok
[INFO] [stdout] test script::tests::tokenize_empty_string ... ok
[INFO] [stdout] test script::tests::tokenize_escaped_double_quote ... ok
[INFO] [stdout] test script::tests::tokenize_flags ... ok
[INFO] [stdout] test script::tests::tokenize_mixed_quotes ... ok
[INFO] [stdout] test script::tests::parse_replace_with_multiline_flag ... ok
[INFO] [stdout] test script::tests::tokenize_simple ... ok
[INFO] [stdout] test script::tests::unquoted_strings ... ok
[INFO] [stdout] test suggestion::tests::test_exact_match_excluded ... ok
[INFO] [stdout] test suggestion::tests::test_finds_close_match ... ok
[INFO] [stdout] test script::tests::parse_multiline_rejected_for_line_scoped_ops ... ok
[INFO] [stdout] test suggestion::tests::test_path_suggestions ... ok
[INFO] [stdout] test undo::tests::empty_log_jsonl_is_empty_string ... ok
[INFO] [stdout] test undo::tests::from_jsonl_skips_malformed_lines ... ok
[INFO] [stdout] test undo::tests::from_jsonl_tolerates_blank_and_crlf_lines ... ok
[INFO] [stdout] test undo::tests::pop_actually_removes_from_log ... ok
[INFO] [stdout] test undo::tests::pop_exceeds_length_drains_all ... ok
[INFO] [stdout] test undo::tests::pop_returns_newest_first ... ok
[INFO] [stdout] test undo::tests::pop_zero_is_noop ... ok
[INFO] [stdout] test undo::tests::prune_drops_oldest_not_newest ... ok
[INFO] [stdout] test undo::tests::test_jsonl_roundtrip ... ok
[INFO] [stdout] test undo::tests::test_pruning ... ok
[INFO] [stdout] test suggestion::tests::test_no_suggestions_for_distant ... ok
[INFO] [stdout] test script::tests::tokenize_single_quoted ... ok
[INFO] [stdout] test undo::tests::test_push_and_pop ... ok
[INFO] [stdout] test matcher::tests::test_regex_replace_with_captures ... ok
[INFO] [stdout] test matcher::tests::test_regex_backreferences_work_in_replace ... ok
[INFO] [stdout] test matcher::proptests::prop_prescreen_never_false_skips ... ok
[INFO] [stdout] test engine::proptests::prop_splice_equals_line_path ... ok
[INFO] [stdout] test matcher::proptests::prop_case_insensitive_ascii_symmetric ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 303 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.46s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ripsed_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45", kill_on_drop: false }`
[INFO] [stdout] d08387dfeccdee7930eacf9a0d629f5eb7de15b154941a4a226bd45efdb01c45
