[INFO] fetching crate fettle 0.1.8... [INFO] testing fettle-0.1.8 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate fettle 0.1.8 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate fettle 0.1.8 [INFO] finished tweaking crates.io crate fettle 0.1.8 [INFO] tweaked toml for crates.io crate fettle 0.1.8 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate fettle 0.1.8 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate fettle 0.1.8 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 91f194bd3fbe42cee4355e1fae27503335cec41df255023ff46d3b101ad531d6 [INFO] running `Command { std: "docker" "start" "-a" "91f194bd3fbe42cee4355e1fae27503335cec41df255023ff46d3b101ad531d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "91f194bd3fbe42cee4355e1fae27503335cec41df255023ff46d3b101ad531d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91f194bd3fbe42cee4355e1fae27503335cec41df255023ff46d3b101ad531d6", kill_on_drop: false }` [INFO] [stdout] 91f194bd3fbe42cee4355e1fae27503335cec41df255023ff46d3b101ad531d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ec7e6a7c929117e7a7cef42f08a57dfdd617e1c7367fb74941f2761e936e8dab [INFO] running `Command { std: "docker" "start" "-a" "ec7e6a7c929117e7a7cef42f08a57dfdd617e1c7367fb74941f2761e936e8dab", kill_on_drop: false }` [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling fettle v0.1.8 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.68s [INFO] running `Command { std: "docker" "inspect" "ec7e6a7c929117e7a7cef42f08a57dfdd617e1c7367fb74941f2761e936e8dab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec7e6a7c929117e7a7cef42f08a57dfdd617e1c7367fb74941f2761e936e8dab", kill_on_drop: false }` [INFO] [stdout] ec7e6a7c929117e7a7cef42f08a57dfdd617e1c7367fb74941f2761e936e8dab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 596e1b8095226cce562a23d523ee3754b29727b59aa840907643c0fc541b1649 [INFO] running `Command { std: "docker" "start" "-a" "596e1b8095226cce562a23d523ee3754b29727b59aa840907643c0fc541b1649", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling fettle v0.1.8 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.49s [INFO] running `Command { std: "docker" "inspect" "596e1b8095226cce562a23d523ee3754b29727b59aa840907643c0fc541b1649", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "596e1b8095226cce562a23d523ee3754b29727b59aa840907643c0fc541b1649", kill_on_drop: false }` [INFO] [stdout] 596e1b8095226cce562a23d523ee3754b29727b59aa840907643c0fc541b1649 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9eb2b501aab9afdae7c012b3ab84c05d9f13f7c45cbcf4c1839a5f631c6d3542 [INFO] running `Command { std: "docker" "start" "-a" "9eb2b501aab9afdae7c012b3ab84c05d9f13f7c45cbcf4c1839a5f631c6d3542", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fettle-12e188a1581cbad1) [INFO] [stdout] [INFO] [stdout] running 117 tests [INFO] [stdout] test diff::tests::test_change_ratio ... ok [INFO] [stdout] test diff::tests::test_empty_old_file ... ok [INFO] [stdout] test backup::tests::test_backup_naming_includes_timestamp ... ok [INFO] [stdout] test backup::tests::test_rollback_restores_from_backup ... ok [INFO] [stdout] test diff::tests::test_pure_deletions ... ok [INFO] [stdout] test diff::tests::test_identical_content ... ok [INFO] [stdout] test backup::tests::test_days_to_date ... ok [INFO] [stdout] test backup::tests::test_backup_creates_file_and_sidecar ... ok [INFO] [stdout] test backup::tests::test_rollback_with_to_override ... ok [INFO] [stdout] test diff::tests::test_summary_format ... ok [INFO] [stdout] test diff::tests::test_threshold_at_ceiling_boundary ... ok [INFO] [stdout] test diff::tests::test_single_line_change ... ok [INFO] [stdout] test diff::tests::test_empty_new_file ... ok [INFO] [stdout] test diff::tests::test_threshold_at_floor_boundary ... ok [INFO] [stdout] test backup::tests::test_format_age ... ok [INFO] [stdout] test backup::tests::test_rollback_by_full_path ... ok [INFO] [stdout] test diff::tests::test_threshold_floor ... ok [INFO] [stdout] test diff::tests::test_truncate_diff_short ... ok [INFO] [stdout] test diff::tests::test_unified_diff_has_headers ... ok [INFO] [stdout] test diff::tests::test_threshold_ratio_triggers ... ok [INFO] [stdout] test diff::tests::test_threshold_ceiling ... ok [INFO] [stdout] test edit_diagnose::tests::test_file_does_not_exist ... ok [INFO] [stdout] test diff::tests::test_threshold_ratio_passes ... ok [INFO] [stdout] test edit_diagnose::tests::test_exact_match_multiple ... ok [INFO] [stdout] test edit_diagnose::tests::test_multiline_search ... ok [INFO] [stdout] test backup::tests::test_rollback_nonexistent_backup ... ok [INFO] [stdout] test diff::tests::test_pure_insertions ... ok [INFO] [stdout] test edit_diagnose::tests::test_truncate_str_long ... ok [INFO] [stdout] test edit_diagnose::tests::test_truncate_str_short ... ok [INFO] [stdout] test backup::tests::test_rollback_missing_sidecar_without_to ... ok [INFO] [stdout] test filetype::tests::test_binary_detection ... ok [INFO] [stdout] test filetype::tests::test_case_insensitive ... ok [INFO] [stdout] test edit_diagnose::tests::test_not_found_no_near_match ... ok [INFO] [stdout] test filetype::tests::test_no_extension_is_text ... ok [INFO] [stdout] test edit_diagnose::tests::test_windows_line_endings_note ... ok [INFO] [stdout] test edit_diagnose::tests::test_not_found_with_near_match ... ok [INFO] [stdout] test filetype::tests::test_images_allow_builtin ... ok [INFO] [stdout] test filetype::tests::test_notebook_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_edit_old_string_not_found ... ok [INFO] [stdout] test hook::tests::test_edit_no_op_same_strings ... ok [INFO] [stdout] test hook::tests::test_edit_ambiguous_match ... ok [INFO] [stdout] test hook::tests::test_edit_file_does_not_exist ... ok [INFO] [stdout] test filetype::tests::test_common_text_files ... ok [INFO] [stdout] test filetype::tests::test_svg_is_text_not_image ... ok [INFO] [stdout] test filetype::tests::test_pdf_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_parse_size_bytes ... ok [INFO] [stdout] test backup::tests::test_purge_respects_max_count ... ok [INFO] [stdout] test hook::tests::test_parse_hook_json ... ok [INFO] [stdout] test hook::tests::test_parse_invalid_json ... ok [INFO] [stdout] test hook::tests::test_edit_replace_all ... ok [INFO] [stdout] test hook::tests::test_parse_size_invalid ... ok [INFO] [stdout] test diff::tests::test_truncate_diff_long ... ok [INFO] [stdout] test hook::tests::test_read_image_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_read_nonexistent_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_read_notebook_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_write_missing_content ... ok [INFO] [stdout] test hook::tests::test_read_pdf_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_parse_size_kb ... ok [INFO] [stdout] test hook::tests::test_read_small_text_allows_builtin ... ok [INFO] [stdout] test hook::tests::test_write_creates_dirs ... ok [INFO] [stdout] test hook::tests::test_write_new_file ... ok [INFO] [stdout] test hook::tests::test_read_large_text_with_offset_and_limit ... ok [INFO] [stdout] test hook::tests::test_parse_size_mb ... ok [INFO] [stdout] test hook::tests::test_edit_basic_replacement ... ok [INFO] [stdout] test hook::tests::test_write_no_change ... ok [INFO] [stdout] test hook::tests::test_read_large_text_denies_with_content ... ok [INFO] [stdout] test hook::tests::test_unknown_tool_allows ... ok [INFO] [stdout] test install::tests::test_fettle_hook_entry_shape ... ok [INFO] [stdout] test install::tests::test_has_fettle_hook_empty ... ok [INFO] [stdout] test install::tests::test_has_fettle_hook_not_array ... ok [INFO] [stdout] test install::tests::test_has_fettle_hook_negative ... ok [INFO] [stdout] test install::tests::test_has_fettle_hook_positive ... ok [INFO] [stdout] test install::tests::test_inject_creates_settings_from_scratch ... ok [INFO] [stdout] test hook::tests::test_read_svg_handled_as_text ... ok [INFO] [stdout] test hook::tests::test_write_small_diff ... ok [INFO] [stdout] test install::tests::test_inject_appends_to_existing_pre_tool_use ... ok [INFO] [stdout] test hook::tests::test_write_large_diff_stages ... ok [INFO] [stdout] test install::tests::test_inject_idempotent ... ok [INFO] [stdout] test read::tests::test_format_size ... ok [INFO] [stdout] test read::tests::test_read_basic ... ok [INFO] [stdout] test read::tests::test_file_info ... ok [INFO] [stdout] test install::tests::test_inject_preserves_existing_content ... ok [INFO] [stdout] test install::tests::test_inject_rejects_non_object_hooks ... ok [INFO] [stdout] test install::tests::test_settings_json_installed_true_after_inject ... ok [INFO] [stdout] test hook::tests::test_threshold_env_override ... ok [INFO] [stdout] test install::tests::test_uninstall_idempotent ... ok [INFO] [stdout] test read::tests::test_read_with_limit ... ok [INFO] [stdout] test read::tests::test_read_with_offset ... ok [INFO] [stdout] test read::tests::test_read_with_offset_and_limit ... ok [INFO] [stdout] test read::tests::test_read_nonexistent_file ... ok [INFO] [stdout] test read::tests::test_read_empty_file ... ok [INFO] [stdout] test stage::tests::test_confirm_already_applied ... ok [INFO] [stdout] test stage::tests::test_list_pending_sessions ... ok [INFO] [stdout] test stage::tests::test_purge_removes_expired_sessions ... ok [INFO] [stdout] test stage::tests::test_discard_removes_session ... ok [INFO] [stdout] test stage::tests::test_session_id_collision_avoidance ... ok [INFO] [stdout] test stage::tests::test_session_id_is_8_char_hex ... ok [INFO] [stdout] test stage::tests::test_confirm_applies_content ... ok [INFO] [stdout] test stage::tests::test_confirm_expired_session ... ok [INFO] [stdout] test write::tests::test_write_basic ... ok [INFO] [stdout] test stage::tests::test_discard_expired_session_succeeds ... ok [INFO] [stdout] test stage::tests::test_stage_creates_content_and_metadata ... ok [INFO] [stdout] test stage::tests::test_unknown_session ... ok [INFO] [stdout] test write::tests::test_write_empty_file ... ok [INFO] [stdout] test write::tests::test_write_confirmation_format ... ok [INFO] [stdout] test write::tests::test_write_overwrites_existing ... ok [INFO] [stdout] test write::tests::test_write_creates_parent_dirs ... ok [INFO] [stdout] test read::tests::test_read_line_numbers_right_aligned ... ok [INFO] [stdout] test edit_diagnose::tests::test_exact_match_single ... ok [INFO] [stdout] test install::tests::test_inject_rejects_malformed_json ... ok [INFO] [stdout] test install::tests::test_settings_json_installed_false_when_missing ... ok [INFO] [stdout] test install::tests::test_uninstall_preserves_other_hooks ... ok [INFO] [stdout] test install::tests::test_uninstall_removes_settings_json_entry ... ok [INFO] [stdout] test install::tests::test_inject_rejects_non_array_pre_tool_use ... ok [INFO] [stdout] test install::tests::test_inject_rejects_non_object_root ... ok [INFO] [stdout] test install::tests::test_uninstall_cleans_empty_hooks ... ok [INFO] [stdout] test install::tests::test_uninstall_removes_legacy_script ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 117 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9eb2b501aab9afdae7c012b3ab84c05d9f13f7c45cbcf4c1839a5f631c6d3542", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9eb2b501aab9afdae7c012b3ab84c05d9f13f7c45cbcf4c1839a5f631c6d3542", kill_on_drop: false }` [INFO] [stdout] 9eb2b501aab9afdae7c012b3ab84c05d9f13f7c45cbcf4c1839a5f631c6d3542