[INFO] cloning repository https://github.com/KyleQ1/recovermax
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KyleQ1/recovermax" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKyleQ1%2Frecovermax", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKyleQ1%2Frecovermax'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a15e696e74cb1321b1c015f2e1491a8ca1db7bfc
[INFO] testing KyleQ1/recovermax against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKyleQ1%2Frecovermax" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KyleQ1/recovermax
[INFO] finished tweaking git repo https://github.com/KyleQ1/recovermax
[INFO] tweaked toml for git repo https://github.com/KyleQ1/recovermax written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KyleQ1/recovermax on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KyleQ1/recovermax 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hybrid-array v0.4.10
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.116
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.116
[INFO] [stderr]   Downloaded indicatif v0.18.4
[INFO] [stderr]   Downloaded unit-prefix v0.5.2
[INFO] [stderr]   Downloaded bytesize v2.3.1
[INFO] [stderr]   Downloaded console v0.16.3
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.116
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.116
[INFO] [stderr]   Downloaded js-sys v0.3.93
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6138b6ec0b84c0d4dd96b1886bc78b7acedc6b5c9b3e7ba96d8b051b54ba7fac
[INFO] running `Command { std: "docker" "start" "-a" "6138b6ec0b84c0d4dd96b1886bc78b7acedc6b5c9b3e7ba96d8b051b54ba7fac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6138b6ec0b84c0d4dd96b1886bc78b7acedc6b5c9b3e7ba96d8b051b54ba7fac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6138b6ec0b84c0d4dd96b1886bc78b7acedc6b5c9b3e7ba96d8b051b54ba7fac", kill_on_drop: false }`
[INFO] [stdout] 6138b6ec0b84c0d4dd96b1886bc78b7acedc6b5c9b3e7ba96d8b051b54ba7fac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e9b46bfdec12ed15bb009dcb346e2f661a276cb581e3c02fa47455bea6c2c755
[INFO] running `Command { std: "docker" "start" "-a" "e9b46bfdec12ed15bb009dcb346e2f661a276cb581e3c02fa47455bea6c2c755", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling bytesize v2.3.1
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling hybrid-array v0.4.10
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling recovermax-core v0.1.0 (/opt/rustwide/workdir/crates/recovermax-core)
[INFO] [stderr]    Compiling recovermax v0.1.0 (/opt/rustwide/workdir/crates/recovermax-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.60s
[INFO] running `Command { std: "docker" "inspect" "e9b46bfdec12ed15bb009dcb346e2f661a276cb581e3c02fa47455bea6c2c755", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9b46bfdec12ed15bb009dcb346e2f661a276cb581e3c02fa47455bea6c2c755", kill_on_drop: false }`
[INFO] [stdout] e9b46bfdec12ed15bb009dcb346e2f661a276cb581e3c02fa47455bea6c2c755
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3f72ee5a1789cce060a71be0a1657162ee3d1e6ff1344fa20c492df95d7153c
[INFO] running `Command { std: "docker" "start" "-a" "b3f72ee5a1789cce060a71be0a1657162ee3d1e6ff1344fa20c492df95d7153c", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling recovermax v0.1.0 (/opt/rustwide/workdir/crates/recovermax-cli)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling recovermax-core v0.1.0 (/opt/rustwide/workdir/crates/recovermax-core)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.24s
[INFO] running `Command { std: "docker" "inspect" "b3f72ee5a1789cce060a71be0a1657162ee3d1e6ff1344fa20c492df95d7153c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3f72ee5a1789cce060a71be0a1657162ee3d1e6ff1344fa20c492df95d7153c", kill_on_drop: false }`
[INFO] [stdout] b3f72ee5a1789cce060a71be0a1657162ee3d1e6ff1344fa20c492df95d7153c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f1a378cc4e6c84014f3370facf0d244a10865f3965a40dac377d342f5bef7e1b
[INFO] running `Command { std: "docker" "start" "-a" "f1a378cc4e6c84014f3370facf0d244a10865f3965a40dac377d342f5bef7e1b", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stdout] running 41 tests
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/recovermax-7eafbe7ad97563ea)
[INFO] [stdout] test cli::tests::deleted_inode_row_includes_orphan_path_and_dtime ... ok
[INFO] [stdout] test cli::tests::deleted_filesystem_selection_requires_fs_when_multiple_ext_filesystems_exist ... ok
[INFO] [stdout] test cli::tests::deleted_filesystem_selection_accepts_explicit_index ... ok
[INFO] [stdout] test cli::tests::deleted_residual_path_reports_multiple_orphan_candidates ... ok
[INFO] [stdout] test cli::tests::deleted_residual_path_without_inode_auto_resolves_unique_orphan ... ok
[INFO] [stdout] test cli::tests::gather_sibling_context_extracts_dtimes_and_inodes ... ok
[INFO] [stdout] test cli::tests::legacy_deleted_residual_without_provenance_still_auto_resolves_unique_orphan ... ok
[INFO] [stdout] test cli::tests::existing_multi_candidate_test_still_stays_ambiguous ... ok
[INFO] [stdout] test cli::tests::gather_sibling_context_handles_no_siblings ... ok
[INFO] [stdout] test cli::tests::recover_target_resolution_accepts_explicit_filesystem_index ... ok
[INFO] [stdout] test cli::tests::recover_target_resolution_requires_fs_when_path_exists_in_multiple_filesystems ... ok
[INFO] [stdout] test cli::tests::residual_deleted_entry_reports_stat_hint_for_unique_orphan ... ok
[INFO] [stdout] test cli::tests::tiebreaker_dtime_resolves_among_same_type_candidates ... ok
[INFO] [stdout] test cli::tests::tiebreaker_block_group_resolves_when_parent_known ... ok
[INFO] [stdout] test cli::tests::tiebreaker_inode_range_resolves_among_candidates ... ok
[INFO] [stdout] test cli::tests::tiebreaker_size_breaks_tie_when_other_signals_equal ... ok
[INFO] [stdout] test cli::tests::tiebreaker_stays_ambiguous_when_signals_conflict ... ok
[INFO] [stdout] test cli::tests::tiebreaker_stays_ambiguous_with_no_context ... ok
[INFO] [stdout] test cli::tests::traversal_warnings_can_be_filtered_by_filesystem_and_path ... ok
[INFO] [stdout] test cli::tests::traversal_warnings_require_valid_filesystem_index ... ok
[INFO] [stdout] test cli::tests::deleted_residual_path_auto_resolves_strong_extension_match ... ok
[INFO] [stdout] test cli::tests::report_only_fallback_surfaces_orphan_nodes_and_recovers_them ... ok
[INFO] [stdout] test cli::tests::auto_resolved_deleted_recovery_uses_requested_output_path ... ok
[INFO] [stdout] test cli::tests::report_only_fallback_browses_orphan_directory_subtrees ... ok
[INFO] [stdout] test daemon::tests::normalize_daemon_path_cleans_relative_segments ... ok
[INFO] [stdout] test daemon::tests::runtime_state_rehydrates_workspace_checkpoint ... ok
[INFO] [stdout] test daemon::tests::daemon_lock_is_exclusive ... ok
[INFO] [stdout] test daemon::tests::error_response_has_llm_contract ... ok
[INFO] [stdout] test cli::tests::report_only_fallback_supports_browsing_search_and_recovery ... ok
[INFO] [stdout] test daemon::tests::attach_request_id_preserves_response_shape ... ok
[INFO] [stdout] test daemon::tests::selection_value_has_llm_contract_and_json_next_action ... ok
[INFO] [stdout] test daemon::tests::parse_match_selector_is_one_based ... ok
[INFO] [stdout] test daemon::tests::offline_status_has_llm_contract_without_state_file ... ok
[INFO] [stdout] test daemon::tests::status_response_has_llm_contract ... ok
[INFO] [stdout] test tui::tests::entry_source_label_matches_cli_terms ... ok
[INFO] [stdout] test daemon::tests::task_json_includes_progress_metrics ... ok
[INFO] [stdout] test tui::tests::format_node_brief_includes_deleted_provenance_suffixes ... ok
[INFO] [stdout] test tui::tests::format_node_brief_marks_orphans ... ok
[INFO] [stdout] test tui::tests::format_node_brief_marks_partial_directories ... ok
[INFO] [stdout] test tui::tests::parse_match_selector_is_one_based ... ok
[INFO] [stdout] test tui::tests::parse_recover_args_supports_optional_target ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stderr]      Running tests/cli_daemon_contract_tests.rs (/opt/rustwide/target/debug/deps/cli_daemon_contract_tests-5433e97b25aeeac8)
[INFO] [stdout] test daemon_workspace_failures_emit_stable_json_contract ... ok
[INFO] [stdout] test daemon_workspace_commands_scan_browse_search_select_and_recover ... ok
[INFO] [stdout] test daemon_start_status_stop_emit_stable_json_contract ... ok
[INFO] [stdout] test daemon_restart_reloads_completed_scan_without_rescanning ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 106 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/recovermax_core-2ceffa004083eb9c)
[INFO] [stdout] test forensic::audit::tests::test_audit_log_creation ... ok
[INFO] [stdout] test forensic::audit::tests::test_audit_log_entries ... ok
[INFO] [stdout] test forensic::audit::tests::test_audit_log_save_load ... ok
[INFO] [stdout] test forensic::audit::tests::test_audit_log_serialization ... ok
[INFO] [stdout] test forensic::hash::tests::test_hash_known_string ... ok
[INFO] [stdout] test forensic::report::tests::test_html_escape ... ok
[INFO] [stdout] test forensic::hash::tests::test_hash_file ... ok
[INFO] [stdout] test forensic::report::tests::test_empty_report ... ok
[INFO] [stdout] test forensic::report::tests::test_report_generation ... ok
[INFO] [stdout] test forensic::hash::tests::test_hash_bytes ... ok
[INFO] [stdout] test forensic::session::tests::identity_fills_defaults ... ok
[INFO] [stdout] test forensic::session::tests::start_audit_with_hash_records_sha256 ... ok
[INFO] [stdout] test forensic::session::tests::start_audit_without_hash_logs_image_opened_and_no_hash ... ok
[INFO] [stdout] test forensic::session::tests::identity_preserves_supplied_values ... ok
[INFO] [stdout] test fs::lvm::tests::parse_vg_config_single_lv ... ok
[INFO] [stdout] test fs::lvm::tests::lv_reader_cross_boundary_errors ... ok
[INFO] [stdout] test fs::lvm::tests::thin_pool_lv_detected ... ok
[INFO] [stdout] test recover::destination::tests::collision_paths_use_deterministic_suffixes ... ok
[INFO] [stdout] test fs::lvm::tests::multi_segment_lv_has_no_disk_offset ... ok
[INFO] [stdout] test fs::lvm::tests::parse_vg_config_inline_stripes ... ok
[INFO] [stdout] test recover::destination::tests::parent_traversal_is_rejected ... ok
[INFO] [stdout] test fs::lvm::tests::parse_vg_config_multiple_lvs ... ok
[INFO] [stdout] test forensic::hash::tests::test_verify_file ... ok
[INFO] [stdout] test recover::destination::tests::windows_separators_are_normalized ... ok
[INFO] [stdout] test recover::destination::tests::safe_destination_stays_under_destination ... ok
[INFO] [stdout] test recover::destination::tests::windows_drive_prefix_is_rejected ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_classifies_text_as_text ... ok
[INFO] [stdout] test recover::orphans::tests::extension_maps_to_expected_kinds ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_classifies_binary_noise_as_unknown ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_recognizes_gif_magic ... ok
[INFO] [stdout] test recover::destination::tests::malformed_empty_or_nul_paths_are_rejected ... ok
[INFO] [stdout] test recover::destination::tests::absolute_paths_are_made_relative ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_empty_is_unknown ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_recognizes_jpeg_magic ... ok
[INFO] [stdout] test recover::scoring::tests::block_group_locality_zero_ipg_bails ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_recognizes_png_magic ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_recognizes_zip_magic ... ok
[INFO] [stdout] test recover::scoring::tests::block_group_locality_same_group ... ok
[INFO] [stdout] test recover::scoring::tests::dtime_exact_match_scores_one ... ok
[INFO] [stdout] test recover::orphans::tests::sniff_recognizes_pdf_magic ... ok
[INFO] [stdout] test recover::scoring::tests::median_odd_and_even ... ok
[INFO] [stdout] test recover::scoring::tests::dtime_missing_scores_zero ... ok
[INFO] [stdout] test recover::scoring::tests::inode_range_inside_scores_one ... ok
[INFO] [stdout] test recover::scoring::tests::dtime_far_match_scores_zero ... ok
[INFO] [stdout] test recover::scoring::tests::inode_range_outside_falls_off_linearly ... ok
[INFO] [stdout] test recover::scoring::tests::size_reasonableness_text_brackets ... ok
[INFO] [stdout] test scan::tests::scan_event_filesystem_found_serializes ... ok
[INFO] [stdout] test scan::tests::scan_event_serializes_with_type_tag ... ok
[INFO] [stdout] test recover::scoring::tests::size_reasonableness_missing_inputs_neutral ... ok
[INFO] [stdout] test scan::tests::scan_event_round_trips_through_json ... ok
[INFO] [stdout] test search::tests::exact_basename_match ... ok
[INFO] [stdout] test search::tests::exact_path_match ... ok
[INFO] [stdout] test fs::lvm::tests::lv_reader_translates_single_segment ... ok
[INFO] [stdout] test search::tests::glob_case_insensitive ... ok
[INFO] [stdout] test search::tests::glob_complex_pattern ... ok
[INFO] [stdout] test search::tests::glob_path_pattern ... ok
[INFO] [stdout] test search::tests::glob_star_only_matches_everything ... ok
[INFO] [stdout] test search::tests::glob_star_extension ... ok
[INFO] [stdout] test search::tests::matches_full_path_substring ... ok
[INFO] [stdout] test session::binary_format::tests::child_entry_size_is_8 ... ok
[INFO] [stdout] test session::binary_format::tests::compact_node_size_is_64 ... ok
[INFO] [stdout] test fs::lvm::tests::lv_reader_multi_segment_reads ... ok
[INFO] [stdout] test search::tests::matches_basename_substring ... ok
[INFO] [stdout] test session::binary_format::tests::flag_encoding_roundtrips ... ok
[INFO] [stdout] test search::tests::glob_question_mark ... ok
[INFO] [stdout] test session::binary_format::tests::flag_encoding_regular_file_not_deleted ... ok
[INFO] [stdout] test session::binary_format::tests::flag_encoding_symlink_orphan ... ok
[INFO] [stdout] test session::binary_format::tests::header_new_has_correct_magic ... ok
[INFO] [stdout] test search::tests::matches_ignore_case ... ok
[INFO] [stdout] test session::binary_format::tests::header_size_is_256 ... ok
[INFO] [stdout] test session::binary_format::tests::header_last_scanned_offset_roundtrips ... ok
[INFO] [stdout] test search::tests::non_glob_query_still_works_as_substring ... ok
[INFO] [stdout] test session::binary_format::tests::inode_entry_size_is_16 ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_rejects_truncated_header ... ok
[INFO] [stdout] test scan::tests::scanner_honours_cancel_flag ... ok
[INFO] [stdout] test session::binary_format::tests::parent_index_max_means_no_parent ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_computes_path ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_resolves_path ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_gets_compact_node ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_search_finds_by_basename ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_search_glob ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_with_missing_node_region_fails_closed ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_lists_children ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_rejects_invalid_magic ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_to_session_node_preserves_deleted ... ok
[INFO] [stdout] test session::binary_reader::tests::reader_opens_valid_file ... ok
[INFO] [stdout] test session::binary_writer::tests::children_index_built_correctly ... ok
[INFO] [stdout] test session::compact_tree::tests::compact_tree_builds_and_queries ... ok
[INFO] [stdout] test session::binary_writer::tests::string_table_deduplicates ... ok
[INFO] [stdout] test session::compact_tree::tests::compute_path_survives_deep_chain ... ok
[INFO] [stdout] test session::binary_writer::tests::writer_creates_valid_header ... ok
[INFO] [stdout] test session::binary_writer::tests::writer_streams_nodes ... ok
[INFO] [stdout] test session::compact_tree::tests::compute_path_survives_self_cycle ... ok
[INFO] [stdout] test session::compact_tree::tests::compute_path_survives_two_node_cycle ... ok
[INFO] [stdout] test session::compact_tree::tests::string_table_deduplicates ... ok
[INFO] [stdout] test session::open::tests::is_binary_scn_false_for_missing_file ... ok
[INFO] [stdout] test session::open::tests::parse_memory_budget_accepts_human_readable ... ok
[INFO] [stdout] test session::open::tests::parse_memory_budget_accepts_raw_bytes ... ok
[INFO] [stdout] test session::open::tests::parse_memory_budget_empty_string_is_none ... ok
[INFO] [stdout] test session::open::tests::parse_memory_budget_rejects_nonsense ... ok
[INFO] [stdout] test session::open::tests::parse_memory_budget_none_stays_none ... ok
[INFO] [stdout] test session::compact_tree::tests::save_and_reload_binary ... ok
[INFO] [stdout] test session::open::tests::open_session_from_saved_infers_source_for_legacy_binary_scn ... ok
[INFO] [stdout] test session::open::tests::open_session_from_saved_reads_embedded_source_from_new_binary_scn ... ok
[INFO] [stdout] test session::binary_writer::tests::memory_stays_small ... ok
[INFO] [stdout] test session::compact_tree::tests::memory_is_compact ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 106 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/carve_complex_tests.rs (/opt/rustwide/target/debug/deps/carve_complex_tests-0f1586eb31689482)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test image_smaller_than_sector ... ok
[INFO] [stdout] test back_to_back_files_same_sector ... ok
[INFO] [stdout] test identical_headers_consecutive_sectors ... ok
[INFO] [stdout] test gif_false_footer_frequency ... ok
[INFO] [stdout] test partial_header_at_image_end ... ok
[INFO] [stdout] test overlapping_signatures_same_offset ... ok
[INFO] [stdout] test large_carved_file_respects_max_size ... ok
[INFO] [stdout] test signature_at_end_of_image ... ok
[INFO] [stdout] test jpeg_footer_inside_png_data ... ok
[INFO] [stdout] test jpeg_with_false_footer_in_data ... ok
[INFO] [stdout] test multiple_jpegs_across_image ... ok
[INFO] [stdout] test truncated_file_no_footer_before_eof ... ok
[INFO] [stdout] test all_signature_types_in_one_image ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/carve_smart_tests.rs (/opt/rustwide/target/debug/deps/carve_smart_tests-904226eb6ec77296)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test elf64_le_carved_size_matches_header ... ok
[INFO] [stdout] test gif_accepts_footer_past_min_distance ... ok
[INFO] [stdout] test jpeg_accepts_footer_past_min_distance ... ok
[INFO] [stdout] test elf_zero_shoff_falls_back ... ok
[INFO] [stdout] test elf32_le_carved_size_matches_header ... ok
[INFO] [stdout] test zip_eocd_with_comment ... ok
[INFO] [stdout] test gif_skips_immediate_false_footer ... ok
[INFO] [stdout] test sqlite_carved_size_matches_header ... ok
[INFO] [stdout] test sqlite_zero_page_count_falls_back_to_max ... ok
[INFO] [stdout] test sqlite_invalid_page_size_falls_back ... ok
[INFO] [stdout] test jpeg_skips_early_false_footer ... ok
[INFO] [stdout] test zip_carved_to_eocd ... ok
[INFO] [stdout] test zip_no_eocd_falls_back ... ok
[INFO] [stdout] test gzip_respects_reduced_max_size ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/carve_tests.rs (/opt/rustwide/target/debug/deps/carve_tests-0e924aa92ceb7f22)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test carve_elf ... ok
[INFO] [stdout] test carve_creates_dest_directory ... ok
[INFO] [stdout] test carve_gzip ... ok
[INFO] [stdout] test carve_empty_image ... ok
[INFO] [stdout] test carve_filter_by_name ... ok
[INFO] [stdout] test carve_filter_case_insensitive ... ok
[INFO] [stdout] test carve_filter_no_matches ... ok
[INFO] [stdout] test carve_only_finds_sector_aligned_signatures ... ok
[INFO] [stdout] test carve_jpeg_with_footer ... ok
[INFO] [stdout] test carve_png_with_footer ... ok
[INFO] [stdout] test carve_pdf_with_footer ... ok
[INFO] [stdout] test carve_filter_only_jpg ... ok
[INFO] [stdout] test carve_sqlite ... ok
[INFO] [stdout] test carve_zip ... ok
[INFO] [stdout] test carved_filename_has_hex_offset ... ok
[INFO] [stdout] test carve_multiple_types ... ok
[INFO] [stdout] test carve_no_signatures_found ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stderr]      Running tests/deleted_tests.rs (/opt/rustwide/target/debug/deps/deleted_tests-e765fc3938355679)
[INFO] [stdout] test detects_deleted_file_types ... ok
[INFO] [stdout] test skips_zero_size_deleted_inodes ... ok
[INFO] [stdout] test skips_reserved_inodes ... ok
[INFO] [stdout] test finds_deleted_inodes_with_zero_links ... ok
[INFO] [stdout] test empty_inode_table_returns_empty ... ok
[INFO] [stderr]      Running tests/ext4_complex_tests.rs (/opt/rustwide/target/debug/deps/ext4_complex_tests-b2c4a40cd3defbba)
[INFO] [stdout] test deleted_inode_data_readable ... ok
[INFO] [stdout] test deleted_multiblock_file_readable ... ok
[INFO] [stdout] test finds_deleted_inodes_with_dtime ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test corrupt_extent_magic_returns_error ... ok
[INFO] [stdout] test ext4_with_1k_block_size ... ok
[INFO] [stdout] test extent_tree_with_zero_entries ... ok
[INFO] [stdout] test directory_with_long_filename ... ok
[INFO] [stdout] test deleted_directory_children_are_searchable_and_recoverable ... ok
[INFO] [stdout] test deleted_entries_in_directory_slack_are_preserved ... ok
[INFO] [stdout] test full_recovery_pipeline ... ok
[INFO] [stdout] test directory_with_deleted_entries ... ok
[INFO] [stdout] test journal_filename_hints_returns_empty_for_no_journal ... ok
[INFO] [stdout] test blockmap_file_with_indirect_blocks ... ok
[INFO] [stdout] test malformed_directory_record_does_not_hide_later_entries ... ok
[INFO] [stdout] test journal_with_non_directory_data_produces_no_hints ... ok
[INFO] [stdout] test deleted_inode_without_directory_entry_gets_orphan_path ... ok
[INFO] [stdout] test read_file_extent_overdeclared_block_count_only_reads_logical_size ... ok
[INFO] [stdout] test read_file_data_via_blockmap ... ok
[INFO] [stdout] test journal_filename_hints_extracts_names_from_journal_dir_blocks ... ok
[INFO] [stdout] test deleted_orphan_directory_gets_browsable_subtree_and_recovers ... ok
[INFO] [stdout] test read_file_with_depth1_extent_tree ... ok
[INFO] [stdout] test read_file_spanning_multiple_direct_blocks ... ok
[INFO] [stdout] test read_root_directory_entries ... ok
[INFO] [stdout] test read_file_with_multiple_extents ... ok
[INFO] [stdout] test gpt_with_ext4_partition_full_scan ... ok
[INFO] [stdout] test unreadable_child_directory_keeps_parent_tree_and_warning ... ok
[INFO] [stdout] test unreadable_root_directory_preserves_root_only_session_node ... ok
[INFO] [stdout] test read_file_extent_outside_image_errors ... ok
[INFO] [stdout] test recovery_with_saved_session_artifact ... ok
[INFO] [stdout] test recovery_with_path_filter ... ok
[INFO] [stdout] test read_file_data_via_extent ... ok
[INFO] [stdout] test read_inode_from_second_block_group ... ok
[INFO] [stdout] test read_zero_byte_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ext4_tests.rs (/opt/rustwide/target/debug/deps/ext4_tests-a3683ba2f6293936)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test detect_not_ext4 ... ok
[INFO] [stdout] test ext4fs_new_invalid ... ok
[INFO] [stdout] test detect_at_offset ... ok
[INFO] [stdout] test block_size_2k ... ok
[INFO] [stdout] test block_size_4k ... ok
[INFO] [stdout] test block_size_1k ... ok
[INFO] [stdout] test has_extents_flag ... ok
[INFO] [stdout] test inode_type_detection ... ok
[INFO] [stdout] test inode_uses_extents ... ok
[INFO] [stdout] test inode_deleted_detection ... ok
[INFO] [stdout] test parse_superblock_bad_magic ... ok
[INFO] [stdout] test parse_superblock_too_small ... ok
[INFO] [stdout] test ext4fs_new_valid ... ok
[INFO] [stdout] test max_length_volume_name ... ok
[INFO] [stdout] test empty_volume_name ... ok
[INFO] [stdout] test uuid_string_format ... ok
[INFO] [stdout] test has_64bit_flag ... ok
[INFO] [stdout] test detect_valid_ext4 ... ok
[INFO] [stdout] test parse_superblock_valid ... ok
[INFO] [stdout] test read_inode_zero_is_error ... ok
[INFO] [stdout] test no_extents_flag ... ok
[INFO] [stdout] test total_size_calculation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/failing_tests.rs (/opt/rustwide/target/debug/deps/failing_tests-5fc4971dad1a5111)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test large_file_size_field_parsing ... ok
[INFO] [stdout] test carver_finds_embedded_headers ... ok
[INFO] [stdout] test symlink_recovery ... ok
[INFO] [stdout] test indirect_blocks_work ... ok
[INFO] [stdout] test sparse_file_with_holes ... ok
[INFO] [stdout] test recovery_continues_after_corrupt_directory ... ok
[INFO] [stdout] test recovery_respects_depth_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/io_tests.rs (/opt/rustwide/target/debug/deps/io_tests-97328798a9d94ec4)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test open_nonexistent_file ... ok
[INFO] [stdout] test open_empty_file ... ok
[INFO] [stdout] test as_bytes_returns_full_image ... ok
[INFO] [stdout] test read_array_exact ... ok
[INFO] [stdout] test open_valid_file ... ok
[INFO] [stdout] test read_u32_le ... ok
[INFO] [stdout] test read_at_zero_length ... ok
[INFO] [stdout] test read_u16_le ... ok
[INFO] [stdout] test read_u64_le ... ok
[INFO] [stdout] test read_at_valid_offset ... ok
[INFO] [stdout] test read_at_end_of_file ... ok
[INFO] [stdout] test read_at_beyond_file ... ok
[INFO] [stdout] test read_array_short_read ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ntfs_tests.rs (/opt/rustwide/target/debug/deps/ntfs_tests-a9ec495385bda337)
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test decode_data_runs_larger_fields ... ok
[INFO] [stdout] test decode_data_runs_multiple ... ok
[INFO] [stdout] test decode_data_runs_empty ... ok
[INFO] [stdout] test decode_data_runs_single ... ok
[INFO] [stdout] test decode_data_runs_truncated_run_fails_closed ... ok
[INFO] [stdout] test decode_data_runs_two_byte_length ... ok
[INFO] [stdout] test decode_data_runs_rejects_oversized_length_field ... ok
[INFO] [stdout] test decode_data_runs_rejects_oversized_offset_field ... ok
[INFO] [stdout] test detect_not_ntfs_on_zeros ... ok
[INFO] [stdout] test decode_data_runs_negative_delta ... ok
[INFO] [stdout] test detect_valid_ntfs ... ok
[INFO] [stdout] test cluster_size_large ... ok
[INFO] [stdout] test cluster_size_calculation ... ok
[INFO] [stdout] test detect_not_ntfs_on_ext4 ... ok
[INFO] [stdout] test ntfs_fs_new_invalid ... ok
[INFO] [stdout] test ntfs_fs_list_root_skips_deleted ... ok
[INFO] [stdout] test detect_ntfs_at_offset ... ok
[INFO] [stdout] test mft_byte_offset_calculation ... ok
[INFO] [stdout] test full_scan_detects_ntfs_at_offset_zero ... ok
[INFO] [stdout] test ntfs_fs_list_root_skips_metafiles ... ok
[INFO] [stdout] test parse_boot_sector_bad_magic ... ok
[INFO] [stdout] test ntfs_fs_new_valid ... ok
[INFO] [stdout] test parse_boot_sector_too_small ... ok
[INFO] [stdout] test mft_entry_size_negative_encoding ... ok
[INFO] [stdout] test ntfs_fs_read_file_nonresident ... ok
[INFO] [stdout] test ntfs_fs_read_file_nonresident_out_of_range_errors ... ok
[INFO] [stdout] test parse_mft_entry_bad_magic ... ok
[INFO] [stdout] test parse_mft_entry_bad_nonresident_run_errors ... ok
[INFO] [stdout] test parse_mft_entry_directory ... ok
[INFO] [stdout] test parse_mft_entry_not_in_use ... ok
[INFO] [stdout] test parse_mft_entry_too_small ... ok
[INFO] [stdout] test parse_mft_entry_with_data_runs ... ok
[INFO] [stdout] test parse_mft_entry_with_resident_data ... ok
[INFO] [stdout] test ntfs_fs_read_mft_entry ... ok
[INFO] [stdout] test parse_mft_entry_valid ... ok
[INFO] [stdout] test parse_mft_entry_unicode_filename ... ok
[INFO] [stdout] test scanner_detects_ntfs ... ok
[INFO] [stdout] test total_size_calculation ... ok
[INFO] [stdout] test ntfs_fs_read_file_resident ... ok
[INFO] [stdout] test parse_boot_sector_invalid_bytes_per_sector ... ok
[INFO] [stdout] test parse_boot_sector_invalid_sectors_per_cluster ... ok
[INFO] [stdout] test parse_boot_sector_valid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.90s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scan_tests.rs (/opt/rustwide/target/debug/deps/scan_tests-b4cea50c765d0683)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test detect_no_partition_table ... ok
[INFO] [stdout] test detect_no_filesystem_on_zeros ... ok
[INFO] [stdout] test detect_mbr_single_partition ... ok
[INFO] [stdout] test detect_mbr_empty_slots ... ok
[INFO] [stdout] test full_scan_raw_ext4 ... ok
[INFO] [stdout] test detect_ext4_filesystem ... ok
[INFO] [stdout] test mbr_bad_signature ... ok
[INFO] [stdout] test gpt_invalid_entry_size_fails_closed ... ok
[INFO] [stdout] test legacy_scan_report_json_loads_as_artifact ... ok
[INFO] [stdout] test mbr_partition_type_names ... ok
[INFO] [stdout] test mbr_skips_partition_ending_beyond_image ... ok
[INFO] [stdout] test scan_artifact_validation_rejects_wrong_image_path ... ok
[INFO] [stdout] test mbr_skips_partition_starting_beyond_image ... ok
[INFO] [stdout] test scan_artifact_roundtrip_preserves_source_metadata ... ok
[INFO] [stdout] test detect_mbr_multiple_partitions ... ok
[INFO] [stdout] test scan_artifact_validation_rejects_wrong_image_size ... ok
[INFO] [stdout] test scan_report_summary_format ... ok
[INFO] [stdout] test gpt_entry_table_beyond_image_fails_closed ... ok
[INFO] [stdout] test scan_report_serialization_roundtrip ... ok
[INFO] [stdout] test gpt_skips_partition_with_reversed_lba_range ... ok
[INFO] [stdout] test detect_gpt_multiple_partitions ... ok
[INFO] [stdout] test detect_gpt_single_partition ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.35s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/session_cache_tests.rs (/opt/rustwide/target/debug/deps/session_cache_tests-1f1dab623249a81f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test session_cache_lazily_builds_and_rebuilds_after_unload ... ok
[INFO] [stdout] test session_resolve_node_roundtrips_root_and_child_paths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/session_degraded_tests.rs (/opt/rustwide/target/debug/deps/session_degraded_tests-7bed1dd4d01c8ce6)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test filesystem_warnings_match_structured_and_legacy_paths ... ok
[INFO] [stdout] test report_only_artifact_roundtrips_without_losing_metadata ... ok
[INFO] [stdout] test report_only_session_has_predictable_degraded_runtime_behavior ... ok
[INFO] [stderr]      Running tests/session_migration_tests.rs (/opt/rustwide/target/debug/deps/session_migration_tests-4abb80c073bcff86)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test synthetic_session_tree_paths_remain_consistent ... ok
[INFO] [stdout] test v2_session_json_without_new_provenance_fields_still_loads ... ok
[INFO] [stdout] test v1_scan_artifact_json_still_loads_through_current_api ... ok
[INFO] [stdout] test rich_session_artifact_roundtrip_preserves_flat_tree ... ok
[INFO] [stderr]      Running tests/session_path_tests.rs (/opt/rustwide/target/debug/deps/session_path_tests-c2b4e1b137e6e206)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test relative_saved_image_path_resolves_against_artifact_location ... ok
[INFO] [stdout] test from_report_canonicalizes_existing_image_path ... ok
[INFO] [stdout] test cwd_relative_saved_image_path_resolves_without_artifact_duplication ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cwd_relative_saved_image_path_resolves_without_artifact_duplication stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cwd_relative_saved_image_path_resolves_without_artifact_duplication' (418) panicked at crates/recovermax-core/tests/session_path_tests.rs:85:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/crates/recovermax-core/recovermax-session-path-rofjXy", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c0174aaf83a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c0174aaf83a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c0174aaf83a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c0174aaf83a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c0174ac450a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c0174ac450a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5c0174ab4672 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5c0174ab4672 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5c0174a8c87f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c0174a8c87f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c0174aa7089 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c01749be53c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5c01749be53c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c0174aa7242 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5c0174aa7242 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c0174a8c938 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c0174a813b9 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c0174a8d73d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c0174ac4c9c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c0174ac4a12 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5c01749af6c2 - <core[e929cb53b82a81ca]::result::Result<tempfile[318629bea18ba98d]::dir::TempDir, std[29689e6404d28ef9]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5c01749af6c2 - session_path_tests[e4056a0d65265f50]::cwd_relative_saved_image_path_resolves_without_artifact_duplication
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/recovermax-core/tests/session_path_tests.rs:85:10
[INFO] [stdout]   22:     0x5c01749ad637 - session_path_tests[e4056a0d65265f50]::cwd_relative_saved_image_path_resolves_without_artifact_duplication::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/recovermax-core/tests/session_path_tests.rs:80:73
[INFO] [stdout]   23:     0x5c01749b1776 - <session_path_tests[e4056a0d65265f50]::cwd_relative_saved_image_path_resolves_without_artifact_duplication::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c01749b181b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5c01749b181b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5c01749bf00b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5c01749bf00b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5c01749bf00b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5c01749bf00b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5c01749bf00b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5c01749bf00b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5c01749bf00b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5c01749b8724 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5c01749b8724 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5c01749c1c12 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5c01749c1c12 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5c01749c1c12 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5c01749c1c12 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5c01749c1c12 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5c01749c1c12 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5c01749c1c12 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5c0174aaec2f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5c0174aaec2f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7cab97573aa4 - <unknown>
[INFO] [stdout]   45:     0x7cab97600a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cwd_relative_saved_image_path_resolves_without_artifact_duplication
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p recovermax-core --test session_path_tests`
[INFO] running `Command { std: "docker" "inspect" "f1a378cc4e6c84014f3370facf0d244a10865f3965a40dac377d342f5bef7e1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1a378cc4e6c84014f3370facf0d244a10865f3965a40dac377d342f5bef7e1b", kill_on_drop: false }`
[INFO] [stdout] f1a378cc4e6c84014f3370facf0d244a10865f3965a40dac377d342f5bef7e1b
