[INFO] fetching crate usnjrnl-forensic 0.6.0...
[INFO] testing usnjrnl-forensic-0.6.0 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate usnjrnl-forensic 0.6.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate usnjrnl-forensic 0.6.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate usnjrnl-forensic 0.6.0
[INFO] tweaked toml for crates.io crate usnjrnl-forensic 0.6.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate usnjrnl-forensic 0.6.0 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate usnjrnl-forensic 0.6.0 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 13125d275de64c1462a0baae938da588c2d9abe97f2a305ca92ddcd81ab81764
[INFO] running `Command { std: "docker" "start" "-a" "13125d275de64c1462a0baae938da588c2d9abe97f2a305ca92ddcd81ab81764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "13125d275de64c1462a0baae938da588c2d9abe97f2a305ca92ddcd81ab81764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13125d275de64c1462a0baae938da588c2d9abe97f2a305ca92ddcd81ab81764", kill_on_drop: false }`
[INFO] [stdout] 13125d275de64c1462a0baae938da588c2d9abe97f2a305ca92ddcd81ab81764
[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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cfe6613deabfc7bf0d5b0988c4d3bf29b745bbc9a7fb80653bbe7c78bd7b9236
[INFO] running `Command { std: "docker" "start" "-a" "cfe6613deabfc7bf0d5b0988c4d3bf29b745bbc9a7fb80653bbe7c78bd7b9236", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling encoding_index_tests v0.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling camino v1.2.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling encoding-index-korean v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-japanese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling encoding v0.2.33
[INFO] [stderr]    Compiling dialoguer v0.10.4
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling simplelog v0.12.2
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling lru v0.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling cargo_metadata v0.14.2
[INFO] [stderr]    Compiling skeptic v0.13.7
[INFO] [stderr]    Compiling winstructs v0.3.2
[INFO] [stderr]    Compiling mft v0.6.1
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling usnjrnl-forensic v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 30s
[INFO] running `Command { std: "docker" "inspect" "cfe6613deabfc7bf0d5b0988c4d3bf29b745bbc9a7fb80653bbe7c78bd7b9236", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfe6613deabfc7bf0d5b0988c4d3bf29b745bbc9a7fb80653bbe7c78bd7b9236", kill_on_drop: false }`
[INFO] [stdout] cfe6613deabfc7bf0d5b0988c4d3bf29b745bbc9a7fb80653bbe7c78bd7b9236
[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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dfec9a470907aeabaf0951cd4c2e2793697e84be7f4068b866f9b0bfd33b1fd3
[INFO] running `Command { std: "docker" "start" "-a" "dfec9a470907aeabaf0951cd4c2e2793697e84be7f4068b866f9b0bfd33b1fd3", kill_on_drop: false }`
[INFO] [stderr]    Compiling usnjrnl-forensic v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.75s
[INFO] running `Command { std: "docker" "inspect" "dfec9a470907aeabaf0951cd4c2e2793697e84be7f4068b866f9b0bfd33b1fd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfec9a470907aeabaf0951cd4c2e2793697e84be7f4068b866f9b0bfd33b1fd3", kill_on_drop: false }`
[INFO] [stdout] dfec9a470907aeabaf0951cd4c2e2793697e84be7f4068b866f9b0bfd33b1fd3
[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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e04535566c6ab657cfdb0874991da55b93f0ae72340de024ac1a983273730f64
[INFO] running `Command { std: "docker" "start" "-a" "e04535566c6ab657cfdb0874991da55b93f0ae72340de024ac1a983273730f64", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/usnjrnl_forensic-316e5ece0ab87176)
[INFO] [stdout] 
[INFO] [stdout] running 463 tests
[INFO] [stdout] test analysis::tests::test_bulk_temp_deletion_spread_over_time ... ok
[INFO] [stdout] test analysis::tests::test_bulk_temp_deletion_grouping_splits_on_time_gap ... ok
[INFO] [stdout] test analysis::tests::test_detect_isolated_basic_info_change ... ok
[INFO] [stdout] test analysis::tests::test_detect_bulk_temp_deletion ... ok
[INFO] [stdout] test analysis::tests::test_detect_journal_clearing_multiple_gaps ... ok
[INFO] [stdout] test analysis::tests::test_detect_mass_rename_unknown_extension ... ok
[INFO] [stdout] test analysis::tests::test_detect_sdelete_pattern ... ok
[INFO] [stdout] test analysis::tests::test_detect_known_ransomware_extension ... ok
[INFO] [stdout] test analysis::tests::test_detect_timestamp_gap ... ok
[INFO] [stdout] test analysis::tests::test_is_common_extension ... ok
[INFO] [stdout] test analysis::tests::test_detect_high_starting_usn ... ok
[INFO] [stdout] test analysis::tests::test_is_sdelete_filename_mixed_chars ... ok
[INFO] [stdout] test analysis::tests::test_clearing_empty_records ... ok
[INFO] [stdout] test analysis::tests::test_is_sdelete_filename_short ... ok
[INFO] [stdout] test analysis::tests::test_is_sdelete_filename_with_extension ... ok
[INFO] [stdout] test analysis::tests::test_mass_rename_over_long_time_not_ransomware ... ok
[INFO] [stdout] test analysis::tests::test_mass_rename_with_common_extension_ignored ... ok
[INFO] [stdout] test analysis::tests::test_no_bulk_temp_with_few_files ... ok
[INFO] [stdout] test analysis::tests::test_no_clearing_for_normal_journal ... ok
[INFO] [stdout] test analysis::tests::test_no_ransomware_for_normal_renames ... ok
[INFO] [stdout] test analysis::tests::test_no_timestomp_on_create ... ok
[INFO] [stdout] test analysis::tests::test_no_timestomp_with_data_change ... ok
[INFO] [stdout] test analysis::tests::test_ransomware_high_count_high_confidence ... ok
[INFO] [stdout] test analysis::tests::test_ransomware_multiple_known_extensions ... ok
[INFO] [stdout] test analysis::tests::test_ransomware_medium_count_medium_confidence ... ok
[INFO] [stdout] test analysis::tests::test_sdelete_grouping_splits_on_time_gap ... ok
[INFO] [stdout] test analysis::tests::test_ransomware_renames_without_extension ... ok
[INFO] [stdout] test analysis::tests::test_sdelete_not_triggered_by_normal_files ... ok
[INFO] [stdout] test analysis::tests::test_sdelete_only_creates_lower_confidence ... ok
[INFO] [stdout] test analysis::tests::test_timestomp_with_distant_data_change ... ok
[INFO] [stdout] test analysis::tests::test_timestomp_multiple_files ... ok
[INFO] [stdout] test correlation::tests::test_activity_summary_first_seen_last_seen_update ... ok
[INFO] [stdout] test correlation::tests::test_activity_summary_multiple_files ... ok
[INFO] [stdout] test correlation::tests::test_correlation_engine_default ... ok
[INFO] [stdout] test analysis::tests::test_sdelete_events_spread_over_time ... ok
[INFO] [stdout] test correlation::tests::test_coverage_analysis ... ok
[INFO] [stdout] test analysis::tests::test_timestomp_other_timestamp_after_event ... ok
[INFO] [stdout] test analysis::tests::test_timestomp_basic_info_change_with_close ... ok
[INFO] [stdout] test correlation::tests::test_detect_entry_reuse ... ok
[INFO] [stdout] test correlation::tests::test_empty_inputs ... ok
[INFO] [stdout] test correlation::tests::test_ghost_records_detected ... ok
[INFO] [stdout] test correlation::tests::test_no_reuse_same_sequence ... ok
[INFO] [stdout] test analysis::tests::test_timestomping_other_before_event ... ok
[INFO] [stdout] test correlation::tests::test_no_ghosts_when_fully_covered ... ok
[INFO] [stdout] test correlation::tests::test_file_activity_summary ... ok
[INFO] [stdout] test correlation::tests::test_no_conflict_when_timestamps_consistent ... ok
[INFO] [stdout] test correlation::tests::test_timeline_preserves_lsn ... ok
[INFO] [stdout] test correlation::tests::test_timestamp_conflict_multiple_creates_picks_earliest ... ok
[INFO] [stdout] test correlation::tests::test_unified_timeline_from_usn_only ... ok
[INFO] [stdout] test correlation::tests::test_triforce_report ... ok
[INFO] [stdout] test image::tests::find_ntfs_partition_direct_ntfs_image ... ok
[INFO] [stdout] test correlation::tests::test_unified_timeline_merges_logfile_records ... ok
[INFO] [stdout] test image::tests::detect_format_returns_error_for_nonexistent_file ... ok
[INFO] [stdout] test image::tests::find_ntfs_partition_fails_when_no_ntfs ... ok
[INFO] [stdout] test image::tests::find_ntfs_partition_via_gpt ... ok
[INFO] [stdout] test image::tests::is_ntfs_at_detects_ntfs_boot_sector ... ok
[INFO] [stdout] test image::tests::is_ntfs_at_checks_correct_offset ... ok
[INFO] [stdout] test image::tests::is_ntfs_at_rejects_non_ntfs ... ok
[INFO] [stdout] test correlation::tests::test_deduplication_when_record_in_both_sources ... ok
[INFO] [stdout] test image::tests::find_ntfs_partition_via_mbr ... ok
[INFO] [stdout] test image::tests::parse_gpt_rejects_invalid_signature ... ok
[INFO] [stdout] test image::tests::detect_raw_format_for_non_ewf_files ... ok
[INFO] [stdout] test image::tests::detect_ewf_format_from_magic_bytes ... ok
[INFO] [stdout] test image::tests::parse_mbr_finds_multiple_partitions ... ok
[INFO] [stdout] test image::tests::parse_mbr_finds_ntfs_partition ... ok
[INFO] [stdout] test image::tests::parse_mbr_rejects_invalid_signature ... ok
[INFO] [stdout] test image::tests::parse_mbr_skips_empty_entries ... ok
[INFO] [stdout] test correlation::tests::test_mft_usn_timestamp_conflicts ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_chunked_finds_all_records ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_deduplicates_usn_by_usn_offset ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_empty_partition ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_finds_mft_entries ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_keeps_different_sequence_mft_entries ... ok
[INFO] [stdout] test logfile::tests::test_detect_journal_clearing_empty_restart_areas ... ok
[INFO] [stdout] test image::tests::parse_gpt_finds_basic_data_partition ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_stats_tracking ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_finds_usn_records ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_deduplicates_mft_by_entry_and_sequence ... ok
[INFO] [stdout] test logfile::tests::test_detect_journal_clearing_one_restart_area ... ok
[INFO] [stdout] test logfile::tests::test_detect_journal_clearing_three_restart_areas ... ok
[INFO] [stdout] test logfile::tests::test_normal_logfile_no_clearing ... ok
[INFO] [stdout] test logfile::tests::test_detect_journal_clearing_with_gaps ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_data_smaller_than_page ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_empty ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_gap_detection ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_no_gap_for_zeroed_page ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_only_rcrd_pages ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_restart_area_lsn_tracking ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_short_rstr_page ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_with_restart_areas ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_empty_logfile ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_from_rcrd_page_short_page_for_lsn ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_from_undersized_page ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_non_rcrd_pages ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_logfile_data_not_page_aligned ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_skips_rstr_pages ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_multiple_pages ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_preserves_usn_record_fields ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_page_with_zero_lsn_uses_page_lsn ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_unicode_filename ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_usn_from_page_slack ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_usn_from_redo_data ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_zero_client_data_length ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_usn_from_undo_data ... ok
[INFO] [stdout] test logfile::tests::test_parse_logfile_page_offset_boundary ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_extract_rcrd_page_huge_client_data_length ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_scan_empty_data ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_logfile_record_source_equality ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_scan_for_multiple_usn_records ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_scan_for_usn_records_in_raw_data ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_scan_short_data ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_try_parse_usn_at_record_len_exceeds_slice ... ok
[INFO] [stdout] test image::unallocated::tests::test_scan_with_partition_offset ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_try_parse_usn_at_slice_shorter_than_8 ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_try_parse_usn_at_too_short ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_all_zeros ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_directory_entry ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_entry_embedded_in_garbage ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_ignores_non_aligned_file_signature ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_multiple_entries_with_gaps ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_prefers_win32_over_dos_name ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_random_garbage ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_rejects_bad_first_attr_offset ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_preserves_all_fields ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_rejects_no_filename_attr ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_deleted_entry ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_empty_data ... ok
[INFO] [stdout] test mft::carver::tests::test_stats_default ... ok
[INFO] [stdout] test mft::tests::test_detect_timestomping_no_timestamps ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_rejects_zero_sequence ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_rejects_truncated_data ... ok
[INFO] [stdout] test mft::carver::tests::test_carve_single_entry ... ok
[INFO] [stdout] test mft::carver::tests::test_carving_stats ... ok
[INFO] [stdout] test mft::tests::test_detect_timestomping_si_modified_before_fn_created ... ok
[INFO] [stdout] test mft::tests::test_detect_timestomping_si_modified_none ... ok
[INFO] [stdout] test mft::tests::test_entry_key_equality ... ok
[INFO] [stdout] test mft::tests::test_mft_data_empty ... ok
[INFO] [stdout] test mft::tests::test_mft_data_get_by_entry_not_found ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_try_parse_usn_at_invalid_data ... ok
[INFO] [stdout] test mft::tests::test_mft_data_get_by_key_not_found ... ok
[INFO] [stdout] test logfile::usn_extractor::tests::test_try_parse_usn_at_non_v2_version ... ok
[INFO] [stdout] test mft::tests::test_mft_data_is_directory_and_in_use ... ok
[INFO] [stdout] test mft::tests::test_mft_data_full_path_field ... ok
[INFO] [stdout] test mft::tests::test_mft_data_get_by_entry_found ... ok
[INFO] [stdout] test mft::tests::test_mft_data_get_by_key_found ... ok
[INFO] [stdout] test mft::tests::test_mft_data_multiple_entries ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_corrupt_entries_skipped ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_entry_with_ads ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_invalid_data ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_entry_without_filename_skipped ... ok
[INFO] [stdout] test mft::tests::test_mft_entry_ads_detection_field ... ok
[INFO] [stdout] test mft::tests::test_mft_data_seed_rewind_multiple ... ok
[INFO] [stdout] test mft::tests::test_mft_entry_file_size ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_valid_entry ... ok
[INFO] [stdout] test mft::tests::test_mft_entry_has_ads_field ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_multiple_entries ... ok
[INFO] [stdout] test mft::tests::test_mft_data_parse_short_data ... ok
[INFO] [stdout] test mft::tests::test_seed_rewind ... ok
[INFO] [stdout] test mft::tests::test_mft_parse_with_corrupt_entry ... ok
[INFO] [stdout] test mftmirr::tests::test_empty_data ... ok
[INFO] [stdout] test mftmirr::tests::test_exact_boundary_data_length_multiple_of_1024 ... ok
[INFO] [stdout] test mftmirr::tests::test_different_mirror ... ok
[INFO] [stdout] test mftmirr::tests::test_diff_warn_with_logger ... ok
[INFO] [stdout] test mftmirr::tests::test_exact_four_entries_identical ... ok
[INFO] [stdout] test mftmirr::tests::test_fewer_than_four_entries_in_mft ... ok
[INFO] [stdout] test mftmirr::tests::test_exactly_one_byte_short_of_four_entries ... ok
[INFO] [stdout] test mftmirr::tests::test_each_entry_can_differ_independently ... ok
[INFO] [stdout] test mftmirr::tests::test_fewer_than_four_entries_in_mirror ... ok
[INFO] [stdout] test mftmirr::tests::test_short_mft_data ... ok
[INFO] [stdout] test mftmirr::tests::test_short_mirror_data ... ok
[INFO] [stdout] test mftmirr::tests::test_multiple_differences ... ok
[INFO] [stdout] test mftmirr::tests::test_mirror_with_more_than_four_entries ... ok
[INFO] [stdout] test monitor::tests::test_monitor_config_accessor ... ok
[INFO] [stdout] test mftmirr::tests::test_insufficient_data_warn_with_logger ... ok
[INFO] [stdout] test monitor::tests::test_monitor_event_callback ... ok
[INFO] [stdout] test monitor::tests::test_monitor_config_custom ... ok
[INFO] [stdout] test monitor::tests::test_monitor_config_defaults ... ok
[INFO] [stdout] test monitor::tests::test_monitor_detects_journal_wrap ... ok
[INFO] [stdout] test monitor::tests::test_monitor_handles_all_garbage_data ... ok
[INFO] [stdout] test monitor::tests::test_monitor_handles_read_error ... ok
[INFO] [stdout] test monitor::tests::test_monitor_last_usn_not_updated_on_wrap ... ok
[INFO] [stdout] test monitor::tests::test_monitor_processes_new_data ... ok
[INFO] [stdout] test monitor::tests::test_monitor_handles_corrupt_data ... ok
[INFO] [stdout] test monitor::tests::test_monitor_handles_empty_read ... ok
[INFO] [stdout] test monitor::tests::test_monitor_tracks_last_usn ... ok
[INFO] [stdout] test output::body_output::tests::test_body_empty_input ... ok
[INFO] [stdout] test output::body_output::tests::test_body_single_record ... ok
[INFO] [stdout] test output::body_output::tests::test_body_multiple_records ... ok
[INFO] [stdout] test output::csv_output::tests::test_csv_export_record ... ok
[INFO] [stdout] test output::json_output::tests::test_jsonl_export ... ok
[INFO] [stdout] test mft::tests::test_detect_timestomping_none_when_consistent ... ok
[INFO] [stdout] test mft::tests::test_detect_timestomping_si_before_fn ... ok
[INFO] [stdout] test mftmirr::tests::test_identical_mirror ... ok
[INFO] [stdout] test output::csv_output::tests::test_csv_export_header ... ok
[INFO] [stdout] test output::body_output::tests::test_body_verifies_all_timestamp_fields ... ok
[INFO] [stdout] test output::body_output::tests::test_body_write_error_propagated ... ok
[INFO] [stdout] test output::body_output::tests::test_body_write_error_immediate_fail ... ok
[INFO] [stdout] test output::report::tests::test_build_report_data_with_journal_clearing ... ok
[INFO] [stdout] test output::report::tests::test_build_report_data_basic ... ok
[INFO] [stdout] test output::report::tests::test_build_report_data_with_ghost_records ... ok
[INFO] [stdout] test output::report::tests::test_extract_extension ... ok
[INFO] [stdout] test output::report::tests::test_extract_extension_edge_cases ... ok
[INFO] [stdout] test output::report::tests::test_reason_flags_to_strings_empty ... ok
[INFO] [stdout] test output::report::tests::test_reason_flags_to_strings_multiple ... ok
[INFO] [stdout] test output::report::tests::test_build_report_data_with_carving_stats ... ok
[INFO] [stdout] test output::report::tests::test_reason_flags_to_strings_single ... ok
[INFO] [stdout] test output::report::tests::test_html_contains_story_tab ... ok
[INFO] [stdout] test output::report::tests::test_html_contains_triage_questions ... ok
[INFO] [stdout] test output::report::tests::test_report_triage_recovered_evidence_with_carved_records ... ok
[INFO] [stdout] test output::tln_output::tests::test_tln_empty_input ... ok
[INFO] [stdout] test output::tln_output::tests::test_tln_multiple_records ... ok
[INFO] [stdout] test output::tln_output::tests::test_tln_single_record ... ok
[INFO] [stdout] test output::report::tests::test_export_report_error_on_write_failure ... ok
[INFO] [stdout] test output::tln_output::tests::test_tln_verifies_reason_in_description ... ok
[INFO] [stdout] test output::report::tests::test_export_report_produces_html ... ok
[INFO] [stdout] test output::tln_output::tests::test_tln_write_error_immediate_fail ... ok
[INFO] [stdout] test output::tln_output::tests::test_tln_write_error_propagated ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_dot_only_filename ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_all_fields_written ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_empty_input ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_fail_at_file_attributes_line57 ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_double_extension ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_fail_at_major_version_line65 ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_dot_first_filename_bashrc ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_fail_at_parent_entry_number_line39 ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_fail_at_parent_path_line49 ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_fail_at_parent_sequence_number_line44 ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_fail_at_sequence_number_line34 ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_file_without_extension ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_filename_ending_with_dot ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_no_extension_filename ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_multiple_records ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_nonzero_source_and_security ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_write_error_propagated ... ok
[INFO] [stdout] test refs::tests::test_refs_empty_analyzer ... ok
[INFO] [stdout] test refs::tests::test_refs_file_id_display ... ok
[INFO] [stdout] test refs::tests::test_refs_file_id_equality ... ok
[INFO] [stdout] test refs::tests::test_refs_file_id_from_u128 ... ok
[INFO] [stdout] test refs::tests::test_refs_mixed_v2_and_v3_not_refs ... ok
[INFO] [stdout] test refs::tests::test_refs_path_cycle_detection ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_single_record ... ok
[INFO] [stdout] test refs::tests::test_refs_path_reconstruction_without_mft ... ok
[INFO] [stdout] test output::xml_output::tests::test_xml_special_characters_in_filename ... ok
[INFO] [stdout] test refs::tests::test_refs_reconstruct_paths_parent_not_in_lookup ... ok
[INFO] [stdout] test refs::tests::test_refs_reconstruct_paths_root_id_skipped ... ok
[INFO] [stdout] test refs::tests::test_refs_volume_detection ... ok
[INFO] [stdout] test refs::tests::test_refs_record_grouping ... ok
[INFO] [stdout] test rewind::tests::test_entry_key_not_root ... ok
[INFO] [stdout] test rewind::tests::test_carved_and_allocated_records_merge_in_pipeline ... ok
[INFO] [stdout] test rewind::tests::test_carved_records_resolve_paths_via_carved_mft ... ok
[INFO] [stdout] test rewind::tests::test_entry_key_root ... ok
[INFO] [stdout] test rewind::tests::test_from_mft_seeding ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_from_standalone ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_from_unknown_parent_in_forward ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_from_hits_depth_limit_in_rewind ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_circular_reference ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_hits_depth_limit_linear_chain ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_root ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_simple ... ok
[INFO] [stdout] test rewind::tests::test_resolve_path_unknown_entry ... ok
[INFO] [stdout] test rewind::tests::test_rewind_data_extend_and_truncation ... ok
[INFO] [stdout] test rewind::tests::test_rewind_empty_records ... ok
[INFO] [stdout] test rewind::tests::test_rewind_deep_path_reconstruction ... ok
[INFO] [stdout] test rewind::tests::test_rewind_engine_default ... ok
[INFO] [stdout] test rewind::tests::test_rewind_engine_insert ... ok
[INFO] [stdout] test rewind::tests::test_rewind_forward_pass_unseen_entry ... ok
[INFO] [stdout] test rewind::tests::test_rewind_handles_rename ... ok
[INFO] [stdout] test rewind::tests::test_rewind_multiple_reuse ... ok
[INFO] [stdout] test rewind::tests::test_rewind_resolves_unknown_parent_via_journal ... ok
[INFO] [stdout] test rewind::tests::test_seed_from_carved_adds_entries ... ok
[INFO] [stdout] test rewind::tests::test_rewind_simple_create ... ok
[INFO] [stdout] test output::report::tests::test_report_source_field_reflects_record_source ... ok
[INFO] [stdout] test rewind::tests::test_seed_from_carved_adds_historical_sequence ... ok
[INFO] [stdout] test rewind::tests::test_seed_from_carved_does_not_overwrite_allocated ... ok
[INFO] [stdout] test rules::tests::test_glob_matches_trailing_stars ... ok
[INFO] [stdout] test rules::tests::test_rule_combined_conditions ... ok
[INFO] [stdout] test rules::tests::test_rule_matches_extension ... ok
[INFO] [stdout] test rules::tests::test_rule_matches_filename_glob ... ok
[INFO] [stdout] test rules::tests::test_rule_matches_filename_regex ... ok
[INFO] [stdout] test rules::tests::test_rule_matches_reason_all ... ok
[INFO] [stdout] test rules::tests::test_rule_matches_reason_any ... ok
[INFO] [stdout] test rules::tests::test_rule_matches_reason_flags ... ok
[INFO] [stdout] test output::sqlite_output::tests::test_sqlite_export ... ok
[INFO] [stdout] test rules::tests::test_rule_no_match_returns_empty ... ok
[INFO] [stdout] test rules::tests::test_rule_regex_compile_failure ... ok
[INFO] [stdout] test rules::tests::test_rule_negation ... ok
[INFO] [stdout] test rules::tests::test_ruleset_evaluates_all_rules ... ok
[INFO] [stdout] test rules::tests::test_ruleset_default ... ok
[INFO] [stdout] test rules::tests::test_ruleset_returns_rule_name_and_severity ... ok
[INFO] [stdout] test triage::tests::test_builtin_has_execution_evidence_question ... ok
[INFO] [stdout] test triage::tests::test_builtin_questions_returns_12 ... ok
[INFO] [stdout] test triage::tests::test_data_staging_detects_archive_in_user_dir ... ok
[INFO] [stdout] test output::sqlite_output::tests::test_sqlite_export_with_mft_entries ... ok
[INFO] [stdout] test triage::tests::test_empty_source_filter_matches_all ... ok
[INFO] [stdout] test output::sqlite_output::tests::test_sqlite_export_empty_records ... ok
[INFO] [stdout] test triage::tests::test_file_disguise_detects_ads_operations ... ok
[INFO] [stdout] test triage::tests::test_filename_filter_matches ... ok
[INFO] [stdout] test triage::tests::test_evidence_destruction_detects_evtx_deletion ... ok
[INFO] [stdout] test triage::tests::test_initial_access_detects_exe_in_downloads ... ok
[INFO] [stdout] test triage::tests::test_lateral_movement_detects_psexec ... ok
[INFO] [stdout] test triage::tests::test_malware_query_matches_exe_in_system32 ... ok
[INFO] [stdout] test triage::tests::test_matches_query_empty_query_matches_nothing ... ok
[INFO] [stdout] test triage::tests::test_malware_deployed_detects_exe_in_programdata ... ok
[INFO] [stdout] test triage::tests::test_matches_query_reasons_only ... ok
[INFO] [stdout] test triage::tests::test_prefetch_creation_proves_execution ... ok
[INFO] [stdout] test triage::tests::test_query_excludes_by_pattern ... ok
[INFO] [stdout] test triage::tests::test_persistence_detects_exe_in_startup ... ok
[INFO] [stdout] test triage::tests::test_query_no_hits_returns_empty ... ok
[INFO] [stdout] test triage::tests::test_record_source_as_str ... ok
[INFO] [stdout] test triage::tests::test_recovered_evidence_query_uses_source_filter ... ok
[INFO] [stdout] test triage::tests::test_run_triage_with_empty_questions ... ok
[INFO] [stdout] test triage::tests::test_run_triage_with_empty_records ... ok
[INFO] [stdout] test triage::tests::test_sensitive_data_detects_xlsx_access ... ok
[INFO] [stdout] test triage::tests::test_source_filter_case_sensitivity ... ok
[INFO] [stdout] test triage::tests::test_source_filter_matches_carved_and_ghost ... ok
[INFO] [stdout] test triage::tests::test_source_filter_matches_carved_only ... ok
[INFO] [stdout] test triage::tests::test_source_filter_ghost_only ... ok
[INFO] [stdout] test output::sqlite_output::tests::test_sqlite_extension_extraction ... ok
[INFO] [stdout] test usn::attributes::tests::test_directory_attribute ... ok
[INFO] [stdout] test usn::attributes::tests::test_combined_attributes ... ok
[INFO] [stdout] test usn::attributes::tests::test_empty_attributes ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_all_zeros ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_embedded_v2_record ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_empty_data ... ok
[INFO] [stdout] test triage::tests::test_timestomping_detects_basic_info_change_on_exe ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_from_random_data ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_handles_truncated_record ... ok
[INFO] [stdout] test triage::tests::test_multiple_questions_independent_results ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_multiple_records_with_gaps ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_preserves_record_fields ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_record_filename_exceeds_record ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_rejects_invalid_timestamps ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_record_with_wrong_filename_offset ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_skips_version_0_and_1 ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v2_record_with_mismatched_internal_length ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v3_invalid_timestamp ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v3_record ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v3_successful_with_logging ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v3_wrong_filename_offset ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v3_zero_filename ... ok
[INFO] [stdout] test usn::carver::tests::test_carving_stats_default ... ok
[INFO] [stdout] test usn::carver::tests::test_is_valid_timestamp ... ok
[INFO] [stdout] test usn::carver::tests::test_try_carve_v2_parse_error ... ok
[INFO] [stdout] test usn::carver::tests::test_try_carve_v2_record_len_below_min ... ok
[INFO] [stdout] test usn::carver::tests::test_try_carve_v3_filename_exceeds_record ... ok
[INFO] [stdout] test usn::carver::tests::test_try_carve_v3_odd_filename_length ... ok
[INFO] [stdout] test usn::carver::tests::test_try_carve_v3_parse_error ... ok
[INFO] [stdout] test usn::carver::tests::test_try_carve_v3_record_len_below_min ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_v2_successful_with_logging ... ok
[INFO] [stdout] test usn::parallel::tests::test_find_first_record_boundary_finds_valid_record ... ok
[INFO] [stdout] test usn::parallel::tests::test_find_first_record_boundary_returns_none_for_all_zeros ... ok
[INFO] [stdout] test usn::parallel::tests::test_find_first_record_boundary_returns_none_for_garbage ... ok
[INFO] [stdout] test usn::parallel::tests::test_find_first_record_boundary_returns_none_for_short_data ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_invalid_version ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_insufficient_data ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_nonzero_minor_version ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_too_large_length ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_too_small_length ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_v2 ... ok
[INFO] [stdout] test usn::parallel::tests::test_is_valid_record_start_v3 ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_empty_data ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_handles_zero_filled_regions ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_includes_close_only_records ... ok
[INFO] [stdout] test triage::tests::test_credential_access_matches_sam_by_path ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_record_with_odd_filename_length ... ok
[INFO] [stdout] test usn::carver::tests::test_carve_record_with_zero_filename_length ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_preserves_sort_order ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_single_record ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_all_zeros ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_basic ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_done_flag_returns_none ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_empty_data ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_chunk_with_no_valid_records_after_boundary ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_eof_mid_fill_no_remaining_data ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_eof_mid_fill_with_remaining_data ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_fill_buffer_error_propagation ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_header_refill_insufficient ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_includes_close_only ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_invalid_record_length ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_invalid_then_valid ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_large_zero_gap ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_mixed_v2_v3 ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_multiple ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_record_at_exact_buffer_boundary ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_record_larger_than_initial_buffer_fill ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_record_refill_insufficient ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_fill_buffer_with_unconsumed_data ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_record_straddles_buffer ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_record_too_large ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_record_straddles_buffer_refill_fails ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_skip_zeros_all_zeros_eof ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_skip_zeros_refill_then_find_data ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_skips_zeros ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_unknown_version ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_v2_parse_error_skips ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_v3_close_only_included ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_skip_zeros_error_propagation ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_v3_parse_error_skips ... ok
[INFO] [stdout] test usn::reason::tests::test_multiple_reasons_display ... ok
[INFO] [stdout] test usn::reason::tests::test_rename_flags ... ok
[INFO] [stdout] test usn::reason::tests::test_single_reason_display ... ok
[INFO] [stdout] test usn::reason::tests::test_unknown_bits_display ... ok
[INFO] [stdout] test usn::record::tests::test_file_reference_extraction ... ok
[INFO] [stdout] test usn::record::tests::test_filetime_to_datetime_negative ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_v3_record ... ok
[INFO] [stdout] test usn::record::tests::test_filetime_to_datetime_valid ... ok
[INFO] [stdout] test usn::record::tests::test_filetime_to_datetime_zero ... ok
[INFO] [stdout] test usn::record::tests::test_parent_reference_extraction ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_8byte_alignment ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_all_zeros ... ok
[INFO] [stdout] test usn::record::tests::test_filetime_to_datetime_pre_unix_epoch ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_boundary_after_zero_skip ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_empty_data ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_includes_close_only ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_invalid_record_length_scan_forward ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_mixed_v2_v3 ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_multiple_records ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_record_extends_past_end ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_skips_zero_regions ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_unknown_version_skipped ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_partial_data_after_zeros ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v2_parse_error_path ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v2_too_small_for_v2_but_valid_len ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v3_close_only_included ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v3_parse_error_path ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v3_parse_error_skipped ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v3_records ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v3_too_small_for_v3_but_valid_len ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_v4_record_skipped ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_with_logging_enabled ... ok
[INFO] [stdout] test usn::record::tests::test_parse_journal_zeros_then_exactly_8_non_zero_bytes ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_filename_out_of_bounds ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_invalid_record_length_too_large ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_invalid_record_length_too_small ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_negative_timestamp ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_pre_epoch_timestamp ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_record ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_record_len_exceeds_data_len ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_record_length_exceeds_data ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_unicode_filename ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_zero_filename ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_zero_timestamp ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_invalid_record_length_too_large ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_invalid_record_length_too_small ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_record_basic ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_record_len_out_of_range ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_record_unicode ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_too_short ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v3_zero_filename ... ok
[INFO] [stdout] test usn::record::tests::test_read_i64_le ... ok
[INFO] [stdout] test usn::record::tests::test_read_u128_le ... ok
[INFO] [stdout] test usn::record::tests::test_read_u16_le ... ok
[INFO] [stdout] test usn::record::tests::test_read_u32_le ... ok
[INFO] [stdout] test usn::record::tests::test_read_u64_le ... ok
[INFO] [stdout] test usn::record::tests::test_reason_flags_preserved ... ok
[INFO] [stdout] test usn::record::tests::test_too_short_data_fails ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_produces_same_results_as_sequential ... ok
[INFO] [stdout] test usn::record::tests::test_parse_v2_filename_length_one_byte ... ok
[INFO] [stdout] test usn::reader::tests::test_streaming_reader_data_larger_than_buffer ... ok
[INFO] [stdout] test rules::tests::test_builtin_secure_delete ... ok
[INFO] [stdout] test rules::tests::test_builtin_suspicious_executables ... ok
[INFO] [stdout] test rules::tests::test_builtin_ransomware_extensions ... ok
[INFO] [stdout] test usn::parallel::tests::test_parallel_parse_large_dataset_spans_chunks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 463 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/usnjrnl_forensic-5ebfea45b0c819f5)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test tests::test_cli_accepts_image_flag ... ok
[INFO] [stdout] test tests::test_cli_accepts_tln_flag ... ok
[INFO] [stdout] test tests::test_cli_accepts_carve_unallocated_with_image ... ok
[INFO] [stdout] test tests::test_cli_accepts_body_flag ... ok
[INFO] [stdout] test tests::test_cli_accepts_xml_flag ... ok
[INFO] [stdout] test tests::test_cli_all_output_formats_simultaneously ... ok
[INFO] [stdout] test tests::test_cli_carve_unallocated_defaults_false ... ok
[INFO] [stdout] test tests::test_cli_accepts_report_flag ... ok
[INFO] [stdout] test tests::test_cli_image_conflicts_with_mft ... ok
[INFO] [stdout] test tests::test_cli_image_short_flag ... ok
[INFO] [stdout] test tests::test_cli_no_output_formats_is_valid ... ok
[INFO] [stdout] test tests::test_cli_report_alongside_other_outputs ... ok
[INFO] [stdout] test tests::test_cli_requires_journal_or_image ... ok
[INFO] [stdout] test tests::test_cli_image_with_output_dir ... ok
[INFO] [stdout] test tests::test_cli_output_dir_parses_with_journal ... ok
[INFO] [stdout] test tests::test_cli_report_with_image_and_carve ... ok
[INFO] [stdout] test tests::test_cli_image_conflicts_with_journal ... ok
[INFO] [stderr]      Running tests/image_integration.rs (/opt/rustwide/target/debug/deps/image_integration-ecaeb96e7b714bc0)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[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] [stderr]      Running tests/report_integration.rs (/opt/rustwide/target/debug/deps/report_integration-8b72381b893655f7)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test e2e_empty_report ... ok
[INFO] [stdout] test e2e_triage_all_12_questions_evaluated ... ok
[INFO] [stdout] test e2e_report_with_mixed_sources ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests usnjrnl_forensic
[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" "e04535566c6ab657cfdb0874991da55b93f0ae72340de024ac1a983273730f64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e04535566c6ab657cfdb0874991da55b93f0ae72340de024ac1a983273730f64", kill_on_drop: false }`
[INFO] [stdout] e04535566c6ab657cfdb0874991da55b93f0ae72340de024ac1a983273730f64
