[INFO] fetching crate devy 0.6.0...
[INFO] testing devy-0.6.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate devy 0.6.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate devy 0.6.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate devy 0.6.0
[INFO] tweaked toml for crates.io crate devy 0.6.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate devy 0.6.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate devy 0.6.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.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-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9
[INFO] running `Command { std: "docker" "start" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", 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" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", 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" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling which v6.0.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling devy v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 55.02s
[INFO] running `Command { std: "docker" "inspect" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", 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" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling mutants v0.0.3
[INFO] [stderr]    Compiling devy v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 13.02s
[INFO] running `Command { std: "docker" "inspect" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", 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" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/devy/4eea521951a3fbb3/out/devy-4eea521951a3fbb3)
[INFO] [stdout] 
[INFO] [stdout] running 936 tests
[INFO] [stdout] test cli::tests::cli_run_hook_returns_ok_for_valid_shell ... ok
[INFO] [stdout] test cli::tests::cli_run_check_returns_err_without_config ... ok
[INFO] [stdout] test commands::check::tests::check_impl_dep_and_env_issues_both_contribute ... ok
[INFO] [stdout] test commands::check::tests::check_impl_empty_deps_skips_dep_table ... ok
[INFO] [stdout] test commands::check::tests::check_impl_env_issue_without_dep_issues_returns_err ... ok
[INFO] [stdout] test commands::check::tests::check_impl_returns_err_on_invalid_shell ... ok
[INFO] [stdout] test commands::check::tests::check_impl_emits_config_warnings_for_minio_with_credentials ... ok
[INFO] [stdout] test commands::check::tests::check_impl_returns_err_on_unrecognized_extra_key ... ok
[INFO] [stdout] test commands::check::tests::check_impl_returns_err_when_dep_not_installed ... ok
[INFO] [stdout] test commands::check::tests::check_impl_returns_ok_when_all_installed ... ok
[INFO] [stdout] test commands::down::tests::down_impl_skips_service_already_stopped ... ok
[INFO] [stdout] test commands::down::tests::down_impl_propagates_stop_error ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_appends_space_separated ... ok
[INFO] [stdout] test commands::check::tests::check_impl_not_installed_service_counts_as_issue ... ok
[INFO] [stdout] test commands::check::tests::check_impl_warns_on_extra_key_for_module_with_empty_allowlist ... ok
[INFO] [stdout] test commands::check::tests::check_impl_zero_issues_returns_ok ... ok
[INFO] [stdout] test commands::down::tests::down_impl_returns_ok_with_no_services ... ok
[INFO] [stdout] test commands::down::tests::down_impl_stops_running_service ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_cmd_shell_returns_unchanged ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_empty_leaves_cmd_unchanged ... ok
[INFO] [stdout] test commands::exec::tests::spawn_cmd_rejects_disallowed_shell ... ok
[INFO] [stdout] test commands::exec::tests::shell_flag_posix_shells_use_dash_c ... ok
[INFO] [stdout] test commands::exec::tests::shell_flag_cmd_uses_slash_c ... ok
[INFO] [stdout] test commands::exec::tests::validate_shell_rejects_absolute_path_to_unknown_binary ... ok
[INFO] [stdout] test commands::exec::tests::validate_shell_accepts_allowed_shells ... ok
[INFO] [stdout] test commands::exec::tests::validate_shell_rejects_path_to_allowed_shell ... ok
[INFO] [stdout] test commands::exec::tests::run_hook_with_succeeding_command_returns_ok ... ok
[INFO] [stdout] test commands::check::tests::check_impl_returns_err_on_port_conflict ... ok
[INFO] [stdout] test commands::exec::tests::spawn_cmd_with_cwd_sets_working_directory ... ok
[INFO] [stdout] test commands::check::tests::check_impl_counts_two_missing_deps_as_issues ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_escapes_single_quote ... ok
[INFO] [stdout] test commands::exec::tests::validate_shell_rejects_unknown_binary ... ok
[INFO] [stdout] test commands::exec::tests::run_hook_list_stops_on_first_failure ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_powershell_returns_unchanged ... ok
[INFO] [stdout] test commands::exec::tests::run_hook_with_failing_command_returns_err ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_preserves_shell_and_cwd ... ok
[INFO] [stdout] test commands::exec::tests::run_hook_with_custom_shell_uses_that_shell ... ok
[INFO] [stdout] test commands::export::tests::export_impl_shell_writes_file ... ok
[INFO] [stdout] test commands::check::tests::check_impl_single_issue_uses_singular_noun ... ok
[INFO] [stdout] test commands::exec::tests::append_extra_args_quotes_arg_with_space ... ok
[INFO] [stdout] test commands::export::tests::export_impl_warns_on_overwrite ... ok
[INFO] [stdout] test commands::export::tests::generate_flake_nix_contains_package_entries ... ok
[INFO] [stdout] test commands::export::tests::generate_shell_nix_contains_package_entries ... ok
[INFO] [stdout] test commands::export::tests::generate_flake_nix_includes_env_vars ... ok
[INFO] [stdout] test commands::export::tests::generate_shell_nix_includes_env_vars ... ok
[INFO] [stdout] test commands::export::tests::collect_pkg_lines_resolves_aliases ... ok
[INFO] [stdout] test commands::export::tests::export_impl_flake_writes_file ... ok
[INFO] [stdout] test commands::export::tests::module_registry_nix_attrs_are_correct ... ok
[INFO] [stdout] test commands::export::tests::nix_string_value_escapes_special_chars ... ok
[INFO] [stdout] test commands::hook::tests::all_builtin_subcommands_appear_in_bash_snippet ... ok
[INFO] [stdout] test commands::hook::tests::all_builtin_subcommands_appear_in_zsh_snippet ... ok
[INFO] [stdout] test commands::hook::tests::bash_snippet_contains_completion_function ... ok
[INFO] [stdout] test commands::hook::tests::bash_snippet_contains_shadowenv_hook ... ok
[INFO] [stdout] test commands::hook::tests::fish_snippet_contains_completion_directives ... ok
[INFO] [stdout] test commands::hook::tests::fish_snippet_contains_shadowenv_hook ... ok
[INFO] [stdout] test commands::hook::tests::run_zsh_succeeds ... ok
[INFO] [stdout] test commands::hook::tests::snippet_templates_do_not_contain_literal_placeholder ... ok
[INFO] [stdout] test commands::hook::tests::snippets_contain_binary_name ... ok
[INFO] [stdout] test commands::hook::tests::zsh_snippet_contains_completion_function ... ok
[INFO] [stdout] test commands::hook::tests::zsh_snippet_contains_shadowenv_hook ... ok
[INFO] [stdout] test commands::init::tests::run_creates_config_when_none_exists ... ok
[INFO] [stdout] test commands::init::tests::run_fails_when_config_exists_without_force ... ok
[INFO] [stdout] test commands::pr::tests::encodes_space_in_branch ... ok
[INFO] [stdout] test commands::list_commands::tests::all_commands_present ... ok
[INFO] [stdout] test commands::pr::tests::encodes_percent_in_branch ... ok
[INFO] [stdout] test commands::init::tests::run_force_overwrites_existing_config ... ok
[INFO] [stdout] test commands::pr::tests::encodes_hash_in_branch ... ok
[INFO] [stdout] test commands::pr::tests::encodes_slash_in_branch ... ok
[INFO] [stdout] test commands::pr::tests::leaves_unreserved_chars_unencoded ... ok
[INFO] [stdout] test commands::pr::tests::parses_https_remote ... ok
[INFO] [stdout] test commands::pr::tests::parses_ssh_remote ... ok
[INFO] [stdout] test commands::exec::tests::run_hook_list_runs_all_commands ... ok
[INFO] [stdout] test commands::hook::tests::all_builtin_subcommands_appear_in_fish_snippet ... ok
[INFO] [stdout] test commands::pr::tests::returns_none_for_non_github ... ok
[INFO] [stdout] test commands::service::tests::resolve_dep_accepts_canonical_name_for_aliased_dep ... ok
[INFO] [stdout] test commands::service::tests::resolve_dep_finds_correct_dep_by_name ... ok
[INFO] [stdout] test commands::service::tests::resolve_dep_accepts_alias_for_service ... ok
[INFO] [stdout] test commands::service::tests::list_impl_returns_err_when_is_running_fails ... ok
[INFO] [stdout] test commands::hook::tests::run_unsupported_shell_returns_error ... ok
[INFO] [stdout] test commands::service::tests::resolve_dep_returns_err_for_unknown_name ... ok
[INFO] [stdout] test commands::service::tests::list_impl_returns_ok_with_no_services ... ok
[INFO] [stdout] test commands::service::tests::resolve_dep_returns_ok_for_valid_service ... ok
[INFO] [stdout] test commands::service::tests::list_impl_returns_ok_with_services ... ok
[INFO] [stdout] test commands::service::tests::restart_impl_propagates_start_error ... ok
[INFO] [stdout] test commands::service::tests::start_impl_propagates_start_error ... ok
[INFO] [stdout] test commands::export::tests::nix_attr_name_quotes_unsafe_keys ... ok
[INFO] [stdout] test commands::service::tests::start_impl_skips_when_service_already_running ... ok
[INFO] [stdout] test commands::service::tests::stop_impl_propagates_stop_error ... ok
[INFO] [stdout] test commands::service::tests::stop_impl_skips_when_service_already_stopped ... ok
[INFO] [stdout] test commands::service::tests::stop_impl_stops_running_service ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_counts_each_missing_dep ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_counts_stopped_service_as_issue ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_empty_deps_returns_zero ... ok
[INFO] [stdout] test commands::hook::tests::run_bash_succeeds ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_running_service_does_not_add_issues ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_returns_zero_when_all_installed ... ok
[INFO] [stdout] test commands::hook::tests::run_fish_succeeds ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_returns_nonzero_when_dep_missing ... ok
[INFO] [stdout] test commands::shared::tests::print_env_table_check_mode_returns_count_when_env_not_configured ... ok
[INFO] [stdout] test commands::up::tests::apply_lock_does_not_override_existing_version ... ok
[INFO] [stdout] test commands::shared::tests::print_env_table_bold_errors_guard_distinguishes_modes ... ok
[INFO] [stdout] test commands::shared::tests::print_env_table_check_mode_reports_configured_when_var_present ... ok
[INFO] [stdout] test commands::shared::tests::print_env_table_status_mode_returns_zero_when_not_configured ... ok
[INFO] [stdout] test commands::service::tests::resolve_dep_returns_err_for_non_service ... ok
[INFO] [stdout] test commands::shared::tests::print_dep_table_uninstalled_service_counts_only_once ... ok
[INFO] [stdout] test commands::up::tests::apply_lock_returns_dep_unchanged_when_no_lock ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_bails_on_out_of_range_port ... ok
[INFO] [stdout] test commands::up::tests::apply_lock_returns_dep_unchanged_when_not_in_lock ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_catches_default_port_clash ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_bails_on_port_zero ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_explicit_port_wins_over_default ... ok
[INFO] [stdout] test commands::up::tests::install_binary_propagates_install_error ... ok
[INFO] [stdout] test commands::up::tests::install_binary_returns_ok_when_already_installed ... ok
[INFO] [stdout] test commands::up::tests::apply_lock_reads_canonical_key_when_dep_uses_alias ... ok
[INFO] [stdout] test commands::up::tests::install_binary_uses_shell_field_for_after_install ... ok
[INFO] [stdout] test commands::up::tests::config_env_overrides_module_env_for_same_key ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_ignores_non_service_deps ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_returns_ok_with_no_services ... ok
[INFO] [stdout] test commands::up::tests::module_env_keys_absent_from_config_are_preserved ... ok
[INFO] [stdout] test commands::up::tests::resolve_service_ports_injects_random_port_when_no_lock ... ok
[INFO] [stdout] test commands::up::tests::resolve_service_ports_respects_user_configured_port ... ok
[INFO] [stdout] test commands::up::tests::resolve_service_ports_reuses_locked_port ... ok
[INFO] [stdout] test commands::up::tests::resolve_service_ports_assigns_distinct_ports ... ok
[INFO] [stdout] test commands::shared::tests::print_env_table_returns_zero_for_empty_env ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_two_out_of_range_ports_both_bail ... ok
[INFO] [stdout] test commands::up::tests::orphan_detection_treats_alias_and_canonical_as_same_dep ... ok
[INFO] [stdout] test commands::up::tests::resolve_service_ports_skips_non_service_deps ... ok
[INFO] [stdout] test commands::up::tests::apply_lock_pins_version_from_lock_file ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_returns_err_on_duplicate_port ... ok
[INFO] [stdout] test commands::up::tests::start_service_if_needed_is_noop_for_non_service ... ok
[INFO] [stdout] test commands::shared::tests::print_env_table_check_mode_reports_missing_when_var_absent_from_written ... ok
[INFO] [stdout] test commands::up::tests::check_port_conflicts_returns_ok_with_distinct_ports ... ok
[INFO] [stdout] test commands::up::tests::start_service_if_needed_propagates_start_error ... ok
[INFO] [stdout] test commands::up::tests::up_impl_calls_env_mgr_setup_when_config_env_present ... ok
[INFO] [stdout] test commands::up::tests::up_impl_skips_env_section_when_no_env_and_no_path_prepends ... ok
[INFO] [stdout] test commands::up::tests::up_impl_propagates_install_failure ... ok
[INFO] [stdout] test commands::up::tests::up_impl_update_mode_still_emits_orphan_warning ... ok
[INFO] [stdout] test commands::up::tests::up_impl_does_not_call_setup_when_no_content_and_no_existing_file ... ok
[INFO] [stdout] test commands::up::tests::up_impl_installs_env_mgr_when_unavailable ... ok
[INFO] [stdout] test commands::up::tests::up_impl_does_not_emit_host_port_for_non_services ... ok
[INFO] [stdout] test commands::up::tests::up_impl_writes_lock_before_starting_services ... ok
[INFO] [stdout] test commands::up::tests::write_lock_omits_assigned_port_for_non_service ... ok
[INFO] [stdout] test commands::up::tests::up_impl_writes_lock_file ... ok
[INFO] [stdout] test commands::up::tests::write_lock_skips_write_when_unchanged ... ok
[INFO] [stdout] test commands::up::tests::up_impl_succeeds_with_no_deps_no_env ... ok
[INFO] [stdout] test commands::up::tests::up_impl_calls_env_mgr_setup_when_pm_provides_path_prepends ... ok
[INFO] [stdout] test commands::up::tests::write_lock_includes_dep_name_in_file ... ok
[INFO] [stdout] test commands::up::tests::up_impl_propagates_validate_config_failure ... ok
[INFO] [stdout] test commands::up::tests::write_lock_creates_file ... ok
[INFO] [stdout] test commands::up::tests::write_lock_stores_assigned_port_for_service_with_explicit_port ... ok
[INFO] [stdout] test commands::up::tests::write_lock_persists_randomly_injected_port ... ok
[INFO] [stdout] test config::tests::find_config_finds_devy_yml_in_current_dir ... ok
[INFO] [stdout] test commands::up::tests::write_lock_uses_canonical_name_for_alias ... ok
[INFO] [stdout] test commands::up::tests::up_impl_clears_shadowenv_when_last_env_dep_removed ... ok
[INFO] [stdout] test commands::up::tests::install_binary_after_install_runs_in_project_root ... ok
[INFO] [stdout] test config::tests::load_unknown_hook_key_returns_err ... ok
[INFO] [stdout] test config::tests::find_config_home_guard_fires_when_home_dir_missing ... ok
[INFO] [stdout] test config::tests::find_config_finds_file_at_git_root_from_subdirectory ... ok
[INFO] [stdout] test config::tests::from_configured_uses_custom_shell_and_cwd ... ok
[INFO] [stdout] test config::tests::normalized_deps_after_install_absent_is_none ... ok
[INFO] [stdout] test config::tests::normalized_deps_after_install_preserved ... ok
[INFO] [stdout] test config::tests::load_unknown_top_level_key_returns_err ... ok
[INFO] [stdout] test config::tests::normalized_deps_shell_preserved ... ok
[INFO] [stdout] test config::tests::find_config_stops_at_git_root_when_no_devy_yml ... ok
[INFO] [stdout] test config::tests::from_simple_defaults_to_platform_shell ... ok
[INFO] [stdout] test config::tests::normalized_deps_simple_included ... ok
[INFO] [stdout] test config::tests::find_config_returns_none_when_no_git_and_no_devy_yml_up_to_home ... ok
[INFO] [stdout] test config::tests::versioned_name_no_version ... ok
[INFO] [stdout] test config::tests::normalized_deps_multi_key_configured_returns_err ... ok
[INFO] [stdout] test config::tests::normalized_deps_shell_absent_is_none ... ok
[INFO] [stdout] test config::tests::versioned_name_with_version ... ok
[INFO] [stdout] test config::tests::load_valid_yaml_ok ... ok
[INFO] [stdout] test config::tests::load_invalid_yaml_err ... ok
[INFO] [stdout] test config::tests::load_missing_file_err ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_vars_parses_env_set_lines ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_path_prepends_handles_escaped_quote_in_path ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_path_prepends_round_trips_multiple_entries ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_vars_empty_file_returns_empty_map ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_vars_missing_file_returns_none ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_vars_ignores_non_env_set_lines ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_vars_unescapes_backslash_and_quote ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_is_available_false_when_not_installed ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_is_available_true_when_installed ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_setup_succeeds_when_shadowenv_installed ... ok
[INFO] [stdout] test config::tests::normalized_deps_single_key_configured_succeeds ... ok
[INFO] [stdout] test config::tests::normalized_deps_version_preserved ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_is_available_consistent_with_which ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::read_vars_round_trips_value_with_embedded_quote_space_quote ... ok
[INFO] [stdout] test error::tests::silent_exit_code_zero_displays ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_name_is_shadowenv ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::write_env_file_escapes_special_chars_in_key ... ok
[INFO] [stdout] test lock::tests::deserialize_valid_lock_yaml ... ok
[INFO] [stdout] test lock::tests::get_on_empty_lock_returns_none ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::write_env_file_escapes_special_chars_in_value ... ok
[INFO] [stdout] test error::tests::silent_exit_displays_code ... ok
[INFO] [stdout] test lock::tests::get_returns_dep_when_found ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::unescape_double_backslash_produces_single ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::write_env_file_escapes_carriage_return_in_value ... ok
[INFO] [stdout] test lock::tests::get_returns_none_when_not_found ... ok
[INFO] [stdout] test lock::tests::load_accepts_missing_version_as_v1 ... ok
[INFO] [stdout] test lock::tests::load_rejects_future_version ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_setup_writes_env_file ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::write_env_file_escapes_newline_in_value ... ok
[INFO] [stdout] test lock::tests::load_round_trips_written_file ... ok
[INFO] [stdout] test modules::bun::tests::bun_bin_returns_some_with_non_empty_home ... ok
[INFO] [stdout] test lock::tests::serde_roundtrip_preserves_all_fields ... ok
[INFO] [stdout] test lock::tests::write_does_not_leave_tmp_file ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::write_env_file_creates_directory_and_file ... ok
[INFO] [stdout] test env_manager::shadowenv::tests::shadowenv_setup_fails_when_shadowenv_not_installed ... ok
[INFO] [stdout] test modules::bun::tests::bun_bin_path_contains_home ... ok
[INFO] [stdout] test modules::bun::tests::bun_is_installed_does_not_panic ... ok
[INFO] [stdout] test modules::bun::tests::bun_module_is_not_a_service ... ok
[INFO] [stdout] test modules::bun::tests::bun_is_installed_false_when_not_on_path_and_no_bin_file ... ok
[INFO] [stdout] test modules::bun::tests::bun_is_installed_true_when_bin_file_exists_and_not_on_path ... ok
[INFO] [stdout] test lock::tests::write_content_includes_header_and_dep_name ... ok
[INFO] [stdout] test lock::tests::write_does_not_leave_pid_tmp_file ... ok
[INFO] [stdout] test modules::bun::tests::bun_post_setup_skips_install_when_stamp_matches ... ok
[INFO] [stdout] test modules::bun::tests::bun_resolved_version_contains_dot_when_installed ... ok
[INFO] [stdout] test modules::bun::tests::bun_resolved_version_is_non_empty_when_installed ... ok
[INFO] [stdout] test modules::bun::tests::bun_post_setup_no_package_json_is_noop ... ok
[INFO] [stdout] test modules::bun::tests::bun_install_fails_when_script_exits_nonzero ... ok
[INFO] [stdout] test modules::bun::tests::bun_resolved_version_is_none_when_bun_not_installed ... ok
[INFO] [stdout] test modules::bun::tests::bun_post_setup_prefers_bun_lockb_as_stamp_target ... ok
[INFO] [stdout] test lock::tests::load_returns_none_when_file_absent ... ok
[INFO] [stdout] test lock::tests::load_rejects_version_zero ... ok
[INFO] [stdout] test modules::bun::tests::bun_source_is_bun_installer ... ok
[INFO] [stdout] test modules::crystal::tests::crystal_post_setup_no_shard_yml_is_noop ... ok
[INFO] [stdout] test modules::crystal::tests::crystal_post_setup_prefers_shard_lock_as_stamp_target ... ok
[INFO] [stdout] test modules::crystal::tests::crystal_post_setup_skips_shards_when_stamp_matches ... ok
[INFO] [stdout] test modules::crystal::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::crystal::tests::crystal_module_is_not_a_service ... ok
[INFO] [stdout] test modules::dart::tests::dart_post_setup_no_pubspec_is_noop ... ok
[INFO] [stdout] test modules::dart::tests::dart_module_is_not_a_service ... ok
[INFO] [stdout] test modules::bun::tests::bun_resolved_version_returns_ok ... ok
[INFO] [stdout] test modules::dart::tests::dart_post_setup_prefers_pubspec_lock_as_stamp_target ... ok
[INFO] [stdout] test modules::crystal::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::dart::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::crystal::tests::package_name_winget ... ok
[INFO] [stdout] test modules::dart::tests::package_name_winget ... ok
[INFO] [stdout] test modules::dart::tests::is_installed_false ... ok
[INFO] [stdout] test modules::crystal::tests::is_installed_false ... ok
[INFO] [stdout] test modules::dart::tests::is_installed_true ... ok
[INFO] [stdout] test modules::deno::tests::deno_bin_path_contains_home ... ok
[INFO] [stdout] test modules::dart::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::deno::tests::deno_module_is_not_a_service ... ok
[INFO] [stdout] test modules::deno::tests::deno_is_installed_does_not_panic ... ok
[INFO] [stdout] test modules::deno::tests::deno_post_setup_no_config_file_is_noop ... ok
[INFO] [stdout] test modules::deno::tests::deno_post_setup_skips_install_when_stamp_matches_deno_json ... ok
[INFO] [stdout] test modules::crystal::tests::is_installed_true ... ok
[INFO] [stdout] test modules::deno::tests::deno_bin_returns_some_with_non_empty_home ... ok
[INFO] [stdout] test modules::deno::tests::deno_resolved_version_contains_dot_when_installed ... ok
[INFO] [stdout] test modules::deno::tests::deno_is_installed_false_when_not_on_path_and_no_bin_file ... ok
[INFO] [stdout] test modules::deno::tests::deno_resolved_version_is_non_empty_when_installed ... ok
[INFO] [stdout] test modules::deno::tests::deno_is_installed_true_when_bin_file_exists_and_not_on_path ... ok
[INFO] [stdout] test modules::dart::tests::dart_post_setup_skips_pub_get_when_stamp_matches ... ok
[INFO] [stdout] test modules::deno::tests::deno_post_setup_skips_install_when_stamp_matches_deno_jsonc ... ok
[INFO] [stdout] test modules::deno::tests::deno_source_is_deno_installer ... ok
[INFO] [stdout] test modules::deno::tests::deno_post_setup_prefers_deno_json_over_deno_jsonc ... ok
[INFO] [stdout] test modules::dotnet::tests::find_dotnet_manifest_finds_csproj ... ok
[INFO] [stdout] test modules::dotnet::tests::apt_package_name_includes_major_version ... ok
[INFO] [stdout] test modules::dotnet::tests::brew_package_name_is_dotnet ... ok
[INFO] [stdout] test modules::dotnet::tests::dotnet_module_is_not_a_service ... ok
[INFO] [stdout] test modules::deno::tests::deno_resolved_version_returns_ok ... ok
[INFO] [stdout] test modules::dotnet::tests::major_version_defaults_to_8 ... ok
[INFO] [stdout] test modules::dotnet::tests::is_installed_true ... ok
[INFO] [stdout] test modules::dotnet::tests::major_version_from_bare_number ... ok
[INFO] [stdout] test modules::dotnet::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::deno::tests::deno_resolved_version_is_none_when_not_installed ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_all_three_required ... ok
[INFO] [stdout] test modules::dotnet::tests::major_version_from_full_semver ... ok
[INFO] [stdout] test modules::dotnet::tests::winget_package_name_includes_major_version ... ok
[INFO] [stdout] test modules::dotnet::tests::find_dotnet_manifest_returns_none_for_empty_dir ... ok
[INFO] [stdout] test modules::deno::tests::deno_install_fails_when_script_exits_nonzero ... ok
[INFO] [stdout] test modules::dotnet::tests::dotnet_post_setup_skips_restore_when_stamp_matches ... ok
[INFO] [stdout] test modules::dotnet::tests::is_installed_false ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_yellow_ok ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_empty_ok ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_not_green_is_err ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_red_ok ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_not_red_is_err ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_unknown_returns_err ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_green_ok ... ok
[INFO] [stdout] test modules::elasticsearch::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::elasticsearch::tests::is_installed_false ... ok
[INFO] [stdout] test modules::elasticsearch::tests::classify_status_not_yellow_is_err ... ok
[INFO] [stdout] test modules::elasticsearch::tests::elasticsearch_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::dotnet::tests::find_dotnet_manifest_prefers_sln_over_csproj ... ok
[INFO] [stdout] test modules::elasticsearch::tests::elasticsearch_module_is_service ... ok
[INFO] [stdout] test modules::elasticsearch::tests::is_installed_true ... ok
[INFO] [stdout] test modules::elasticsearch::tests::is_running_true ... ok
[INFO] [stdout] test modules::elasticsearch::tests::health_check_unknown_status_returns_error ... ok
[INFO] [stdout] test modules::elasticsearch::tests::package_name_apt ... ok
[INFO] [stdout] test modules::elasticsearch::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::dotnet::tests::dotnet_post_setup_no_manifest_is_noop ... ok
[INFO] [stdout] test modules::elasticsearch::tests::port_defaults_to_9200 ... ok
[INFO] [stdout] test modules::elasticsearch::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::elasticsearch::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::elasticsearch::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::elasticsearch::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::elasticsearch::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::elixir::tests::elixir_post_setup_prefers_mix_lock_as_stamp_target ... ok
[INFO] [stdout] test modules::elixir::tests::elixir_module_is_not_a_service ... ok
[INFO] [stdout] test modules::elixir::tests::install_does_not_reinstall_erlang_when_already_installed ... ok
[INFO] [stdout] test modules::elixir::tests::install_propagates_erlang_pm_error_when_not_installed ... ok
[INFO] [stdout] test modules::elasticsearch::tests::is_running_false ... ok
[INFO] [stdout] test modules::elixir::tests::install_skips_erlang_when_already_installed ... ok
[INFO] [stdout] test modules::elasticsearch::tests::package_name_winget ... ok
[INFO] [stdout] test modules::elasticsearch::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::elixir::tests::elixir_post_setup_skips_mix_when_stamp_matches ... ok
[INFO] [stdout] test modules::elixir::tests::install_installs_erlang_first_when_not_present ... ok
[INFO] [stdout] test config::tests::from_configured_shell_none_defaults_to_platform_shell ... ok
[INFO] [stdout] test modules::elixir::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::elixir::tests::elixir_post_setup_no_mix_exs_is_noop ... ok
[INFO] [stdout] test modules::elixir::tests::package_name_winget ... ok
[INFO] [stdout] test modules::elixir::tests::install_installs_erlang_then_elixir_when_neither_present ... ok
[INFO] [stdout] test modules::erlang::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::elixir::tests::is_installed_true ... ok
[INFO] [stdout] test modules::elixir::tests::is_installed_false ... ok
[INFO] [stdout] test modules::elixir::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::erlang::tests::package_name_winget ... ok
[INFO] [stdout] test modules::erlang::tests::package_name_apt_default ... ok
[INFO] [stdout] test modules::gcloud::tests::components_empty_when_not_configured ... ok
[INFO] [stdout] test modules::erlang::tests::erlang_post_setup_skips_rebar3_when_stamp_matches ... ok
[INFO] [stdout] test modules::erlang::tests::erlang_module_is_not_a_service ... ok
[INFO] [stdout] test modules::erlang::tests::erlang_post_setup_no_rebar_config_is_noop ... ok
[INFO] [stdout] test modules::erlang::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::erlang::tests::erlang_post_setup_prefers_rebar_lock_as_stamp_target ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_install_brew_does_not_invoke_gcloud_for_components ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_consistent_with_which ... ok
[INFO] [stdout] test modules::gcloud::tests::components_read_from_extra ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_delegates_to_pm_for_winget ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_does_not_panic ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_install_apt_falls_through_to_script_path ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_install_brew_propagates_pm_error ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_false_when_not_on_path ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_install_brew_calls_pm_install_package ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_install_winget_propagates_pm_error ... ok
[INFO] [stdout] test modules::erlang::tests::is_installed_true ... ok
[INFO] [stdout] test modules::erlang::tests::is_installed_false ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_true_when_on_path ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_delegates_to_pm_for_brew ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_is_installed_false_for_brew_when_pm_reports_false ... ok
[INFO] [stdout] test modules::gcloud::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_module_is_not_a_service ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_resolved_version_is_none_when_not_installed ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_source_is_gcloud_installer ... ok
[INFO] [stdout] test modules::gcloud::tests::package_name_apt_returns_google_cloud_sdk ... ok
[INFO] [stdout] test modules::gcloud::tests::sh_quote_escapes_home_with_single_quote ... ok
[INFO] [stdout] test modules::gcloud::tests::sh_quote_escapes_home_with_spaces ... ok
[INFO] [stdout] test modules::generic::tests::generic_install_delegates_to_pm ... ok
[INFO] [stdout] test modules::generic::tests::generic_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::generic::tests::generic_is_installed_delegates_to_pm_false ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_install_apt_script_failure_propagated ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_resolved_version_contains_dot_when_installed ... ok
[INFO] [stdout] test modules::gcloud::tests::package_name_winget ... ok
[INFO] [stdout] test modules::generic::tests::generic_is_installed_delegates_to_pm_true ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_post_setup_skips_gcloud_when_stamp_matches ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_post_setup_stamp_matches_regardless_of_order ... ok
[INFO] [stdout] test modules::java::tests::java_is_not_a_service ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_post_setup_no_components_is_noop ... ok
[INFO] [stdout] test modules::gcloud::tests::gcloud_resolved_version_returns_ok ... ok
[INFO] [stdout] test modules::java::tests::java_not_installed_when_pm_reports_false ... ok
[INFO] [stdout] test modules::java::tests::java_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::java::tests::java_is_installed_delegates_to_pm ... ok
[INFO] [stdout] test modules::generic::tests::generic_module_is_not_a_service ... ok
[INFO] [stdout] test modules::java::tests::java_env_vars_returns_map ... ok
[INFO] [stdout] test modules::java::tests::java_path_prepends_contains_java_home_bin_when_detected ... ok
[INFO] [stdout] test modules::java::tests::java_post_setup_no_build_file_is_noop ... ok
[INFO] [stdout] test modules::kafka::tests::is_installed_false ... ok
[INFO] [stdout] test modules::java::tests::pkg_name_apt ... ok
[INFO] [stdout] test modules::java::tests::pkg_name_winget_defaults_to_21 ... ok
[INFO] [stdout] test modules::java::tests::java_post_setup_prefers_maven_over_gradle_when_both_present ... ok
[INFO] [stdout] test modules::kafka::tests::is_installed_true ... ok
[INFO] [stdout] test modules::java::tests::pkg_name_winget_uses_major_from_semver ... ok
[INFO] [stdout] test modules::java::tests::java_post_setup_skips_gradle_when_stamp_matches ... ok
[INFO] [stdout] test modules::java::tests::pkg_name_brew ... ok
[INFO] [stdout] test modules::java::tests::java_post_setup_skips_maven_when_stamp_matches ... ok
[INFO] [stdout] test modules::kafka::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::kafka::tests::kafka_module_is_service ... ok
[INFO] [stdout] test modules::kafka::tests::package_name_winget ... ok
[INFO] [stdout] test modules::kafka::tests::is_running_false ... ok
[INFO] [stdout] test modules::kafka::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::kafka::tests::start_in_kraft_mode_skips_zookeeper ... ok
[INFO] [stdout] test modules::kafka::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::java::tests::pkg_name_winget_uses_version_field ... ok
[INFO] [stdout] test modules::kafka::tests::stop_classic_mode_warns_on_zookeeper_stop_failure_when_kafka_stops_ok ... ok
[INFO] [stdout] test modules::kafka::tests::stop_in_classic_mode_stops_zookeeper ... ok
[INFO] [stdout] test modules::kafka::tests::stop_in_classic_mode_warns_when_zookeeper_stop_fails ... ok
[INFO] [stdout] test modules::kafka::tests::stop_in_kraft_mode_skips_zookeeper ... ok
[INFO] [stdout] test modules::kafka::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::kotlin::tests::is_installed_false ... ok
[INFO] [stdout] test modules::kotlin::tests::is_installed_true ... ok
[INFO] [stdout] test modules::kotlin::tests::kotlin_module_is_not_a_service ... ok
[INFO] [stdout] test modules::kafka::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::kafka::tests::kraft_mode_defaults_to_false ... ok
[INFO] [stdout] test modules::kotlin::tests::kotlin_post_setup_no_build_file_is_noop ... ok
[INFO] [stdout] test modules::kafka::tests::kraft_mode_reads_true ... ok
[INFO] [stdout] test modules::kotlin::tests::package_name_apt_default ... ok
[INFO] [stdout] test modules::kafka::tests::start_in_classic_mode_attempts_zookeeper ... ok
[INFO] [stdout] test modules::kotlin::tests::kotlin_post_setup_skips_gradle_when_stamp_matches ... ok
[INFO] [stdout] test modules::kafka::tests::is_running_true ... ok
[INFO] [stdout] test modules::mailhog::tests::env_vars_includes_smtp_host_and_default_port ... ok
[INFO] [stdout] test modules::kafka::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::kafka::tests::port_defaults_to_9092 ... ok
[INFO] [stdout] test modules::mailhog::tests::env_vars_reflects_custom_smtp_port ... ok
[INFO] [stdout] test modules::kafka::tests::kafka_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::mailhog::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::kotlin::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::mailhog::tests::is_installed_false ... ok
[INFO] [stdout] test modules::mailhog::tests::mailhog_module_is_service ... ok
[INFO] [stdout] test modules::mailhog::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::mailhog::tests::package_name_winget ... ok
[INFO] [stdout] test modules::mailhog::tests::port_key_is_smtp_port ... ok
[INFO] [stdout] test modules::mailhog::tests::resolve_service_ports_injects_into_smtp_port_key ... ok
[INFO] [stdout] test modules::mailhog::tests::is_installed_true ... ok
[INFO] [stdout] test modules::mailhog::tests::smtp_port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::mailhog::tests::smtp_port_defaults_to_1025 ... ok
[INFO] [stdout] test modules::mailhog::tests::smtp_port_reads_custom_value ... ok
[INFO] [stdout] test modules::mailhog::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::mailhog::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::kotlin::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::kotlin::tests::package_name_winget ... ok
[INFO] [stdout] test modules::mailhog::tests::mailhog_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::mailhog::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::mailhog::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::mariadb::tests::cli_args_absent_returns_none ... ok
[INFO] [stdout] test modules::mariadb::tests::is_installed_false ... ok
[INFO] [stdout] test modules::mariadb::tests::cli_args_present_returns_string ... ok
[INFO] [stdout] test modules::mariadb::tests::is_running_false ... ok
[INFO] [stdout] test modules::mariadb::tests::is_running_true ... ok
[INFO] [stdout] test modules::mariadb::tests::mariadb_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::mariadb::tests::package_name_apt ... ok
[INFO] [stdout] test modules::mariadb::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::mariadb::tests::package_name_winget ... ok
[INFO] [stdout] test modules::mariadb::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::mariadb::tests::port_defaults_to_3306 ... ok
[INFO] [stdout] test modules::mariadb::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::mariadb::tests::post_setup_skips_config_when_default_port_no_args ... ok
[INFO] [stdout] test modules::mariadb::tests::env_vars_custom_port ... ok
[INFO] [stdout] test modules::mailhog::tests::is_running_false ... ok
[INFO] [stdout] test modules::mailhog::tests::is_running_true ... ok
[INFO] [stdout] test modules::mariadb::tests::env_vars_default_port ... ok
[INFO] [stdout] test modules::mariadb::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::mariadb::tests::post_setup_writes_config_when_default_port_but_cli_args_set ... ok
[INFO] [stdout] test modules::mariadb::tests::service_name_is_always_mariadb ... ok
[INFO] [stdout] test modules::mariadb::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::mariadb::tests::is_installed_true ... ok
[INFO] [stdout] test modules::mariadb::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::mariadb::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::meilisearch::tests::is_installed_true ... ok
[INFO] [stdout] test modules::meilisearch::tests::is_installed_false ... ok
[INFO] [stdout] test modules::meilisearch::tests::env_vars_includes_master_key_when_configured ... ok
[INFO] [stdout] test modules::meilisearch::tests::is_running_false ... ok
[INFO] [stdout] test modules::mariadb::tests::mariadb_module_is_service ... ok
[INFO] [stdout] test modules::meilisearch::tests::env_vars_empty_when_no_master_key ... ok
[INFO] [stdout] test modules::mariadb::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::meilisearch::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::meilisearch::tests::meilisearch_module_is_service ... ok
[INFO] [stdout] test modules::meilisearch::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::meilisearch::tests::is_running_true ... ok
[INFO] [stdout] test modules::meilisearch::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::memcached::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::meilisearch::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::meilisearch::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::meilisearch::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::meilisearch::tests::meilisearch_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::meilisearch::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::memcached::tests::is_running_false ... ok
[INFO] [stdout] test modules::memcached::tests::package_name_winget ... ok
[INFO] [stdout] test modules::memcached::tests::is_installed_false ... ok
[INFO] [stdout] test modules::memcached::tests::is_installed_true ... ok
[INFO] [stdout] test modules::memcached::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::memcached::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::memcached::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::memcached::tests::is_running_true ... ok
[INFO] [stdout] test modules::memcached::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::memcached::tests::memcached_module_is_service ... ok
[INFO] [stdout] test modules::memcached::tests::memcached_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::memcached::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::minio::tests::config_warnings_empty_when_no_credentials ... ok
[INFO] [stdout] test modules::memcached::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_does_not_warn_at_runtime ... ok
[INFO] [stdout] test modules::meilisearch::tests::package_name_winget ... ok
[INFO] [stdout] test modules::memcached::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::meilisearch::tests::port_defaults_to_7700 ... ok
[INFO] [stdout] test modules::memcached::tests::port_defaults_to_11211 ... ok
[INFO] [stdout] test modules::meilisearch::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_empty_when_no_keys_configured ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_includes_credentials_when_configured ... ok
[INFO] [stdout] test modules::minio::tests::is_installed_true ... ok
[INFO] [stdout] test modules::minio::tests::is_running_false ... ok
[INFO] [stdout] test modules::minio::tests::is_running_true ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_includes_console_address_when_configured ... ok
[INFO] [stdout] test modules::minio::tests::minio_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::minio::tests::minio_module_is_service ... ok
[INFO] [stdout] test modules::minio::tests::package_name_winget ... ok
[INFO] [stdout] test modules::minio::tests::port_defaults_to_9000 ... ok
[INFO] [stdout] test modules::minio::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::minio::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_omits_console_address_when_not_configured ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_empty_returns_empty_not_non_empty ... ok
[INFO] [stdout] test modules::minio::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::minio::tests::is_installed_false ... ok
[INFO] [stdout] test modules::minio::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::minio::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::minio::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::mongodb::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::mongodb::tests::is_installed_true ... ok
[INFO] [stdout] test modules::mongodb::tests::is_running_true ... ok
[INFO] [stdout] test modules::mongodb::tests::mongodb_module_is_service ... ok
[INFO] [stdout] test modules::minio::tests::config_warnings_non_empty_when_access_key_configured ... ok
[INFO] [stdout] test modules::mongodb::tests::is_running_false ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_no_warn_when_only_console_port_set ... ok
[INFO] [stdout] test modules::mongodb::tests::mongodb_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::mongodb::tests::package_name_apt ... ok
[INFO] [stdout] test modules::mongodb::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::mongodb::tests::package_name_winget ... ok
[INFO] [stdout] test modules::mongodb::tests::port_defaults_to_27017 ... ok
[INFO] [stdout] test modules::mongodb::tests::service_name_ignores_dep_name ... ok
[INFO] [stdout] test modules::minio::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::mongodb::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::minio::tests::env_vars_non_empty_returns_non_empty ... ok
[INFO] [stdout] test modules::mongodb::tests::is_installed_false ... ok
[INFO] [stdout] test modules::mongodb::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::minio::tests::config_warnings_empty_when_only_console_port_set ... ok
[INFO] [stdout] test modules::mongodb::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::mysql::tests::cli_args_absent_returns_none ... ok
[INFO] [stdout] test modules::mysql::tests::cli_args_present_returns_string ... ok
[INFO] [stdout] test modules::mongodb::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::mysql::tests::env_vars_default_port ... ok
[INFO] [stdout] test modules::mysql::tests::env_vars_custom_port ... ok
[INFO] [stdout] test modules::mysql::tests::is_installed_false ... ok
[INFO] [stdout] test modules::mysql::tests::is_installed_true ... ok
[INFO] [stdout] test modules::mysql::tests::is_running_false ... ok
[INFO] [stdout] test modules::mysql::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::mysql::tests::package_name_winget ... ok
[INFO] [stdout] test modules::mysql::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::minio::tests::config_warnings_non_empty_when_secret_key_configured ... ok
[INFO] [stdout] test modules::mysql::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::mysql::tests::is_running_true ... ok
[INFO] [stdout] test modules::mysql::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::mysql::tests::mysql_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::mysql::tests::mysql_module_is_service ... ok
[INFO] [stdout] test modules::mysql::tests::package_name_apt ... ok
[INFO] [stdout] test modules::mysql::tests::post_setup_skips_config_when_default_port_no_args ... ok
[INFO] [stdout] test modules::mysql::tests::port_defaults_to_3306 ... ok
[INFO] [stdout] test modules::nginx::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::mysql::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::nginx::tests::is_installed_true ... ok
[INFO] [stdout] test modules::mysql::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::nginx::tests::is_running_true ... ok
[INFO] [stdout] test modules::mysql::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::mysql::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::nginx::tests::is_installed_false ... ok
[INFO] [stdout] test modules::mysql::tests::post_setup_writes_config_when_custom_port_and_config_dir_available ... ok
[INFO] [stdout] test modules::mysql::tests::port_ignores_non_numeric_value ... ok
[INFO] [stdout] test modules::nginx::tests::nginx_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::mysql::tests::post_setup_writes_config_when_default_port_but_cli_args_set ... ok
[INFO] [stdout] test modules::nginx::tests::is_running_false ... ok
[INFO] [stdout] test modules::nginx::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::nginx::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::nginx::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::nginx::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::nginx::tests::port_defaults_to_80 ... ok
[INFO] [stdout] test modules::nginx::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::node::tests::detect_node_pm_detects_yarn_from_lockfile ... ok
[INFO] [stdout] test modules::node::tests::node_module_is_not_a_service ... ok
[INFO] [stdout] test modules::nginx::tests::nginx_module_is_service ... ok
[INFO] [stdout] test modules::nginx::tests::package_name_winget ... ok
[INFO] [stdout] test modules::node::tests::detect_node_pm_pnpm_takes_priority_over_yarn ... ok
[INFO] [stdout] test modules::node::tests::node_install_without_global_packages_does_not_run_npm ... ok
[INFO] [stdout] test modules::node::tests::node_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::nginx::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::node::tests::detect_node_pm_defaults_to_npm_when_no_lockfile ... ok
[INFO] [stdout] test modules::node::tests::detect_node_pm_detects_npm_from_lockfile ... ok
[INFO] [stdout] test modules::node::tests::node_post_setup_skips_npm_when_stamp_matches ... ok
[INFO] [stdout] test modules::node::tests::detect_node_pm_detects_pnpm_from_lockfile ... ok
[INFO] [stdout] test modules::opensearch::tests::opensearch_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::opensearch::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::opensearch::tests::is_running_true ... ok
[INFO] [stdout] test modules::node::tests::node_post_setup_no_global_packages_is_noop ... ok
[INFO] [stdout] test modules::opensearch::tests::is_installed_true ... ok
[INFO] [stdout] test modules::node::tests::node_is_installed_delegates_to_pm ... ok
[INFO] [stdout] test modules::opensearch::tests::is_running_false ... ok
[INFO] [stdout] test modules::node::tests::node_post_setup_skips_local_install_when_stamp_matches ... ok
[INFO] [stdout] test modules::opensearch::tests::package_name_winget ... ok
[INFO] [stdout] test modules::node::tests::node_post_setup_stamp_matches_multiple_packages ... ok
[INFO] [stdout] test modules::opensearch::tests::is_installed_false ... ok
[INFO] [stdout] test modules::opensearch::tests::opensearch_module_is_service ... ok
[INFO] [stdout] test modules::opensearch::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::opensearch::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::postgres::tests::env_vars_custom_port ... ok
[INFO] [stdout] test modules::postgres::tests::env_vars_default_port ... ok
[INFO] [stdout] test modules::postgres::tests::is_running_true ... ok
[INFO] [stdout] test modules::postgres::tests::package_name_apt ... ok
[INFO] [stdout] test modules::postgres::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::postgres::tests::package_name_winget ... ok
[INFO] [stdout] test modules::postgres::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::postgres::tests::port_defaults_to_5432 ... ok
[INFO] [stdout] test modules::postgres::tests::is_running_false ... ok
[INFO] [stdout] test modules::postgres::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::postgres::tests::is_installed_true ... ok
[INFO] [stdout] test modules::opensearch::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::opensearch::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::opensearch::tests::port_defaults_to_9200 ... ok
[INFO] [stdout] test modules::opensearch::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::postgres::tests::is_installed_false ... ok
[INFO] [stdout] test modules::postgres::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::opensearch::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::postgres::tests::postgres_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::postgres::tests::postgres_module_is_service ... ok
[INFO] [stdout] test modules::postgres::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::postgres::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::opensearch::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::postgres::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::postgres::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::postgres::tests::post_setup_skips_config_for_default_port ... ok
[INFO] [stdout] test modules::python::tests::detect_install_cmd_explicit_override_returns_shell_variant ... ok
[INFO] [stdout] test modules::postgres::tests::service_name_is_always_postgresql ... ok
[INFO] [stdout] test modules::python::tests::detect_install_cmd_requirements_txt_returns_direct_variant ... ok
[INFO] [stdout] test modules::python::tests::detect_install_cmd_pyproject_toml_preferred_over_requirements ... ok
[INFO] [stdout] test modules::python::tests::pkg_name_brew ... ok
[INFO] [stdout] test modules::postgres::tests::post_setup_writes_config_for_non_default_port ... ok
[INFO] [stdout] test modules::python::tests::pkg_name_winget ... ok
[INFO] [stdout] test modules::python::tests::post_setup_no_requirements_no_pyproject_is_noop ... ok
[INFO] [stdout] test modules::python::tests::python_is_installed_delegates_to_pm ... ok
[INFO] [stdout] test modules::python::tests::python_is_not_a_service ... ok
[INFO] [stdout] test modules::postgres::tests::write_config_creates_conf_file ... ok
[INFO] [stdout] test modules::python::tests::python_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::python::tests::manifest_for_stamp_and_detect_install_cmd_agree_on_precedence ... ok
[INFO] [stdout] test modules::python::tests::python_not_installed_when_pm_reports_false ... ok
[INFO] [stdout] test modules::python::tests::venv_path_default_is_dot_venv ... ok
[INFO] [stdout] test modules::python::tests::python_path_prepends_points_into_venv ... ok
[INFO] [stdout] test modules::rabbitmq::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::rabbitmq::tests::is_running_true ... ok
[INFO] [stdout] test modules::rabbitmq::tests::package_name_apt ... ok
[INFO] [stdout] test modules::python::tests::pkg_name_apt ... ok
[INFO] [stdout] test modules::python::tests::venv_path_custom_from_extra ... ok
[INFO] [stdout] test modules::python::tests::python_env_vars_contains_virtual_env ... ok
[INFO] [stdout] test modules::rabbitmq::tests::package_name_winget ... ok
[INFO] [stdout] test modules::rabbitmq::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::rabbitmq::tests::port_defaults_to_5672 ... ok
[INFO] [stdout] test modules::rabbitmq::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::rabbitmq::tests::is_installed_false ... ok
[INFO] [stdout] test modules::rabbitmq::tests::is_installed_true ... ok
[INFO] [stdout] test modules::rabbitmq::tests::is_running_false ... ok
[INFO] [stdout] test modules::rabbitmq::tests::rabbitmq_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::rabbitmq::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::rabbitmq::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::rabbitmq::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::rabbitmq::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::redis::tests::env_vars_custom_port ... ok
[INFO] [stdout] test modules::redis::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::redis::tests::package_name_apt ... ok
[INFO] [stdout] test modules::redis::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::redis::tests::is_installed_false ... ok
[INFO] [stdout] test modules::rabbitmq::tests::rabbitmq_module_is_service ... ok
[INFO] [stdout] test modules::redis::tests::is_running_false ... ok
[INFO] [stdout] test modules::redis::tests::is_installed_true ... ok
[INFO] [stdout] test modules::redis::tests::package_name_winget ... ok
[INFO] [stdout] test modules::redis::tests::redis_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::redis::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::redis::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test modules::ruby::tests::default_ruby_version_is_semver ... ok
[INFO] [stdout] test modules::ruby::tests::rbenv_has_any_version_returns_false_for_empty_output ... ok
[INFO] [stdout] test modules::ruby::tests::rbenv_has_any_version_returns_false_for_whitespace_only ... ok
[INFO] [stdout] test modules::ruby::tests::rbenv_has_any_version_returns_true_when_versions_listed ... ok
[INFO] [stdout] test modules::redis::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::redis::tests::redis_module_is_service ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_path_prepends_contains_bin_and_shims ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_post_setup_no_gemfile_skips_bundle_when_rbenv_absent ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_resolved_version_returns_pinned_version_when_set ... ok
[INFO] [stdout] test modules::redis::tests::env_vars_default_port ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_post_setup_preserves_existing_ruby_version_when_no_dep_version ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_resolved_version_winget_delegates_to_pm ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_winget_is_installed_delegates_to_pm ... ok
[INFO] [stdout] test modules::rabbitmq::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::redis::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_post_setup_writes_ruby_version_file ... ok
[INFO] [stdout] test modules::ruby::tests::winget_package_id_defaults_to_ruby3 ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_module_is_not_a_service ... ok
[INFO] [stdout] test modules::redis::tests::is_running_true ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_env_vars_contains_rbenv_root_when_home_set ... ok
[INFO] [stdout] test modules::rust::tests::rust_install_fails_for_invalid_toolchain ... ok
[INFO] [stdout] test modules::rust::tests::rust_is_installed_false_when_neither_on_path ... ok
[INFO] [stdout] test modules::rust::tests::rust_is_installed_true_when_cargo_on_path ... ok
[INFO] [stdout] test modules::ruby::tests::winget_package_id_derives_major_from_version ... ok
[INFO] [stdout] test modules::rust::tests::rust_install_rustup_script_failure_propagated ... ok
[INFO] [stdout] test modules::rust::tests::rust_install_rustup_script_success_does_not_bail ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_source_is_rbenv ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_winget_install_delegates_to_pm ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_winget_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::ruby::tests::ruby_winget_not_installed_when_pm_reports_false ... ok
[INFO] [stdout] test modules::rust::tests::rust_is_installed_true_when_rustup_on_path ... ok
[INFO] [stdout] test modules::rust::tests::rust_is_installed_does_not_panic ... ok
[INFO] [stdout] test modules::rust::tests::rust_module_source_is_rustup ... ok
[INFO] [stdout] test modules::rust::tests::rust_post_setup_no_cargo_toml_is_noop ... ok
[INFO] [stdout] test modules::rust::tests::rust_post_setup_skips_cargo_fetch_when_stamp_matches ... ok
[INFO] [stdout] test modules::rust::tests::rust_post_setup_prefers_cargo_lock_as_stamp_target ... ok
[INFO] [stdout] test modules::rust::tests::rust_resolved_version_is_none_when_rustc_absent ... ok
[INFO] [stdout] test modules::rust::tests::toolchain_defaults_to_stable ... ok
[INFO] [stdout] test modules::rust::tests::toolchain_reads_custom_value ... ok
[INFO] [stdout] test modules::rust::tests::toolchain_reads_pinned_version ... ok
[INFO] [stdout] test modules::tests::alias_targets_exist_in_registry ... ok
[INFO] [stdout] test modules::tests::alias_names_do_not_shadow_registry_names ... ok
[INFO] [stdout] test modules::rust::tests::rustup_bin_path_contains_home ... ok
[INFO] [stdout] test modules::tests::default_env_vars_returns_empty_map ... ok
[INFO] [stdout] test modules::rust::tests::rustup_bin_returns_some_with_non_empty_home ... ok
[INFO] [stdout] test modules::tests::default_service_name_different_names ... ok
[INFO] [stdout] test modules::tests::extra_port_bails_on_overflow ... ok
[INFO] [stdout] test modules::tests::default_is_running_returns_false ... ok
[INFO] [stdout] test modules::tests::default_resolved_version_delegates_to_pm ... ok
[INFO] [stdout] test modules::tests::default_service_name_returns_dep_name ... ok
[INFO] [stdout] test modules::tests::extra_port_uses_provided_key_name ... ok
[INFO] [stdout] test modules::tests::extra_port_returns_custom_value ... ok
[INFO] [stdout] test modules::tests::extra_strs_non_sequence_value_returns_empty ... ok
[INFO] [stdout] test modules::tests::extra_strs_sequence_returns_strings ... ok
[INFO] [stdout] test modules::tests::default_resolved_version_delegates_to_pm_returns_some_when_pm_has_version ... ok
[INFO] [stdout] test modules::tests::extra_port_bails_on_zero ... ok
[INFO] [stdout] test modules::tests::get_bun_source_is_bun_installer ... ok
[INFO] [stdout] test modules::tests::get_crystal_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::extra_port_returns_default_when_key_absent ... ok
[INFO] [stdout] test modules::tests::extra_strs_missing_key_returns_empty ... ok
[INFO] [stdout] test modules::tests::get_awscli_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_azure_cli_aliases_resolve ... ok
[INFO] [stdout] test modules::tests::get_azure_cli_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_crystal_routes_to_crystal_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_dart_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::get_deno_source_is_deno_installer ... ok
[INFO] [stdout] test modules::tests::get_elixir_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::get_dotnet_aliases_resolve ... ok
[INFO] [stdout] test modules::tests::get_awscli_aliases_resolve ... ok
[INFO] [stdout] test modules::tests::get_elixir_routes_to_elixir_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_erlang_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::get_erlang_routes_to_erlang_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_gcloud_source_is_gcloud_installer ... ok
[INFO] [stdout] test modules::tests::get_gh_aliases_resolve ... ok
[INFO] [stdout] test modules::tests::get_dotnet_routes_to_dotnet_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_elasticsearch_is_service ... ok
[INFO] [stdout] test modules::tests::get_go_routes_to_package_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_kafka_is_service ... ok
[INFO] [stdout] test modules::tests::get_kotlin_routes_to_kotlin_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_kubectl_aliases_resolve ... ok
[INFO] [stdout] test modules::tests::get_kubectl_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_language_aliases_are_not_services ... ok
[INFO] [stdout] test modules::tests::get_mailhog_is_service ... ok
[INFO] [stdout] test modules::tests::get_dart_routes_to_dart_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_helm_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_gh_routes_to_package_module_not_generic_on_winget ... ok
[INFO] [stdout] test modules::tests::get_java_routes_to_package_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_helm_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::get_mariadb_is_service ... ok
[INFO] [stdout] test modules::tests::get_meilisearch_is_service ... ok
[INFO] [stdout] test modules::tests::get_minio_is_service ... ok
[INFO] [stdout] test modules::tests::get_mongodb_is_service ... ok
[INFO] [stdout] test modules::tests::get_node_routes_to_node_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_mysql_is_service ... ok
[INFO] [stdout] test modules::tests::get_opensearch_is_service ... ok
[INFO] [stdout] test modules::tests::get_php_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_python_routes_to_package_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_gh_routes_to_package_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_rabbitmq_is_service ... ok
[INFO] [stdout] test modules::tests::get_postgres_is_service ... ok
[INFO] [stdout] test modules::tests::get_nginx_is_service ... ok
[INFO] [stdout] test modules::tests::get_memcached_is_service ... ok
[INFO] [stdout] test modules::tests::get_node_aliases_resolve ... ok
[INFO] [stdout] test modules::tests::get_ruby_routes_to_ruby_module ... ok
[INFO] [stdout] test modules::tests::get_rust_source_is_rustup ... ok
[INFO] [stdout] test modules::tests::get_terraform_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::get_typescript_routes_to_typescript_module_on_apt ... ok
[INFO] [stdout] test modules::tests::get_unknown_falls_back_to_generic ... ok
[INFO] [stdout] test modules::tests::get_vault_is_service ... ok
[INFO] [stdout] test modules::tests::get_scala_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_swift_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_terraform_routes_to_package_module_on_winget ... ok
[INFO] [stdout] test modules::tests::get_redis_is_service ... ok
[INFO] [stdout] test modules::tests::node_pkg_winget ... ok
[INFO] [stdout] test modules::tests::get_zig_is_not_a_service ... ok
[INFO] [stdout] test modules::tests::get_zig_routes_to_zig_module_on_winget ... ok
[INFO] [stdout] test modules::tests::node_pkg_brew_default ... ok
[INFO] [stdout] test modules::tests::package_module_name_for_apt ... ok
[INFO] [stdout] test modules::tests::package_module_name_for_default ... ok
[INFO] [stdout] test modules::tests::package_module_name_for_nix ... ok
[INFO] [stdout] test modules::tests::package_module_name_for_winget ... ok
[INFO] [stdout] test modules::tests::pm_dep_replaces_name_preserves_other_fields ... ok
[INFO] [stdout] test modules::tests::node_pkg_apt ... ok
[INFO] [stdout] test modules::tests::package_module_is_installed_false ... ok
[INFO] [stdout] test modules::tests::registry_names_are_unique ... ok
[INFO] [stdout] test modules::tests::package_module_is_installed_true ... ok
[INFO] [stdout] test modules::tests::wait_for_ready_fails_with_context_after_max_attempts ... ok
[INFO] [stdout] test modules::tests::wait_for_ready_succeeds_immediately_when_healthy ... ok
[INFO] [stdout] test modules::tests::wait_for_stopped_fails_after_max_attempts ... ok
[INFO] [stdout] test modules::tests::wait_for_stopped_retries_until_stopped ... ok
[INFO] [stdout] test modules::tests::package_module_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::tests::wait_for_stopped_returns_ok_when_already_stopped ... ok
[INFO] [stdout] test modules::tests::wait_for_ready_retries_until_healthy ... ok
[INFO] [stdout] test modules::tests::wait_for_ready_returns_err_when_max_attempts_is_zero ... ok
[INFO] [stdout] test modules::tests::wait_for_stopped_returns_err_when_max_attempts_is_zero ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_accepts_value_without_newline_or_null ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_accepts_valid_double_dash_arg ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_carriage_return_splits_token ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_rejects_key_with_special_chars ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_rejects_value_with_null_byte ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_includes_port ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_rejects_bare_key_value_without_double_dash ... ok
[INFO] [stdout] test modules::tests::run_cmd_succeeds_on_true ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_skips_args_without_equals ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_install_propagates_pm_error ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_is_installed_checks_node_formula ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_is_installed_false ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_module_is_not_a_service ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_post_setup_no_package_json_is_noop ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_install_calls_install_package ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_post_setup_skips_install_when_stamp_matches ... ok
[INFO] [stdout] test modules::typescript::tests::typescript_source_is_none ... ok
[INFO] [stdout] test modules::tests::write_mysql_config_treats_newline_in_args_as_separator ... ok
[INFO] [stdout] test modules::tests::run_cmd_error_message_contains_program_name ... ok
[INFO] [stdout] test modules::tests::run_cmd_fails_on_false ... ok
[INFO] [stdout] test modules::vault::tests::dev_mode_defaults_to_false ... ok
[INFO] [stdout] test modules::vault::tests::dev_mode_reads_true ... ok
[INFO] [stdout] test modules::vault::tests::env_vars_addr_uses_custom_port ... ok
[INFO] [stdout] test modules::vault::tests::env_vars_always_includes_vault_addr ... ok
[INFO] [stdout] test modules::vault::tests::is_installed_false ... ok
[INFO] [stdout] test modules::vault::tests::is_running_false ... ok
[INFO] [stdout] test modules::vault::tests::package_name_winget ... ok
[INFO] [stdout] test modules::vault::tests::port_bails_on_out_of_range ... ok
[INFO] [stdout] test modules::vault::tests::port_defaults_to_8200 ... ok
[INFO] [stdout] test modules::vault::tests::port_reads_custom_value ... ok
[INFO] [stdout] test modules::vault::tests::post_setup_no_warn_without_dev_mode ... ok
[INFO] [stdout] test modules::vault::tests::env_vars_includes_vault_token_in_dev_mode ... ok
[INFO] [stdout] test modules::vault::tests::post_setup_returns_err_on_invalid_port ... ok
[INFO] [stdout] test modules::vault::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::vault::tests::is_installed_true ... ok
[INFO] [stdout] test modules::vault::tests::is_running_true ... ok
[INFO] [stdout] test modules::vault::tests::stop_delegates_to_pm ... ok
[INFO] [stdout] test modules::vault::tests::post_setup_warns_in_dev_mode ... ok
[INFO] [stdout] test modules::vault::tests::start_delegates_to_pm ... ok
[INFO] [stdout] test modules::vault::tests::vault_health_check_fails_on_unused_port ... ok
[INFO] [stdout] test modules::vault::tests::vault_module_is_service ... ok
[INFO] [stdout] test modules::zig::tests::is_installed_false ... ok
[INFO] [stdout] test modules::zig::tests::package_name_brew_default ... ok
[INFO] [stdout] test modules::zig::tests::install_propagates_pm_error ... ok
[INFO] [stdout] test modules::zig::tests::package_name_winget ... ok
[INFO] [stdout] test modules::zig::tests::zig_post_setup_no_build_zon_is_noop ... ok
[INFO] [stdout] test modules::rust::tests::rust_resolved_version_prefers_which_over_home_path ... ok
[INFO] [stdout] test output::tests::output_functions_accept_arbitrary_messages ... ok
[INFO] [stdout] test modules::vault::tests::package_name_brew_default ... ok
[INFO] [stdout] test output::tests::warn_capture_resets_after_closure ... ok
[INFO] [stdout] test modules::vault::tests::start_propagates_pm_error ... ok
[INFO] [stdout] test modules::zig::tests::is_installed_true ... ok
[INFO] [stdout] test modules::zig::tests::zig_module_is_not_a_service ... ok
[INFO] [stdout] test package_manager::apt::tests::apt_service_config_dir_mariadb_returns_etc_mysql ... ok
[INFO] [stdout] test package_manager::apt::tests::apt_service_config_dir_unknown_returns_none ... ok
[INFO] [stdout] test package_manager::apt::tests::installed_version_matches_returns_false_on_version_mismatch ... ok
[INFO] [stdout] test modules::zig::tests::zig_post_setup_skips_build_when_stamp_matches ... ok
[INFO] [stdout] test package_manager::apt::tests::installed_version_matches_returns_false_when_not_installed ... ok
[INFO] [stdout] test package_manager::apt::tests::parse_dpkg_version_returns_none_on_empty_stdout ... ok
[INFO] [stdout] test package_manager::apt::tests::installed_version_matches_returns_true_on_exact_match ... ok
[INFO] [stdout] test modules::rust::tests::rust_resolved_version_contains_dot_when_rustc_installed ... ok
[INFO] [stdout] test package_manager::apt::tests::parse_systemctl_status_active_returns_true ... ok
[INFO] [stdout] test package_manager::apt::tests::parse_dpkg_version_returns_none_on_failure ... ok
[INFO] [stdout] test package_manager::apt::tests::parse_systemctl_status_inactive_returns_false ... ok
[INFO] [stdout] test output::tests::warn_capture_counts_calls ... ok
[INFO] [stdout] test package_manager::apt::tests::apt_service_config_dir_mysql_returns_etc_mysql ... ok
[INFO] [stdout] test package_manager::apt::tests::parse_dpkg_version_returns_version_on_success ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_bin_falls_back_to_hardcoded_when_prefix_absent ... ok
[INFO] [stdout] test package_manager::apt::tests::apt_name_is_apt ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_bin_prefers_which_when_prefix_set ... ok
[INFO] [stdout] test package_manager::apt::tests::service_config_dir_impl_mysql_ignores_base ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_bin_returns_non_empty_path ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_bin_uses_homebrew_prefix_when_brew_not_on_path ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_full_node_lock_version_returns_base_name ... ok
[INFO] [stdout] test package_manager::apt::tests::service_config_dir_impl_postgresql_returns_none_when_no_versions ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_major_minor_pin_appends_version ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_major_pin_appends_version ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_no_version_returns_base_name ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_python_lock_version_returns_base_name ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_resolved_version_returns_base_name ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_name_is_brew ... ok
[INFO] [stdout] test package_manager::brew::tests::ensure_available_returns_err_without_bootstrap_flag ... ok
[INFO] [stdout] test package_manager::brew::tests::is_formula_pin_major_minor ... ok
[INFO] [stdout] test package_manager::apt::tests::service_config_dir_impl_unknown_service_returns_none ... ok
[INFO] [stdout] test package_manager::apt::tests::service_config_dir_impl_postgres_alias_returns_highest_version ... ok
[INFO] [stdout] test package_manager::brew::tests::is_formula_pin_major_only ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_service_info_json_returns_err_on_empty_array ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_service_info_json_returns_false_on_malformed_json ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_service_info_json_returns_false_when_running_absent ... ok
[INFO] [stdout] test package_manager::apt::tests::service_config_dir_impl_postgresql_returns_highest_version ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_service_info_json_returns_err_on_non_array ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_service_info_json_returns_false_when_stopped ... ok
[INFO] [stdout] test package_manager::brew::tests::is_formula_pin_rejects_three_parts ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_service_info_json_returns_true_when_running ... ok
[INFO] [stdout] test package_manager::brew::tests::validate_tap_rejects_path_components ... ok
[INFO] [stdout] test package_manager::brew::tests::validate_tap_rejects_shell_special_chars ... ok
[INFO] [stdout] test package_manager::brew::tests::brew_formula_name_with_three_part_version_returns_base_name ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_version_extracts_second_token ... ok
[INFO] [stdout] test package_manager::brew::tests::parse_brew_version_returns_none_for_single_token ... ok
[INFO] [stdout] test package_manager::nix::tests::env_find_pkg_matches_pname ... ok
[INFO] [stdout] test package_manager::nix::tests::nix_is_available_when_nix_binary_found ... ok
[INFO] [stdout] test package_manager::nix::tests::path_prepends_includes_profile_bin ... ok
[INFO] [stdout] test package_manager::nix::tests::profile_find_pkg_new_nix_218_format_attrpath_fallback ... ok
[INFO] [stdout] test package_manager::nix::tests::is_package_installed_returns_false_when_profile_missing ... ok
[INFO] [stdout] test package_manager::brew::tests::is_formula_pin_rejects_build_suffix ... ok
[INFO] [stdout] test package_manager::nix::tests::profile_find_pkg_old_array_format ... ok
[INFO] [stdout] test package_manager::nix::tests::profile_find_pkg_new_nix_218_format_with_pname ... ok
[INFO] [stdout] test modules::rust::tests::rust_resolved_version_returns_ok ... ok
[INFO] [stdout] test modules::rust::tests::rust_resolved_version_is_some_when_rustc_installed ... ok
[INFO] [stdout] test package_manager::tests::default_path_prepends_returns_empty ... ok
[INFO] [stdout] test package_manager::tests::default_service_config_dir_returns_none ... ok
[INFO] [stdout] test package_manager::tests::detect_auto_is_ok ... ok
[INFO] [stdout] test package_manager::tests::ensure_available_calls_bootstrap_when_not_available_and_allowed ... ok
[INFO] [stdout] test package_manager::nix::tests::profile_path_is_project_local ... ok
[INFO] [stdout] test package_manager::nix::tests::service_exec_name_returns_none_for_unsupported ... ok
[INFO] [stdout] test package_manager::nix::tests::nix_name_is_nix ... ok
[INFO] [stdout] test package_manager::nix::tests::resolved_version_returns_none_when_profile_missing ... ok
[INFO] [stdout] test package_manager::nix::tests::service_exec_name_known_services ... ok
[INFO] [stdout] test package_manager::tests::ensure_available_returns_err_when_not_available_and_not_allowed ... ok
[INFO] [stdout] test package_manager::tests::ensure_available_skips_bootstrap_when_already_available ... ok
[INFO] [stdout] test package_manager::winget::tests::winget_bootstrap_always_bails ... ok
[INFO] [stdout] test package_manager::winget::tests::winget_name_is_winget ... ok
[INFO] [stdout] test package_manager::winget::tests::winget_service_config_dir_always_none ... ok
[INFO] [stdout] test package_manager::winget::tests::parse_winget_version_returns_token_after_id ... ok
[INFO] [stdout] test package_manager::winget::tests::parse_winget_version_handles_exact_id_match ... ok
[INFO] [stdout] test package_manager::brew::tests::validate_tap_accepts_valid_org_repo ... ok
[INFO] [stdout] test package_manager::winget::tests::parse_winget_version_returns_none_when_id_has_no_next_token ... ok
[INFO] [stdout] test package_manager::winget::tests::parse_winget_version_returns_none_when_id_not_found ... ok
[INFO] [stdout] test package_manager::brew::tests::validate_tap_rejects_empty_parts ... ok
[INFO] [stdout] test package_manager::tests::mock_path_prepends_result_is_returned ... ok
[INFO] [stdout] test modules::vault::tests::stop_propagates_pm_error ... ok
[INFO] [stdout] test package_manager::apt::tests::apt_bootstrap_always_bails ... ok
[INFO] [stdout] test package_manager::winget::tests::parse_winget_version_finds_version_after_id ... ok
[INFO] [stdout] test commands::service::tests::start_impl_returns_ok_when_start_succeeds ... ok
[INFO] [stdout] test commands::up::tests::start_service_if_needed_skips_start_when_already_running ... ok
[INFO] [stdout] test commands::up::tests::up_impl_emits_host_and_port_env_vars_for_services ... ok
[INFO] [stdout] test commands::up::tests::up_impl_emits_mysql_host_and_port_for_mysql ... ok
[INFO] [stdout] test commands::up::tests::up_impl_assigns_distinct_ports_to_services_with_same_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 936 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/release/build/devy/4080dfea215dd291/out/cli-4080dfea215dd291)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test help_output_lists_key_subcommands ... ok
[INFO] [stdout] test check_exits_nonzero_with_unknown_top_level_key ... ok
[INFO] [stdout] test hook_bash_output_references_shadowenv ... ok
[INFO] [stdout] test help_flag_exits_zero ... ok
[INFO] [stdout] test hook_fish_output_references_shadowenv ... ok
[INFO] [stdout] test hook_bash_exits_zero ... ok
[INFO] [stdout] test init_fails_when_config_exists_without_force ... ok
[INFO] [stdout] test check_exits_nonzero_with_malformed_yaml ... ok
[INFO] [stdout] test commands_exits_zero_with_user_defined_commands ... ok
[INFO] [stdout] test check_exits_nonzero_without_config ... ok
[INFO] [stdout] test commands_exits_zero_with_no_commands_defined ... ok
[INFO] [stdout] test commands_exits_zero_without_config ... ok
[INFO] [stdout] test check_exits_zero_with_empty_dependencies ... ok
[INFO] [stdout] test hook_fish_exits_zero ... ok
[INFO] [stdout] test check_exits_nonzero_with_port_conflict ... ok
[INFO] [stdout] test hook_unsupported_shell_exits_nonzero ... ok
[INFO] [stdout] test hook_zsh_output_references_shadowenv ... ok
[INFO] [stdout] test init_creates_devy_yml ... ok
[INFO] [stdout] test hook_output_does_not_contain_unsubstituted_placeholder ... ok
[INFO] [stdout] test init_force_overwrites_existing_config ... ok
[INFO] [stdout] test init_output_mentions_created_file ... ok
[INFO] [stdout] test up_dry_run_exits_zero_with_empty_dependencies ... ok
[INFO] [stdout] test hook_unsupported_shell_error_names_the_shell ... ok
[INFO] [stdout] test up_dry_run_does_not_write_lock_file ... ok
[INFO] [stdout] test init_output_is_parseable_yaml ... ok
[INFO] [stdout] test hook_zsh_exits_zero ... ok
[INFO] [stdout] test check_missing_config_error_mentions_devy_yml ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9", kill_on_drop: false }`
[INFO] [stdout] ff5ceca80be2000087976774b2d897d5ab1737feef62c9ca1880a24b00e4b6a9
