[INFO] cloning repository https://github.com/marrusl/osfragment-assemble
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marrusl/osfragment-assemble" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarrusl%2Fosfragment-assemble", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarrusl%2Fosfragment-assemble'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cf4d03be01ca0ebc2e3c3c0c92bee45fff80cc52
[INFO] testing marrusl/osfragment-assemble against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarrusl%2Fosfragment-assemble" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/marrusl/osfragment-assemble
[INFO] finished tweaking git repo https://github.com/marrusl/osfragment-assemble
[INFO] tweaked toml for git repo https://github.com/marrusl/osfragment-assemble written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/marrusl/osfragment-assemble on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/marrusl/osfragment-assemble already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a
[INFO] running `Command { std: "docker" "start" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling osfragment-assemble v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 37.94s
[INFO] running `Command { std: "docker" "inspect" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling osfragment-assemble v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 41.04s
[INFO] running `Command { std: "docker" "inspect" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.14s
[INFO] [stdout] 
[INFO] [stdout] running 233 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/osfragment_assemble-f3cdcead4bb1e206)
[INFO] [stdout] test fragment::tests::a_validated_name_is_a_single_path_component ... ok
[INFO] [stdout] test fragment::tests::fragment_name_grammar ... ok
[INFO] [stdout] test fragment::tests::parse_full_fragment ... ok
[INFO] [stdout] test fragment::tests::parse_minimal_fragment ... ok
[INFO] [stdout] test fragment::tests::parse_rejects_a_path_unsafe_name ... ok
[INFO] [stdout] test fragment::tests::postgresql_example_declares_required_packages ... ok
[INFO] [stdout] test fragment::tests::parse_all_example_fragments ... ok
[INFO] [stdout] test generator::tests::a_pure_mount_fragment_gets_no_named_stage ... ok
[INFO] [stdout] test generator::tests::a_composition_without_build_mounts_emits_the_run_line_unchanged ... ok
[INFO] [stdout] test generator::tests::a_composition_of_only_pure_mount_fragments_emits_no_stage_section ... ok
[INFO] [stdout] test generator::tests::a_mixed_mount_and_tree_fragment_keeps_its_stage_while_a_pure_mount_sibling_is_dropped ... ok
[INFO] [stdout] test fragment::tests::stale_phase_key_is_ignored ... ok
[INFO] [stdout] test generator::tests::a_self_contained_mixed_fragment_reads_hook_creds_from_the_context ... ok
[INFO] [stdout] test generator::tests::bootc_steps_emitted_in_every_mode ... ok
[INFO] [stdout] test generator::tests::base_image_with_port_generates_correct_from ... ok
[INFO] [stdout] test generator::tests::both_credential_mounts_ride_every_hook_run_in_manifest_order ... ok
[INFO] [stdout] test generator::tests::build_mounts_are_read_only_and_relabelled ... ok
[INFO] [stdout] test generator::tests::generated_output_batches_packages ... ok
[INFO] [stdout] test generator::tests::generated_output_contains_digest_pinned_from ... ok
[INFO] [stdout] test generator::tests::cross_fragment_required_dedup_silent ... ok
[INFO] [stdout] test generator::tests::header_names_the_manifest_it_was_generated_from ... ok
[INFO] [stdout] test generator::tests::generated_output_has_section_ordering ... ok
[INFO] [stdout] test generator::tests::bind_mount_omits_propagation_in_every_mode ... ok
[INFO] [stdout] test generator::tests::manifest_order_wins_over_any_phase_notion ... ok
[INFO] [stdout] test generator::tests::hooks_never_in_copy_instruction ... ok
[INFO] [stdout] test generator::tests::bind_mount_uses_same_resolution_as_tree_copy ... ok
[INFO] [stdout] test generator::tests::mirror_generates_sed_rewrite ... ok
[INFO] [stdout] test generator::tests::manifest_selected_package_no_fragment_declaration ... ok
[INFO] [stdout] test generator::tests::config_fragment_generates_tree_copy ... ok
[INFO] [stdout] test generator::tests::ocp_hooks_use_bind_mount ... ok
[INFO] [stdout] test generator::tests::credential_mounts_ride_the_hook_run_with_no_package_step ... ok
[INFO] [stdout] test generator::tests::mixed_repos_and_config_full_content_ordering ... ok
[INFO] [stdout] test fragment::tests::reject_unknown_packages_field ... ok
[INFO] [stdout] test generator::tests::ocp_unpinned_uses_inline_refs ... ok
[INFO] [stdout] test generator::tests::ocp_uses_from_configs_as_final ... ok
[INFO] [stdout] test fragment::tests::reject_typo_in_packages_field ... ok
[INFO] [stdout] test generator::tests::ocp_output_has_no_comment_lines_at_all ... ok
[INFO] [stdout] test generator::tests::ocp_pinned_uses_named_stages ... ok
[INFO] [stdout] test generator::tests::a_mixed_mount_and_hook_fragment_carries_creds_on_the_hook_run ... ok
[INFO] [stdout] test generator::tests::base_image_pinning_is_idempotent_on_an_already_pinned_base ... ok
[INFO] [stdout] test generator::tests::build_mounts_attach_to_the_batched_package_run ... ok
[INFO] [stdout] test generator::tests::no_packages_phase_when_no_packages ... ok
[INFO] [stdout] test generator::tests::ocp_omits_header_comments ... ok
[INFO] [stdout] test generator::tests::colliding_providers_both_emit_and_collision_is_documented ... ok
[INFO] [stdout] test generator::tests::one_flag_per_derived_mount_point_in_manifest_order ... ok
[INFO] [stdout] test generator::tests::overlapping_tree_paths_produce_collision_comment ... ok
[INFO] [stdout] test generator::tests::package_step_cleans_up_dnf_plugin_residue ... ok
[INFO] [stdout] test generator::tests::pinned_keeps_named_stages ... ok
[INFO] [stdout] test generator::tests::pinned_invocation_is_fixed_across_fragments ... ok
[INFO] [stdout] test generator::tests::required_packages_appear_without_manifest_entry ... ok
[INFO] [stdout] test generator::tests::self_contained_emits_one_fixed_invocation_per_hook_fragment ... ok
[INFO] [stdout] test generator::tests::required_packages_before_manifest_selected_with_dedup ... ok
[INFO] [stdout] test generator::tests::self_contained_mounts_read_from_the_context_and_name_no_registry ... ok
[INFO] [stdout] test generator::tests::self_contained_hooks_only_fragment_has_no_tree_copy ... ok
[INFO] [stdout] test generator::tests::self_contained_output_matches_golden_containerfile ... ok
[INFO] [stdout] test generator::tests::self_contained_uses_context_relative_copy_and_mount ... ok
[INFO] [stdout] test generator::tests::self_contained_with_pin_digests_pins_only_the_base ... ok
[INFO] [stdout] test generator::tests::single_fragment_carrying_repos_config_and_hooks_is_placed_by_section ... ok
[INFO] [stdout] test generator::tests::split_image_ref_quay_with_tag ... ok
[INFO] [stdout] test generator::tests::split_image_ref_simple_no_tag ... ok
[INFO] [stdout] test generator::tests::split_image_ref_simple_with_tag ... ok
[INFO] [stdout] test generator::tests::split_image_ref_standard_registry ... ok
[INFO] [stdout] test generator::tests::split_image_ref_with_digest ... ok
[INFO] [stdout] test generator::tests::pinning_replaces_any_existing_tag_or_digest ... ok
[INFO] [stdout] test generator::tests::split_image_ref_with_port ... ok
[INFO] [stdout] test generator::tests::standalone_and_ocp_emit_same_hook_instruction ... ok
[INFO] [stdout] test generator::tests::support_files_are_never_invoked ... ok
[INFO] [stdout] test generator::tests::unpinned_hooks_use_bind_mount ... ok
[INFO] [stdout] test generator::tests::unpinned_invocation_is_fixed_across_fragments ... ok
[INFO] [stdout] test generator::tests::unpinned_uses_base_tag_not_digest ... ok
[INFO] [stdout] test generator::tests::unpinned_uses_inline_copy_refs ... ok
[INFO] [stdout] test inspect::tests::a_fragment_without_mount_has_no_section ... ok
[INFO] [stdout] test generator::tests::split_image_ref_no_tag ... ok
[INFO] [stdout] test generator::tests::split_image_ref_port_no_tag ... ok
[INFO] [stdout] test inspect::tests::local_entrypoint_with_support_files_is_accepted ... ok
[INFO] [stdout] test inspect::tests::local_nested_hook_file_still_requires_an_entrypoint ... ok
[INFO] [stdout] test inspect::tests::local_inspect_notices_an_empty_mount_directory ... ok
[INFO] [stdout] test generator::tests::postgresql_forces_its_required_packages ... ok
[INFO] [stdout] test inspect::tests::local_hooks_without_entrypoint_are_rejected ... ok
[INFO] [stdout] test inspect::tests::local_inspect_derives_the_targets_generation_will_use ... ok
[INFO] [stdout] test inspect::tests::registry_inspect_notices_an_empty_mount_directory ... ok
[INFO] [stdout] test inspect::tests::registry_inspect_section_is_quiet_when_evidence_carries_nothing ... ok
[INFO] [stdout] test inspect::tests::registry_inspect_surfaces_drift_from_loaded_evidence ... ok
[INFO] [stdout] test list::tests::a_fragment_without_mounts_gets_no_line ... ok
[INFO] [stdout] test list::tests::a_mountless_fragment_contributes_only_its_row_in_both_table_widths ... ok
[INFO] [stdout] test list::tests::the_digest_column_appears_only_in_the_wide_row ... ok
[INFO] [stdout] test list::tests::the_mount_line_follows_the_row_in_both_table_widths ... ok
[INFO] [stdout] test list::tests::the_mount_line_lists_every_target_for_one_fragment ... ok
[INFO] [stdout] test loader::layer_tests::a_mounts_annotation_that_is_not_json_reads_as_absent ... ok
[INFO] [stdout] test loader::layer_tests::an_absent_mounts_annotation_is_absence_not_an_empty_list ... ok
[INFO] [stdout] test loader::layer_tests::a_malformed_mounts_annotation_invalidates_the_whole_fast_path ... ok
[INFO] [stdout] test loader::layer_tests::annotations_populate_fragment_from_project_namespace ... ok
[INFO] [stdout] test inspect::tests::local_non_executable_entrypoint_is_rejected ... ok
[INFO] [stdout] test loader::layer_tests::an_empty_mounts_annotation_is_a_real_answer_not_absence ... ok
[INFO] [stdout] test loader::layer_tests::an_empty_mount_directory_is_detected_for_the_notice ... ok
[INFO] [stdout] test loader::layer_tests::drift_check_compares_annotated_targets_against_derived_ones ... ok
[INFO] [stdout] test loader::layer_tests::drift_is_silent_when_the_annotation_matches_the_derived_targets ... ok
[INFO] [stdout] test loader::layer_tests::drift_is_silent_when_the_fragment_has_no_mount_layer_at_all ... ok
[INFO] [stdout] test loader::layer_tests::a_file_directly_under_mount_fails_the_load ... ok
[INFO] [stdout] test loader::layer_tests::hooks_collected_regardless_of_extension ... ok
[INFO] [stdout] test loader::layer_tests::entrypoint_errors_are_verbatim_single_lines ... ok
[INFO] [stdout] test loader::layer_tests::links_under_mount_are_rejected_by_the_shared_entry_validation ... ok
[INFO] [stdout] test loader::layer_tests::empty_tree_directory_and_directory_mode_survive_extraction ... ok
[INFO] [stdout] test loader::layer_tests::derived_fragment_publishes_its_own_identity_not_the_base ... ok
[INFO] [stdout] test list::tests::the_closing_note_fires_once_for_a_listing_that_mounts_anything ... ok
[INFO] [stdout] test loader::layer_tests::extract_repo_contents_from_valid_layer ... ok
[INFO] [stdout] test loader::layer_tests::mounts_annotation_parses_into_sorted_mount_points ... ok
[INFO] [stdout] test loader::layer_tests::mount_paths_derive_mount_points_at_load ... ok
[INFO] [stdout] test loader::layer_tests::path_unsafe_annotation_name_does_not_satisfy_fast_path ... ok
[INFO] [stdout] test loader::layer_tests::nested_entrypoint_does_not_satisfy_the_rule ... ok
[INFO] [stdout] test loader::layer_tests::non_executable_entrypoint_is_rejected ... ok
[INFO] [stdout] test loader::layer_tests::entrypoint_as_a_directory_is_rejected ... ok
[INFO] [stdout] test loader::layer_tests::hooks_without_entrypoint_are_rejected ... ok
[INFO] [stdout] test loader::layer_tests::reject_duplicate_toml_entries ... ok
[INFO] [stdout] test loader::layer_tests::old_style_chained_hooks_are_rejected ... ok
[INFO] [stdout] test loader::layer_tests::hook_detection_is_prefix_independent ... ok
[INFO] [stdout] test loader::layer_tests::non_utf8_entry_names_are_rejected_rather_than_materialized_lossily ... ok
[INFO] [stdout] test loader::layer_tests::payload_extraction_rejects_traversal_like_other_extractors ... ok
[INFO] [stdout] test loader::layer_tests::stale_phase_annotation_is_ignored_by_fast_path ... ok
[INFO] [stdout] test loader::layer_tests::the_fast_path_answers_when_metadata_and_mounts_are_both_annotated ... ok
[INFO] [stdout] test loader::layer_tests::the_fast_path_declines_when_the_metadata_annotations_are_absent ... ok
[INFO] [stdout] test loader::layer_tests::reject_traversal_path ... ok
[INFO] [stdout] test loader::layer_tests::the_fast_path_declines_when_the_mounts_annotation_is_absent ... ok
[INFO] [stdout] test loader::layer_tests::reject_missing_toml ... ok
[INFO] [stdout] test loader::layer_tests::payload_extracted_to_disk_matches_source_bytes ... ok
[INFO] [stdout] test loader::layer_tests::retired_bootc_annotations_do_not_satisfy_fast_path ... ok
[INFO] [stdout] test loader::tests::load_all_fragments_aborts_at_the_first_failing_fragment ... ok
[INFO] [stdout] test loader::tests::a_fragment_carrying_only_metadata_and_mount_is_pure_mount ... ok
[INFO] [stdout] test loader::tests::classify_repo_paths ... ok
[INFO] [stdout] test loader::layer_tests::payload_extraction_is_prefix_independent ... ok
[INFO] [stdout] test loader::tests::keep_fragment_digests_cases ... ok
[INFO] [stdout] test loader::layer_tests::validate_tar_entry_returns_a_canonical_relative_path ... ok
[INFO] [stdout] test loader::layer_tests::toml_and_tree_paths_are_prefix_independent ... ok
[INFO] [stdout] test loader::layer_tests::validate_tar_entry_security_guards ... ok
[INFO] [stdout] test loader::tests::load_all_fragments_digest_retention_tracks_keep_digests ... ok
[INFO] [stdout] test loader::layer_tests::support_files_stay_in_the_hook_list ... ok
[INFO] [stdout] test loader::layer_tests::reject_oversized_toml ... ok
[INFO] [stdout] test loader::tests::load_all_fragments_on_empty_manifest_loads_nothing ... ok
[INFO] [stdout] test loader::tests::load_all_fragments_indexes_and_orders_by_manifest_position ... ok
[INFO] [stdout] test loader::tests::split_tree_paths_separates_repo_from_config ... ok
[INFO] [stdout] test loader::tests::load_all_fragments_rejects_dir_source_before_loading ... ok
[INFO] [stdout] test manifest::tests::base_type_is_rejected_as_an_unknown_field ... ok
[INFO] [stdout] test manifest::tests::parse_minimal_manifest ... ok
[INFO] [stdout] test manifest::tests::parse_mirror_override ... ok
[INFO] [stdout] test manifest::tests::accepts_current_api_version ... ok
[INFO] [stdout] test manifest::tests::parsed_manifest_records_its_source_path ... ok
[INFO] [stdout] test manifest::tests::reject_dir_source ... ok
[INFO] [stdout] test manifest::tests::reject_empty_fragments ... ok
[INFO] [stdout] test manifest::tests::reject_missing_base ... ok
[INFO] [stdout] test manifest::tests::rejects_unsupported_api_version ... ok
[INFO] [stdout] test loader::layer_tests::extract_toml_from_valid_layer ... ok
[INFO] [stdout] test loader::layer_tests::valid_hook_shapes_are_accepted ... ok
[INFO] [stdout] test manifest::tests::resolve_registry_source ... ok
[INFO] [stdout] test manifest::tests::unknown_manifest_field_is_rejected ... ok
[INFO] [stdout] test manifest::tests::unknown_fragment_entry_field_is_rejected ... ok
[INFO] [stdout] test mount::tests::derivation_collects_directories_and_prunes_nested_ones ... ok
[INFO] [stdout] test mount::tests::a_file_directly_under_mount_is_a_derivation_error ... ok
[INFO] [stdout] test mount::tests::derivation_sorts_its_output_whatever_order_the_files_arrive_in ... ok
[INFO] [stdout] test mount::tests::materialization_policy_tracks_the_flag ... ok
[INFO] [stdout] test mount::tests::from_target_accepts_absolute_paths_and_rejects_everything_else ... ok
[INFO] [stdout] test manifest::tests::every_committed_example_manifest_parses ... ok
[INFO] [stdout] test mount::tests::mount_flag_renders_the_option_skeleton_exactly ... ok
[INFO] [stdout] test mount::tests::overlap_is_prefix_based_in_both_directions ... ok
[INFO] [stdout] test mount::tests::render_forms_cover_every_emission_surface ... ok
[INFO] [stdout] test mount::tests::shadows_is_true_only_when_the_mount_contains_the_written_path ... ok
[INFO] [stdout] test ocp::tests::emits_noarch_in_pascal_case ... ok
[INFO] [stdout] test ocp::tests::emits_rendered_image_push_secret_at_spec_level ... ok
[INFO] [stdout] test ocp::tests::indents_containerfile_content ... ok
[INFO] [stdout] test ocp::tests::generates_v1_yaml_structure ... ok
[INFO] [stdout] test ocp::tests::rejects_oversized_containerfile ... ok
[INFO] [stdout] test self_contained::tests::a_composition_without_mount_material_is_never_gated ... ok
[INFO] [stdout] test ocp::tests::uses_custom_pool_name ... ok
[INFO] [stdout] test self_contained::tests::archive_path_appends_suffix_without_touching_dots ... ok
[INFO] [stdout] test mount::tests::drift_warning_fires_only_when_annotation_and_layer_disagree ... ok
[INFO] [stdout] test mount::tests::empty_mount_notice_fires_only_for_a_present_but_fileless_directory ... ok
[INFO] [stdout] test self_contained::tests::create_archive_leaves_previous_archive_intact_on_failure ... ok
[INFO] [stdout] test self_contained::tests::empty_directory_is_safe ... ok
[INFO] [stdout] test self_contained::tests::directory_missing_sentinel_is_refused ... ok
[INFO] [stdout] test self_contained::tests::foreign_directory_is_refused ... ok
[INFO] [stdout] test loader::layer_tests::materialized_mount_bytes_match_the_source_layer_entry ... ok
[INFO] [stdout] test self_contained::tests::containerfile_and_fragments_without_sentinel_is_refused ... ok
[INFO] [stdout] test self_contained::tests::absent_directory_is_safe ... ok
[INFO] [stdout] test self_contained::tests::existing_file_target_is_refused ... ok
[INFO] [stdout] test self_contained::tests::archive_path_normalizes_trailing_separator ... ok
[INFO] [stdout] test self_contained::tests::a_run_without_mount_material_writes_no_gitignore ... ok
[INFO] [stdout] test self_contained::tests::a_context_carrying_a_gitignore_is_still_regenerable ... ok
[INFO] [stdout] test self_contained::tests::create_archive_replaces_a_symlinked_archive_path_rather_than_writing_through_it ... ok
[INFO] [stdout] test self_contained::tests::archive_contents_match_tree_byte_for_byte ... ok
[INFO] [stdout] test self_contained::tests::hooks_only_fragment_materializes_hooks_without_tree_dir ... ok
[INFO] [stdout] test self_contained::tests::hook_exec_bit_survives_materialization_and_archive ... ok
[INFO] [stdout] test self_contained::tests::emitted_containerfile_paths_resolve_in_the_materialized_tree ... ok
[INFO] [stdout] test self_contained::tests::materialized_fragment_dirs_stay_inside_the_output_tree ... ok
[INFO] [stdout] test self_contained::tests::materialized_mount_directories_and_files_are_owner_only ... ok
[INFO] [stdout] test self_contained::tests::materialize_and_archive_round_trip_byte_for_byte ... ok
[INFO] [stdout] test loader::layer_tests::mount_material_lands_on_disk_only_under_the_write_policy ... ok
[INFO] [stdout] test self_contained::tests::self_contained_proceeds_with_the_flag ... ok
[INFO] [stdout] test self_contained::tests::self_contained_refuses_mount_material_without_the_flag ... ok
[INFO] [stdout] test self_contained::tests::materializing_mounts_writes_a_gitignore_that_explains_itself ... ok
[INFO] [stdout] test self_contained::tests::write_output_refuses_symlinked_target ... ok
[INFO] [stdout] test self_contained::tests::sentinel_present_but_extra_user_file_is_refused ... ok
[INFO] [stdout] test self_contained::tests::the_gate_names_every_offending_fragment_and_path ... ok
[INFO] [stdout] test self_contained::tests::the_archive_preserves_the_owner_only_mount_modes ... ok
[INFO] [stdout] test self_contained::tests::tool_generated_directory_is_safe ... ok
[INFO] [stdout] test self_contained::tests::write_output_leaves_no_partial_tree_on_materialization_failure ... ok
[INFO] [stdout] test self_contained::tests::write_output_normalizes_directory_permissions ... ok
[INFO] [stdout] test validate::tests::a_fragment_without_mounts_needs_no_pin ... ok
[INFO] [stdout] test self_contained::tests::write_output_refuses_dangling_symlink_target ... ok
[INFO] [stdout] test validate::tests::a_mount_below_a_generator_written_path_is_allowed ... ok
[INFO] [stdout] test self_contained::tests::write_output_refuses_unsafe_target_dir ... ok
[INFO] [stdout] test validate::tests::a_succeeding_resolver_fills_in_the_digest_it_finds ... ok
[INFO] [stdout] test validate::tests::an_unpinned_build_mount_reference_is_a_generation_error ... ok
[INFO] [stdout] test validate::tests::a_repo_directory_mount_is_an_error ... ok
[INFO] [stdout] test validate::tests::composition_with_an_empty_mount_directory_still_validates ... ok
[INFO] [stdout] test validate::tests::composition_with_drift_evidence_still_validates ... ok
[INFO] [stdout] test validate::tests::declared_conflict_fails ... ok
[INFO] [stdout] test validate::tests::duplicate_fragment_names_fail ... ok
[INFO] [stdout] test self_contained::tests::write_output_refuses_when_target_gains_a_foreign_file_during_materialization ... ok
[INFO] [stdout] test validate::tests::mounts_with_hooks_and_no_packages_produce_no_notice ... ok
[INFO] [stdout] test validate::tests::no_conflicts_passes ... ok
[INFO] [stdout] test validate::tests::repo_same_id_identical_content_passes ... ok
[INFO] [stdout] test validate::tests::repos_provider_carrying_hooks_and_config_passes_validation ... ok
[INFO] [stdout] test validate::tests::the_unpinned_error_keeps_the_placeholder_when_no_digest_resolved ... ok
[INFO] [stdout] test validate::tests::conflicting_repo_content_fails ... ok
[INFO] [stdout] test validate::tests::two_fragments_mounting_colliding_targets_is_an_error ... ok
[INFO] [stdout] test self_contained::tests::write_output_replaces_prior_tool_generated_directory ... ok
[INFO] [stdout] test self_contained::tests::write_output_stages_then_swaps_atomically ... ok
[INFO] [stdout] test self_contained::tests::write_output_writes_only_the_tool_generated_entry_set ... ok
[INFO] [stdout] test self_contained::tests::regeneration_is_idempotent_and_passes_safety_check_again ... ok
[INFO] [stdout] test validate::tests::a_pinned_build_mount_reference_passes ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/osfragment_assemble-6f70f40aa99b4c3a)
[INFO] [stdout] test validate::tests::a_mount_over_a_generator_written_path_is_an_error ... ok
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-4e0098cb96f2696f)
[INFO] [stdout] test validate::tests::a_failing_resolver_still_yields_the_unpinned_placeholder_error ... ok
[INFO] [stdout] test validate::tests::mounts_with_no_package_step_produce_a_notice ... ok
[INFO] [stdout] test validate::tests::mutual_conflict_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 233 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[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] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test inspect_local_directory ... ok
[INFO] [stdout] test inspect_grafana_shows_declarative_account_and_state ... ok
[INFO] [stdout] test self_contained_conflicts_with_ocp ... ok
[INFO] [stdout] test materialize_mounts_is_accepted_alongside_self_contained ... ok
[INFO] [stdout] test inspect_prints_the_empty_mount_notice_on_stderr_and_not_on_stdout ... ok
[INFO] [stdout] test no_args_shows_help_or_requires_manifest ... ok
[INFO] [stdout] test self_contained_refuses_existing_foreign_directory ... ok
[INFO] [stdout] test inspect_tailscale_shows_hook ... ok
[INFO] [stdout] test inspect_prints_the_mount_section_on_stdout_and_nothing_on_stderr ... ok
[INFO] [stdout] test inspect_without_mounts_prints_no_mount_section ... ok
[INFO] [stdout] test self_contained_alone_does_not_conflict_with_outputs_default ... ok
[INFO] [stdout] test self_contained_conflicts_with_output ... ok
[INFO] [stdout] test materialize_mounts_requires_self_contained ... ok
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests osfragment_assemble
[INFO] [stdout] test result: ok. 13 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] running `Command { std: "docker" "inspect" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a", kill_on_drop: false }`
[INFO] [stdout] 6e4921bba6f137a4bd9f4b6d06a9484bc97e1a9e23283c2499954b1b3bfbba3a
