[INFO] fetching crate rsenv 5.2.0... [INFO] testing rsenv-5.2.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate rsenv 5.2.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate rsenv 5.2.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate rsenv 5.2.0 [INFO] tweaked toml for crates.io crate rsenv 5.2.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rsenv 5.2.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rsenv 5.2.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a41cbe1b4f7f124c7dd0a34d59e9dbb5ac05bccc32102b41251ef382d4ffcb69 [INFO] running `Command { std: "docker" "start" "-a" "a41cbe1b4f7f124c7dd0a34d59e9dbb5ac05bccc32102b41251ef382d4ffcb69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a41cbe1b4f7f124c7dd0a34d59e9dbb5ac05bccc32102b41251ef382d4ffcb69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a41cbe1b4f7f124c7dd0a34d59e9dbb5ac05bccc32102b41251ef382d4ffcb69", kill_on_drop: false }` [INFO] [stdout] a41cbe1b4f7f124c7dd0a34d59e9dbb5ac05bccc32102b41251ef382d4ffcb69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e6534a829ba110b99872abdbfd207d5d3dd704d4bd219bfc2ac1c99c4555b5d [INFO] running `Command { std: "docker" "start" "-a" "3e6534a829ba110b99872abdbfd207d5d3dd704d4bd219bfc2ac1c99c4555b5d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling zmij v1.0.12 [INFO] [stderr] Compiling os_str_bytes v6.6.1 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling pest v2.8.5 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling arraydeque v0.5.1 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling defer-drop v1.3.0 [INFO] [stderr] Compiling yaml-rust2 v0.8.1 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling syn v2.0.113 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling pest_meta v2.8.5 [INFO] [stderr] Compiling vte v0.11.1 [INFO] [stderr] Compiling timer v0.2.0 [INFO] [stderr] Compiling generational-arena v0.2.9 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Compiling dlv-list v0.5.2 [INFO] [stderr] Compiling ordered-multimap v0.7.3 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling nix v0.24.3 [INFO] [stderr] Compiling nix v0.25.1 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling rust-ini v0.20.0 [INFO] [stderr] Compiling shellexpand v3.1.1 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling tuikit v0.5.0 [INFO] [stderr] Compiling darling_core v0.14.4 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Compiling pest_generator v2.8.5 [INFO] [stderr] Compiling darling v0.14.4 [INFO] [stderr] Compiling derive_builder_core v0.11.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling derive_builder_macro v0.11.2 [INFO] [stderr] Compiling pest_derive v2.8.5 [INFO] [stderr] Compiling derive_builder v0.11.2 [INFO] [stderr] Compiling skim v0.10.4 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling clap_complete v4.5.64 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling json5 v0.4.1 [INFO] [stderr] Compiling ron v0.8.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling config v0.14.1 [INFO] [stderr] Compiling rsenv v5.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.02s [INFO] running `Command { std: "docker" "inspect" "3e6534a829ba110b99872abdbfd207d5d3dd704d4bd219bfc2ac1c99c4555b5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e6534a829ba110b99872abdbfd207d5d3dd704d4bd219bfc2ac1c99c4555b5d", kill_on_drop: false }` [INFO] [stdout] 3e6534a829ba110b99872abdbfd207d5d3dd704d4bd219bfc2ac1c99c4555b5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e39bd3102d55ae69e6054e2de2ffc04e27fee31b8a7051325953d7b841d37fb [INFO] running `Command { std: "docker" "start" "-a" "3e39bd3102d55ae69e6054e2de2ffc04e27fee31b8a7051325953d7b841d37fb", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.113 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling rstest_macros v0.23.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling pest_generator v2.8.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling pest_derive v2.8.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling clap_complete v4.5.64 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling ron v0.8.1 [INFO] [stderr] Compiling json5 v0.4.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling rstest v0.23.0 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling config v0.14.1 [INFO] [stderr] Compiling rsenv v5.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 39.51s [INFO] running `Command { std: "docker" "inspect" "3e39bd3102d55ae69e6054e2de2ffc04e27fee31b8a7051325953d7b841d37fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e39bd3102d55ae69e6054e2de2ffc04e27fee31b8a7051325953d7b841d37fb", kill_on_drop: false }` [INFO] [stdout] 3e39bd3102d55ae69e6054e2de2ffc04e27fee31b8a7051325953d7b841d37fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 120edcc86ecf8e792d9eb551e3e300674d9abdcb2c9913bab8a68f07c496df0f [INFO] running `Command { std: "docker" "start" "-a" "120edcc86ecf8e792d9eb551e3e300674d9abdcb2c9913bab8a68f07c496df0f", 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/rsenv-581ee836485caf03) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test application::hash::tests::test_encrypted_filename ... ok [INFO] [stdout] test application::services::swap::tests::given_empty_list_when_filter_to_leaves_then_empty ... ok [INFO] [stdout] test application::dotfile::tests::test_neutralize_restore_roundtrip ... ok [INFO] [stdout] test application::hash::tests::test_parse_encrypted_filename_new_format ... ok [INFO] [stdout] test application::hash::tests::test_content_hash_different_content ... ok [INFO] [stdout] test application::hash::tests::test_is_old_enc_format ... ok [INFO] [stdout] test application::services::swap::tests::given_flat_list_when_filter_to_leaves_then_all_kept ... ok [INFO] [stdout] test application::services::swap::tests::given_clean_path_when_sanitize_then_unchanged ... ok [INFO] [stdout] test application::services::swap::tests::given_parent_and_child_when_filter_to_leaves_then_only_child_kept ... ok [INFO] [stdout] test application::services::swap::tests::given_deep_hierarchy_when_filter_to_leaves_then_only_deepest_kept ... ok [INFO] [stdout] test application::services::swap::tests::given_path_with_multiple_trailing_whitespace_when_sanitize_then_all_trimmed ... ok [INFO] [stdout] test application::services::swap::tests::given_path_with_trailing_nbsp_when_sanitize_then_trimmed ... ok [INFO] [stdout] test application::services::swap::tests::given_path_with_trailing_space_when_sanitize_then_trimmed ... ok [INFO] [stdout] test application::services::swap::tests::given_sibling_dirs_with_children_when_filter_to_leaves_then_children_kept ... ok [INFO] [stdout] test config::tests::test_apply_global_keeps_base_when_not_specified ... ok [INFO] [stdout] test config::tests::test_apply_global_replaces_arrays ... ok [INFO] [stdout] test config::tests::test_merge_array_empty_overlay ... ok [INFO] [stdout] test config::tests::test_merge_array_negation ... ok [INFO] [stdout] test config::tests::test_merge_sops_config ... ok [INFO] [stdout] test config::tests::given_env_var_in_path_when_expand_paths_then_expands_variable ... ok [INFO] [stdout] test config::tests::test_merge_array_negation_nonexistent ... ok [INFO] [stdout] test config::tests::given_default_sops_config_when_created_then_has_expected_extensions ... ok [INFO] [stdout] test config::tests::given_tilde_in_base_dir_when_expand_paths_then_expands_to_home ... ok [INFO] [stdout] test config::tests::given_no_config_when_loading_then_uses_defaults ... ok [INFO] [stdout] test config::tests::test_merge_array_duplicates ... ok [INFO] [stdout] test config::tests::test_merge_array_empty_base ... ok [INFO] [stdout] test config::tests::test_merge_array_union ... ok [INFO] [stdout] test application::hash::tests::test_parse_encrypted_filename_invalid_hash ... ok [INFO] [stdout] test application::hash::tests::test_content_hash_deterministic ... ok [INFO] [stdout] test application::services::swap::tests::given_mixed_hierarchy_when_filter_to_leaves_then_only_leaves_kept ... ok [INFO] [stdout] test application::hash::tests::test_parse_encrypted_filename_old_format ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rsenv-e942c6f173fad550) [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/builder_test.rs (/opt/rustwide/target/debug/deps/builder_test-eda7c69ba125f352) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test given_nonexistent_directory_when_building_then_errors ... ok [INFO] [stdout] test given_directory_with_hierarchy_when_building_then_creates_tree ... ok [INFO] [stdout] test given_directory_with_cycle_when_building_then_errors ... ok [INFO] [stdout] test given_directory_with_multiple_trees_when_building_then_creates_all ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/config_test.rs (/opt/rustwide/target/debug/deps/config_test-f30cfe83067c8d31) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test given_vault_config_with_negation_when_load_then_removes_negated_item ... ok [INFO] [stdout] test given_vault_config_without_array_when_load_then_inherits_current ... ok [INFO] [stdout] test given_vault_config_with_multiple_arrays_when_load_then_merges_each_independently ... ok [INFO] [stdout] test given_vault_config_with_extensions_when_load_then_unions_with_current ... ok [INFO] [stdout] test given_vault_config_with_scalars_when_load_then_overrides_scalars ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/dotfile_test.rs (/opt/rustwide/target/debug/deps/dotfile_test-1393e711038286c7) [INFO] [stdout] running 25 tests [INFO] [stdout] test given_already_neutralized_when_neutralize_then_unchanged ... ok [INFO] [stdout] test given_dotfile_name_when_is_dotfile_then_returns_true ... ok [INFO] [stdout] test given_dotfile_name_when_neutralize_then_adds_dot_prefix ... ok [INFO] [stdout] test given_dotfile_name_when_restore_then_unchanged ... ok [INFO] [stdout] test given_dotfile_path_when_neutralize_then_restore_then_original ... ok [INFO] [stdout] test given_double_dot_when_is_dotfile_then_returns_false ... ok [INFO] [stdout] test given_just_dot_prefix_when_restore_then_unchanged ... ok [INFO] [stdout] test given_double_dot_when_neutralize_then_unchanged ... ok [INFO] [stdout] test given_mixed_path_when_neutralize_then_restore_then_original ... ok [INFO] [stdout] test given_path_with_dot_directory_when_neutralize_path_then_transforms_dirname ... ok [INFO] [stdout] test given_path_with_dotfile_when_neutralize_path_then_transforms_filename ... ok [INFO] [stdout] test given_path_with_multiple_dot_components_when_neutralize_path_then_transforms_all ... ok [INFO] [stdout] test given_path_with_mixed_components_when_neutralize_path_then_transforms_only_dotfiles ... ok [INFO] [stdout] test given_neutralized_name_when_restore_then_restores_dot ... ok [INFO] [stdout] test given_path_with_multiple_neutralized_when_restore_path_then_restores_all ... ok [INFO] [stdout] test given_path_with_neutralized_directory_when_restore_path_then_restores ... ok [INFO] [stdout] test given_regular_name_when_neutralize_then_unchanged ... ok [INFO] [stdout] test given_regular_name_when_restore_then_unchanged ... ok [INFO] [stdout] test given_path_with_neutralized_file_when_restore_path_then_restores ... ok [INFO] [stdout] test given_regular_path_when_neutralize_path_then_unchanged ... ok [INFO] [stdout] test given_regular_path_when_restore_path_then_unchanged ... ok [INFO] [stdout] test given_single_dot_when_is_dotfile_then_returns_false ... ok [INFO] [stdout] test given_single_dot_when_neutralize_then_unchanged ... ok [INFO] [stdout] test given_standalone_dotfile_when_neutralize_path_then_transforms ... ok [INFO] [stdout] test given_regular_name_when_is_dotfile_then_returns_false ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/editor_test.rs (/opt/rustwide/target/debug/deps/editor_test-709b3b00b3440465) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test given_file_path_when_opening_in_editor_then_calls_editor ... ok [INFO] [stdout] test given_editor_fails_when_opening_then_returns_error ... ok [INFO] [stderr] Running tests/env_file_test.rs (/opt/rustwide/target/debug/deps/env_file_test-9322a7a14935f655) [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test given_empty_value_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_env_file_with_comments_when_parsing_then_ignores_comments ... ok [INFO] [stdout] test given_env_file_with_empty_lines_when_parsing_then_ignores_them ... ok [INFO] [stdout] test given_env_file_with_absolute_parent_path_when_parsing_then_keeps_absolute ... ok [INFO] [stdout] test given_alphanumeric_with_hyphens_when_shell_quoting_then_no_quotes ... ok [INFO] [stdout] test given_double_quoted_value_with_trailing_comment_when_parsing_then_comment_stripped ... ok [INFO] [stdout] test given_env_file_with_non_export_variables_when_parsing_then_ignores_them ... ok [INFO] [stdout] test given_env_file_with_quoted_values_when_parsing_then_strips_quotes ... ok [INFO] [stdout] test given_env_file_with_space_separated_parents_when_parsing_then_extracts_all ... ok [INFO] [stdout] test given_env_file_without_rsenv_directive_when_parsing_then_has_no_parents ... ok [INFO] [stdout] test given_flag_without_spaces_when_shell_quoting_then_no_quotes ... ok [INFO] [stdout] test given_env_file_with_rsenv_directive_when_parsing_then_extracts_parent ... ok [INFO] [stdout] test given_path_without_special_chars_when_shell_quoting_then_no_quotes ... ok [INFO] [stdout] test given_simple_value_when_shell_quoting_then_no_quotes ... ok [INFO] [stdout] test given_value_with_ampersand_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_embedded_quote_when_shell_quoting_then_wraps ... ok [INFO] [stdout] test given_value_with_dollar_when_shell_quoting_then_preserves_for_expansion ... ok [INFO] [stdout] test given_value_with_parentheses_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_semicolon_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_single_quote_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_spaces_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_angle_brackets_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_env_file_with_multiple_parents_when_parsing_then_extracts_all ... ok [INFO] [stdout] test given_numeric_value_when_shell_quoting_then_no_quotes ... ok [INFO] [stdout] test given_value_with_backtick_when_shell_quoting_then_wraps ... ok [INFO] [stdout] test given_value_with_backslash_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_tab_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_unquoted_value_with_trailing_comment_when_parsing_then_comment_stripped ... ok [INFO] [stdout] test given_value_with_trailing_comment_when_parsing_then_comment_stripped ... ok [INFO] [stdout] test given_value_with_pipe_when_shell_quoting_then_adds_quotes ... ok [INFO] [stdout] test given_value_with_hash_inside_quotes_when_parsing_then_hash_preserved ... ok [INFO] [stdout] test given_env_file_with_flexible_whitespace_when_parsing_then_handles_all ... ok [INFO] [stderr] Running tests/environment_service_test.rs (/opt/rustwide/target/debug/deps/environment_service_test-7276ac47c898931d) [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test given_file_with_multiple_rsenv_directives_when_unlinking_then_errors ... ok [INFO] [stdout] test given_directory_with_hierarchy_when_getting_hierarchy_then_includes_parent_info ... ok [INFO] [stdout] test given_empty_directory_when_getting_hierarchy_then_returns_empty ... ok [INFO] [stdout] test given_file_without_parent_when_unlinking_then_no_change ... ok [INFO] [stdout] test given_file_with_multiple_rsenv_directives_when_linking_then_errors ... ok [INFO] [stdout] test given_nonexistent_file_when_building_then_returns_file_not_found ... ok [INFO] [stdout] test given_single_env_file_when_building_then_returns_its_variables ... ok [INFO] [stdout] test given_nonexistent_parent_when_building_then_returns_error ... ok [INFO] [stdout] test given_leaf_when_getting_files_then_returns_hierarchy ... ok [INFO] [stdout] test given_three_level_hierarchy_when_building_then_merges_all ... ok [INFO] [stdout] test given_env_file_with_parent_when_building_then_merges_variables ... ok [INFO] [stdout] test given_dag_with_multiple_parents_when_building_then_merges_all_branches ... ok [INFO] [stdout] test given_cycle_in_hierarchy_when_building_then_handles_gracefully ... ok [INFO] [stdout] test given_directory_with_env_files_when_getting_hierarchy_then_returns_all_leaves ... ok [INFO] [stdout] test given_tree_structure_when_checking_dag_then_returns_false ... ok [INFO] [stdout] test given_dag_structure_when_checking_dag_then_returns_true ... ok [INFO] [stdout] test given_file_with_parent_when_unlinking_then_keeps_empty_directive ... ok [INFO] [stdout] test given_file_with_existing_parent_when_linking_new_parent_then_replaces ... ok [INFO] [stdout] test given_file_with_parent_when_unlinking_then_rewrites_directive_exactly ... ok [INFO] [stdout] test given_multiple_files_when_linking_chain_then_creates_hierarchy ... ok [INFO] [stdout] test given_already_linked_file_when_linking_same_parent_then_no_duplicate ... ok [INFO] [stdout] test given_child_in_subdir_when_linking_then_uses_relative_parent_path ... ok [INFO] [stdout] test given_two_env_files_when_linking_then_child_gets_parent_directive ... ok [INFO] [stdout] test given_file_with_existing_parent_when_linking_another_then_replaces_parent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] [stderr] Running tests/envrc_basic_test.rs (/opt/rustwide/target/debug/deps/envrc_basic_test-264a70fab9a050b7) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test given_no_rsenv_section_when_updating_vars_then_errors ... ok [INFO] [stdout] test given_legacy_section_without_vars_marker_when_updating_vars_then_migrates ... ok [INFO] [stdout] test given_section_with_vars_marker_when_updating_vars_then_preserves_header ... ok [INFO] [stdout] test given_nonexistent_envrc_when_updating_then_creates_file ... ok [INFO] [stdout] test given_envrc_with_section_when_updating_then_replaces_section ... ok [INFO] [stdout] test given_v1_complex_hierarchy_when_updating_envrc_then_adds_merged_exports ... ok [INFO] [stdout] test given_empty_vars_when_updating_then_writes_empty_vars_section ... ok [INFO] [stdout] test given_envrc_with_section_when_deleting_then_removes_section ... ok [INFO] [stdout] test given_v1_multiple_updates_when_updating_envrc_then_maintains_single_section ... ok [INFO] [stdout] test given_empty_envrc_when_updating_then_adds_section ... ok [INFO] [stdout] test given_v1_envrc_with_section_when_deleting_then_removes_merged_exports ... ok [INFO] [stdout] test given_section_with_vars_when_updating_multiple_times_then_replaces_each_time ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/expand_vars_test.rs (/opt/rustwide/target/debug/deps/expand_vars_test-afa18041d69f4596) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test given_path_with_braced_var_when_expanding_then_substitutes ... ok [INFO] [stdout] test given_path_with_multiple_vars_when_expanding_then_substitutes_all ... ok [INFO] [stdout] test given_path_with_dollar_var_when_expanding_then_substitutes ... ok [INFO] [stdout] test given_path_without_vars_when_expanding_then_returns_unchanged ... ok [INFO] [stdout] test given_path_with_undefined_var_when_expanding_then_leaves_unchanged ... ok [INFO] [stdout] test given_tilde_path_when_expanding_then_expands_home ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/filesystem_test.rs (/opt/rustwide/target/debug/deps/filesystem_test-8f33cc3d574bf53d) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test given_root_path_when_ensure_parent_then_succeeds ... ok [INFO] [stdout] test given_existing_parent_when_ensure_parent_then_succeeds ... ok [INFO] [stdout] test given_nested_path_when_ensure_parent_then_creates_ancestors ... ok [INFO] [stdout] test given_file_when_copy_any_then_copies_file ... ok [INFO] [stdout] test given_directory_when_copy_any_then_copies_recursively ... ok [INFO] [stdout] test given_directory_when_remove_any_then_removes_recursively ... ok [INFO] [stdout] test given_file_when_remove_any_then_removes_file ... ok [INFO] [stdout] test given_nonexistent_source_when_copy_any_then_returns_error ... ok [INFO] [stdout] test given_nonexistent_path_when_remove_any_then_returns_error ... ok [INFO] [stdout] test given_path_with_no_parent_when_ensure_parent_then_succeeds ... ok [INFO] [stdout] [INFO] [stderr] Running tests/gitignore_service_test.rs (/opt/rustwide/target/debug/deps/gitignore_service_test-8dc2a5dc6134fd46) [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test given_no_gitignore_when_clean_then_returns_false ... ok [INFO] [stdout] test given_empty_sops_config_when_getting_patterns_then_returns_empty ... ok [INFO] [stdout] test given_no_gitignore_when_status_then_shows_patterns_to_add ... ok [INFO] [stdout] test given_gitignore_without_managed_section_when_clean_then_no_changes ... ok [INFO] [stdout] test given_patterns_are_sorted_when_sync_then_output_is_deterministic ... ok [INFO] [stdout] test given_partial_gitignore_when_status_then_shows_diff ... ok [INFO] [stdout] test given_gitignore_with_managed_section_when_sync_then_updates_section ... ok [INFO] [stdout] test given_gitignore_with_comments_in_managed_section_when_extract_then_ignores_comments ... ok [INFO] [stdout] test given_gitignore_with_managed_section_when_clean_then_removes_section ... ok [INFO] [stdout] test given_no_gitignore_when_sync_global_then_creates_file ... ok [INFO] [stdout] test given_already_synced_when_sync_then_no_changes ... ok [INFO] [stdout] test given_vault_without_local_config_when_sync_vault_then_returns_none ... ok [INFO] [stdout] test given_synced_gitignore_when_status_then_shows_in_sync ... ok [INFO] [stdout] test given_vault_without_local_config_when_vault_patterns_then_returns_none ... ok [INFO] [stdout] test given_existing_gitignore_when_sync_then_preserves_user_content ... ok [INFO] [stdout] test given_unsynced_global_when_is_global_synced_then_returns_false ... ok [INFO] [stdout] test given_sops_config_when_getting_global_patterns_then_returns_expected ... ok [INFO] [stdout] test given_synced_global_when_is_global_synced_then_returns_true ... ok [INFO] [stdout] test given_vault_when_sync_all_then_syncs_global_and_vault ... ok [INFO] [stdout] test given_vault_with_local_config_when_sync_vault_then_creates_gitignore ... ok [INFO] [stdout] test given_vault_with_local_config_when_vault_patterns_then_returns_patterns ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stderr] Running tests/hook_test.rs (/opt/rustwide/target/debug/deps/hook_test-2aed9b9a4c05686d) [INFO] [stdout] [INFO] [stderr] Running tests/selector_test.rs (/opt/rustwide/target/debug/deps/selector_test-e6a107d4de6f1762) [INFO] [stderr] Running tests/sops_service_test.rs (/opt/rustwide/target/debug/deps/sops_service_test-45a50abc5c7b6fa8) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test given_base_dir_when_default_target_then_uses_base_dir_directly ... ok [INFO] [stdout] test given_existing_hook_without_force_when_install_then_refuses ... ok [INFO] [stdout] test given_non_git_dir_when_hook_install_then_returns_error ... ok [INFO] [stdout] test given_git_repo_when_hook_install_then_creates_precommit_hook ... ok [INFO] [stdout] test given_no_hook_when_status_then_reports_not_installed ... ok [INFO] [stdout] test given_non_rsenv_hook_when_remove_then_refuses ... ok [INFO] [stdout] test given_rsenv_hook_when_remove_then_deletes_hook ... ok [INFO] [stdout] test given_rsenv_hook_when_status_then_reports_installed ... ok [INFO] [stdout] test given_dir_flag_when_hook_install_then_installs_at_specified_location ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test given_user_cancels_selection_when_selecting_then_returns_none ... ok [INFO] [stdout] test given_directory_with_env_files_when_selecting_then_returns_correct_items ... ok [INFO] [stdout] test given_selected_file_when_building_then_outputs_merged_env ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test given_files_matching_exact_name_when_collect_then_returns_matches ... ok [INFO] [stdout] test given_files_matching_extension_when_collect_then_returns_matches ... ok [INFO] [stdout] test given_mixed_files_when_status_then_categorizes_correctly ... ok [INFO] [stdout] test given_all_current_when_check_then_returns_false ... ok [INFO] [stdout] test given_empty_patterns_when_collect_then_returns_empty ... ok [INFO] [stdout] test given_current_plaintext_when_clean_then_deletes_plaintext ... ok [INFO] [stdout] test given_needs_encryption_when_check_then_returns_true ... ok [INFO] [stdout] test given_old_format_enc_without_plaintext_when_status_then_orphaned ... ok [INFO] [stdout] test given_modified_plaintext_when_status_then_stale ... ok [INFO] [stdout] test given_plaintext_with_matching_hash_enc_when_status_then_current ... ok [INFO] [stdout] test given_old_format_enc_with_plaintext_when_status_then_pending_encrypt ... ok [INFO] [stdout] test given_orphaned_enc_when_status_then_orphaned ... ok [INFO] [stdout] test given_plaintext_without_enc_when_clean_then_keeps_plaintext ... ok [INFO] [stdout] test given_plaintext_with_matching_hash_enc_when_clean_then_deletes_plaintext ... ok [INFO] [stdout] test given_plaintext_without_enc_when_status_then_pending_encrypt ... ok [INFO] [stdout] test given_plaintext_with_matching_hash_enc_when_status_then_marks_current ... ok [INFO] [stdout] test given_stale_plaintext_when_clean_then_keeps_plaintext ... ok [INFO] [stdout] test given_nested_files_when_collect_then_finds_recursively ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/swap_service_test.rs (/opt/rustwide/target/debug/deps/swap_service_test-0b6994f526cd2a11) [INFO] [stdout] [INFO] [stdout] running 68 tests [INFO] [stdout] test given_directory_when_move_path_then_moves_entire_tree ... ok [INFO] [stdout] test given_already_swapped_file_when_swap_in_then_succeeds_idempotently ... ok [INFO] [stdout] test given_bare_gitignore_in_vault_when_swap_in_then_rejects_with_error ... ok [INFO] [stdout] test given_dotfile_path_when_swap_init_then_creates_neutralized_vault_path ... ok [INFO] [stdout] test given_broken_symlink_when_swap_init_then_preserves_symlink ... ok [INFO] [stdout] test given_dotfile_swapped_in_when_swap_out_then_restores_to_neutralized_path ... ok [INFO] [stdout] test given_directory_with_gitignore_when_swap_init_then_gitignore_neutralized ... ok [INFO] [stdout] test given_dotted_hostname_when_swap_in_then_creates_correct_sentinel ... ok [INFO] [stdout] test given_bare_gitignore_in_vault_dir_when_swap_in_then_rejects_with_error ... ok [INFO] [stdout] test given_file_with_vault_override_when_swap_in_then_replaces_project_file ... ok [INFO] [stdout] test given_dotfile_swapped_in_when_swap_out_vault_then_restores_correctly ... ok [INFO] [stdout] test given_global_silent_active_swaps_when_status_then_exit_1 ... ok [INFO] [stdout] test given_broken_symlink_in_vault_when_swap_in_then_succeeds ... ok [INFO] [stdout] test given_dotfile_in_vault_when_swap_in_then_finds_neutralized_path ... ok [INFO] [stdout] test given_directory_in_vault_when_delete_then_removes_entire_directory ... ok [INFO] [stdout] test given_broken_symlink_with_dotpath_when_full_roundtrip_then_works ... ok [INFO] [stdout] test given_file_when_move_path_then_moves_atomically ... ok [INFO] [stdout] test given_directory_swapped_in_when_status_then_shows_swapped_in ... ok [INFO] [stdout] test given_managed_project_when_status_quiet_then_returns_status_without_warnings ... ok [INFO] [stdout] test given_directory_in_vault_when_swap_in_then_swaps_entire_directory ... ok [INFO] [stdout] test given_mismatched_source_dir_when_status_then_still_works ... ok [INFO] [stdout] test given_mixed_swap_states_when_status_then_categorizes_correctly ... ok [INFO] [stdout] test given_managed_clean_when_silent_status_then_exit_0 ... ok [INFO] [stdout] test given_directory_with_nested_gitignore_when_swap_out_then_gitignore_neutralized ... ok [INFO] [stdout] test given_no_vault_when_status_quiet_then_returns_empty ... ok [INFO] [stdout] test given_managed_dirty_when_silent_status_then_exit_1 ... ok [INFO] [stdout] test given_no_vaults_when_status_all_vaults_then_returns_empty ... ok [INFO] [stdout] test given_no_vaults_when_swap_out_all_vaults_then_returns_empty ... ok [INFO] [stdout] test given_neutralized_gitignore_in_vault_when_swap_in_then_gitignore_restored ... ok [INFO] [stdout] test given_multiple_files_one_swapped_in_when_delete_then_no_deletions_occur ... ok [INFO] [stdout] test given_global_silent_no_swaps_when_status_then_exit_0 ... ok [INFO] [stdout] test given_modified_file_when_swap_out_then_modifications_captured_in_vault ... ok [INFO] [stdout] test given_nonexistent_vault_file_when_delete_then_succeeds_idempotently ... ok [INFO] [stdout] test given_nested_dotfile_path_when_swap_init_then_neutralizes_all_segments ... ok [INFO] [stdout] test given_no_swap_files_when_status_then_returns_empty ... ok [INFO] [stdout] test given_no_swapped_files_when_swap_out_vault_then_returns_empty ... ok [INFO] [stdout] test given_marker_already_exists_when_swap_in_then_no_duplicate ... ok [INFO] [stdout] test given_not_swapped_file_when_swap_out_then_succeeds_idempotently ... ok [INFO] [stdout] test given_no_vault_when_swap_out_vault_then_returns_empty ... ok [INFO] [stdout] test given_sentinel_in_vault_when_status_then_shows_swapped_in ... ok [INFO] [stdout] test given_standalone_neutralized_gitignore_when_swap_in_then_gitignore_restored ... ok [INFO] [stdout] test given_multiple_vaults_when_status_all_vaults_then_returns_only_those_with_swaps ... ok [INFO] [stdout] test given_sentinel_with_dotted_hostname_when_status_then_parses_correctly ... ok [INFO] [stdout] test given_multiple_vaults_when_swap_out_all_vaults_then_swaps_out_all ... ok [INFO] [stdout] test given_project_file_not_exists_when_swap_init_then_returns_error ... ok [INFO] [stdout] test given_project_file_without_vault_when_swap_init_then_moves_to_vault ... ok [INFO] [stdout] test given_standalone_gitignore_when_swap_init_then_neutralized ... ok [INFO] [stdout] test given_swap_in_when_successful_then_adds_marker_to_dot_envrc ... ok [INFO] [stdout] test given_swapped_by_different_host_when_swap_in_then_returns_error ... ok [INFO] [stdout] test given_swapped_file_when_swap_out_then_restores_original ... ok [INFO] [stdout] test given_standalone_gitignore_full_cycle_when_init_swap_in_swap_out_then_works ... ok [INFO] [stdout] test given_swap_out_all_when_successful_then_removes_marker ... ok [INFO] [stdout] test given_nested_path_when_swap_in_then_sentinel_preserves_structure ... ok [INFO] [stdout] test given_vault_without_valid_dot_envrc_when_status_all_vaults_then_skips_gracefully ... ok [INFO] [stdout] test given_gitignore_full_cycle_when_swap_in_out_then_content_preserved ... ok [INFO] [stdout] test given_swap_out_partial_when_files_remain_then_keeps_marker ... ok [INFO] [stdout] test given_unmanaged_dir_when_silent_status_then_exit_2 ... ok [INFO] [stdout] test given_swapped_out_file_when_delete_then_removes_vault_artifacts ... ok [INFO] [stdout] test given_vault_already_has_file_when_swap_init_then_returns_error ... ok [INFO] [stdout] test given_vault_with_stale_source_dir_when_swap_out_all_vaults_then_warns_and_skips ... ok [INFO] [stdout] test given_vault_with_active_swap_when_status_all_vaults_then_returns_that_vault ... ok [INFO] [stdout] test given_vault_with_stale_source_dir_when_status_all_vaults_then_still_detects_swaps ... ok [INFO] [stdout] test given_vault_with_no_active_swaps_when_status_all_vaults_then_returns_empty ... ok [INFO] [stdout] test given_swapped_in_file_when_delete_then_fails_with_hostname ... ok [INFO] [stdout] test given_swapped_files_when_swap_out_vault_then_swaps_all_out ... ok [INFO] [stdout] test given_directory_swapped_in_when_swap_out_then_restores_original ... ok [INFO] [stdout] test given_swapped_in_by_other_host_when_delete_then_fails_with_that_hostname ... ok [INFO] [stdout] test given_vault_with_swapped_files_when_swap_out_all_vaults_then_swaps_out ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/tree_test.rs (/opt/rustwide/target/debug/deps/tree_test-e4ed6294c96d5430) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test given_max_prefix_structure_when_building_trees_then_handles_prefix_correctly ... ok [INFO] [stdout] test given_graph_structure_when_building_trees_then_reports_cycle_due_to_dag ... ok [INFO] [stdout] test given_tree_structure_when_creating_branches_then_returns_correct_branch_paths ... ok [INFO] [stdout] test given_tree_structure_when_building_trees_then_returns_correct_hierarchy ... ok [INFO] [stdout] test given_tree2_confguard_when_building_trees_then_returns_correct_hierarchy ... ok [INFO] [stdout] test given_tree_when_postorder_iterating_then_visits_leaves_first ... ok [INFO] [stdout] test given_invalid_parent_path_when_building_trees_then_skips_unresolvable_parent ... ok [INFO] [stdout] test given_tree_when_iterating_then_visits_all_nodes ... ok [INFO] [stdout] test given_complex_hierarchy_when_building_trees_then_returns_correct_depth ... ok [INFO] [stdout] test given_complex_hierarchy_when_building_trees_then_each_tree_has_one_leaf ... ok [INFO] [stdout] test given_parallel_structure_when_getting_leaves_then_returns_correct_leaves ... ok [INFO] [stdout] test given_parallel_structure_when_creating_branches_then_returns_correct_paths ... ok [INFO] [stdout] test given_complex_structure_when_creating_branches_then_returns_correct_hierarchy ... ok [INFO] [stdout] test given_parallel_structure_when_building_trees_then_returns_three_trees ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running tests/v1_compatibility_test.rs (/opt/rustwide/target/debug/deps/v1_compatibility_test-b8dce285419e3396) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test given_v1_complex_level4_when_getting_files_then_returns_5_level_hierarchy ... ok [INFO] [stdout] test given_v1_complex_level4_when_building_then_matches_result_env ... ok [INFO] [stdout] test given_v1_dag_structure_when_building_then_handles_multiple_parents ... ok [INFO] [stdout] test given_v1_env_vars_when_building_then_expands_variables ... ok [INFO] [stdout] test given_v1_graph2_level21_when_building_then_matches_result1 ... ok [INFO] [stdout] test given_v1_graph_level31_when_building_then_matches_result_env ... ok [INFO] [stdout] test given_v1_fail_directory_when_building_then_errors_on_missing_parent ... ok [INFO] [stdout] test given_v1_parallel_test_when_building_then_returns_correct_exports ... ok [INFO] [stdout] test given_v1_graph2_level22_when_building_then_matches_result2 ... ok [INFO] [stdout] test given_v1_invalid_parent_when_building_then_error_mentions_missing_file ... ok [INFO] [stdout] test given_v1_graph_structure_when_checking_dag_then_returns_true ... ok [INFO] [stdout] test given_v1_tree_structure_when_checking_dag_then_returns_false ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/vault_service_test.rs (/opt/rustwide/target/debug/deps/vault_service_test-02f8c48b0e602b96) [INFO] [stdout] [INFO] [stdout] running 40 tests [INFO] [stdout] test given_already_linked_when_reconnect_then_returns_success ... ok [INFO] [stdout] test given_deleted_symlink_when_reconnect_then_recreates_symlink ... ok [INFO] [stdout] test given_dotfile_when_guard_then_neutralizes_in_vault ... ok [INFO] [stdout] test given_already_initialized_project_when_init_then_returns_existing_vault ... ok [INFO] [stdout] test given_dotfile_in_subdir_when_guard_then_neutralizes_path ... ok [INFO] [stdout] test given_file_in_project_when_guard_then_moves_to_vault ... ok [INFO] [stdout] test given_guarded_file_when_unguard_then_removes_from_vault ... ok [INFO] [stdout] test given_guarded_file_when_unguard_then_restores_original ... ok [INFO] [stdout] test given_init_when_checking_dot_envrc_then_has_rsenv_vault_export ... ok [INFO] [stdout] test given_guarded_directory_when_unguard_then_restores ... ok [INFO] [stdout] test given_envrc_exists_as_file_when_reconnect_then_returns_error ... ok [INFO] [stdout] test given_init_when_checking_dot_envrc_then_has_state_metadata ... ok [INFO] [stdout] test given_directory_when_guard_then_moves_to_vault_and_creates_symlink ... ok [INFO] [stdout] test given_file_in_project_when_guard_then_creates_symlink ... ok [INFO] [stdout] test given_init_with_relative_when_checking_dot_envrc_then_config_relative_is_true ... ok [INFO] [stdout] test given_new_project_when_init_then_dot_envrc_has_rsenv_section ... ok [INFO] [stdout] test given_new_project_when_init_then_env_files_have_correct_content ... ok [INFO] [stdout] test given_initialized_project_when_reset_then_removes_envrc_symlink ... ok [INFO] [stdout] test given_new_project_when_init_then_vault_has_sentinel_id ... ok [INFO] [stdout] test given_new_project_when_init_then_creates_default_env_files ... ok [INFO] [stdout] test given_non_symlink_when_unguard_then_returns_error ... ok [INFO] [stdout] test given_not_rsenv_file_when_reconnect_then_returns_error ... ok [INFO] [stdout] test given_new_project_when_init_then_creates_dot_envrc_in_vault ... ok [INFO] [stdout] test given_uninitialized_project_when_guard_then_returns_error ... ok [INFO] [stdout] test given_uninitialized_project_when_get_then_returns_none ... ok [INFO] [stdout] test given_uninitialized_project_when_reset_then_returns_error ... ok [INFO] [stdout] test given_new_project_when_init_then_creates_subdirectories ... ok [INFO] [stdout] test given_guarded_files_when_reset_then_restores_all_files ... ok [INFO] [stdout] test given_moved_project_when_reconnect_then_updates_source_dir ... ok [INFO] [stdout] test given_existing_envrc_when_init_then_preserves_content_in_dot_envrc ... ok [INFO] [stdout] test given_init_with_absolute_when_checking_dot_envrc_then_config_relative_is_false ... ok [INFO] [stdout] test given_guarded_dotfile_when_unguard_then_restores_original_name ... ok [INFO] [stdout] test given_initialized_project_when_get_then_returns_vault ... ok [INFO] [stdout] test given_file_in_subdir_when_guard_then_preserves_structure ... ok [INFO] [stdout] test given_new_project_when_init_then_creates_envrc_symlink ... ok [INFO] [stdout] test given_new_project_when_init_then_creates_vault_directory ... ok [INFO] [stdout] test given_nested_directory_when_guard_then_preserves_structure_in_vault ... ok [INFO] [stdout] test given_nested_guarded_files_when_reset_then_preserves_directory_structure ... ok [INFO] [stdout] test given_no_backup_when_reset_then_moves_dot_envrc_and_removes_section ... ok [INFO] [stdout] test given_reset_when_checking_vault_then_vault_still_exists ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Doc-tests rsenv [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/application/error_ext.rs - application::error_ext::IoResultExt::with_path_context (line 15) ... ignored [INFO] [stdout] test src/config.rs - config::SopsConfig::merge_array (line 85) ... ignored [INFO] [stdout] test src/lib.rs - (line 18) - compile ... ok [INFO] [stdout] test src/application/hash.rs - application::hash::parse_encrypted_filename (line 52) ... ok [INFO] [stdout] test src/application/hash.rs - application::hash::encrypted_filename (line 126) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 1.18s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "120edcc86ecf8e792d9eb551e3e300674d9abdcb2c9913bab8a68f07c496df0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "120edcc86ecf8e792d9eb551e3e300674d9abdcb2c9913bab8a68f07c496df0f", kill_on_drop: false }` [INFO] [stdout] 120edcc86ecf8e792d9eb551e3e300674d9abdcb2c9913bab8a68f07c496df0f