[INFO] cloning repository https://github.com/hibiki-automatic/fs-confine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hibiki-automatic/fs-confine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhibiki-automatic%2Ffs-confine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhibiki-automatic%2Ffs-confine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] df54c711b2231f82d94c86b2bfb315e975204658 [INFO] testing hibiki-automatic/fs-confine against 1.98.0-beta.1 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhibiki-automatic%2Ffs-confine" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/hibiki-automatic/fs-confine [INFO] finished tweaking git repo https://github.com/hibiki-automatic/fs-confine [INFO] tweaked toml for git repo https://github.com/hibiki-automatic/fs-confine written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hibiki-automatic/fs-confine on toolchain 1.98.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/hibiki-automatic/fs-confine 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.98.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-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2 [INFO] running `Command { std: "docker" "start" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", 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" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", 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" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling fs-confine v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `Command { std: "docker" "inspect" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", 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" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling fs-confine v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.26s [INFO] running `Command { std: "docker" "inspect" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", 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" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fs_confine-2ef0c69fc6edfe28) [INFO] [stdout] running 58 tests [INFO] [stdout] test confine::tests::confine_link_classifies_in_root ... ok [INFO] [stdout] test confine::tests::confine_link_classifies_out_of_root_as_outside ... ok [INFO] [stdout] test confine::tests::confine_link_classifies_symlink_escape_as_outside ... ok [INFO] [stdout] test confine::tests::confine_link_nonexistent_file_is_outside ... ok [INFO] [stdout] test confine::tests::confine_path_accepts_in_root_file ... ok [INFO] [stdout] test confine::tests::confine_path_rejects_parent_traversal_escape ... ok [INFO] [stdout] test confine::tests::confine_link_sensitive_path_is_outside ... ok [INFO] [stdout] test confine::tests::confine_path_rejects_sensitive_even_with_empty_registry ... ok [INFO] [stdout] test confine::tests::confine_path_rejects_non_absolute ... ok [INFO] [stdout] test confine::tests::confine_path_home_itself_is_sensitive ... ok [INFO] [stdout] test confine::tests::confine_path_deep_nested_traversal_rejected ... ok [INFO] [stdout] test confine::tests::confine_path_sensitive_inside_registered_root_still_rejected ... ok [INFO] [stdout] test confine::tests::confine_path_rejects_out_of_root_when_registry_empty ... ok [INFO] [stdout] test confine::tests::confine_path_single_file_root_owns_only_exact_path ... ok [INFO] [stdout] test confine::tests::confine_read_does_not_follow_symlink_final_component ... ok [INFO] [stdout] test confine::tests::confine_path_rejects_symlink_escaping_root ... ok [INFO] [stdout] test confine::tests::confine_read_rejects_directory_target ... ok [INFO] [stdout] test confine::tests::confine_path_symlink_dir_inside_root_pointing_outside ... ok [INFO] [stdout] test confine::tests::confine_path_string_prefix_not_component_prefix ... ok [INFO] [stdout] test roots::tests::detect_finds_nearest_marker ... ok [INFO] [stdout] test confine::tests::confine_read_returns_held_fd_and_fstat_metadata ... ok [INFO] [stdout] test confine::tests::confine_read_rejects_symlink_escaping_root ... ok [INFO] [stdout] test roots::tests::detect_md_preview_root_marker_works ... ok [INFO] [stdout] test confine::tests::confine_path_symlink_chain_through_two_hops_to_outside ... ok [INFO] [stdout] test roots::tests::detect_stops_before_home_even_with_git_in_home ... ok [INFO] [stdout] test confine::tests::confine_save_rejects_sensitive_target ... ok [INFO] [stdout] test confine::tests::confine_read_size_cap_from_held_fd ... ok [INFO] [stdout] test roots::tests::is_sensitive_covers_denylist ... ok [INFO] [stdout] test roots::tests::gc_keeps_a_root_accessed_within_ttl ... ok [INFO] [stdout] test roots::tests::is_sensitive_covers_widened_denylist ... ok [INFO] [stdout] test roots::tests::gc_drops_only_expired_roots ... ok [INFO] [stdout] test roots::tests::deserialize_rejects_corrupt_lines ... ok [INFO] [stdout] test roots::tests::directory_root_upgrades_single_file_entry ... ok [INFO] [stdout] test roots::tests::nested_root_collapses_into_parent ... ok [INFO] [stdout] test roots::tests::normalize_collapses_dot_and_dotdot ... ok [INFO] [stdout] test confine::tests::seam_confine_save_with_calls_backend_atomic_save ... ok [INFO] [stdout] test confine::tests::confine_save_rejects_non_absolute ... ok [INFO] [stdout] test confine::tests::seam_policy_rejects_before_calling_backend ... ok [INFO] [stdout] test confine::tests::confine_save_rejects_out_of_root_parent ... ok [INFO] [stdout] test roots::tests::owning_root_picks_most_specific_and_renews_ttl ... ok [INFO] [stdout] test roots::tests::owning_root_returns_none_when_unregistered ... ok [INFO] [stdout] test roots::tests::owning_root_single_file_matches_only_exact_path ... ok [INFO] [stdout] test roots::tests::register_for_creates_directory_root_at_project ... ok [INFO] [stdout] test roots::tests::parent_root_absorbs_existing_children ... ok [INFO] [stdout] test roots::tests::register_root_refuses_relative_path ... ok [INFO] [stdout] test roots::tests::register_root_refuses_sensitive_targets ... ok [INFO] [stdout] test roots::tests::load_missing_file_yields_empty_registry ... ok [INFO] [stdout] test confine::tests::multi_root_boundary_wrong_root_in_union ... ok [INFO] [stdout] test roots::tests::resolve_falls_back_to_single_file_when_no_marker ... ok [INFO] [stdout] test confine::tests::seam_confine_read_with_calls_backend_open_and_stat ... ok [INFO] [stdout] test roots::tests::resolve_downgrades_sensitive_project_root_to_single_file ... ok [INFO] [stdout] test roots::tests::serialize_deserialize_roundtrips ... ok [INFO] [stdout] test roots::tests::union_is_the_active_set_for_confinement ... ok [INFO] [stdout] test roots::tests::save_and_load_through_disk ... ok [INFO] [stdout] test confine::tests::confine_save_does_not_follow_symlinked_target ... ok [INFO] [stdout] test roots::tests::detect_honors_marker_priority_via_first_hit_walking_up ... ok [INFO] [stdout] test confine::tests::confine_save_writes_atomically_in_root ... ok [INFO] [stdout] test confine::tests::confine_save_dirfd_relative_resists_intermediate_parent_swap ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Doc-tests fs_confine [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" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2", kill_on_drop: false }` [INFO] [stdout] 5eb33931931171a4225badcd2bd29f6b4c6526784c6676989df9d572e37483f2