[INFO] cloning repository https://github.com/CaliforniaOpenSource/minion-cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CaliforniaOpenSource/minion-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCaliforniaOpenSource%2Fminion-cli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCaliforniaOpenSource%2Fminion-cli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e87b49cc1ecef8aad539fbc9c8ee27661aba727 [INFO] testing CaliforniaOpenSource/minion-cli against 1.97.0-beta.6 for beta-1.98-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCaliforniaOpenSource%2Fminion-cli" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/CaliforniaOpenSource/minion-cli [INFO] finished tweaking git repo https://github.com/CaliforniaOpenSource/minion-cli [INFO] tweaked toml for git repo https://github.com/CaliforniaOpenSource/minion-cli written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/CaliforniaOpenSource/minion-cli on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/CaliforniaOpenSource/minion-cli 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded structmeta v0.3.0 [INFO] [stderr] Downloaded docker_credential v1.4.0 [INFO] [stderr] Downloaded parse-display v0.9.1 [INFO] [stderr] Downloaded structmeta-derive v0.3.0 [INFO] [stderr] Downloaded etcetera v0.10.0 [INFO] [stderr] Downloaded parse-display-derive v0.9.1 [INFO] [stderr] Downloaded time-macros v0.2.30 [INFO] [stderr] Downloaded serde_with_macros v3.21.0 [INFO] [stderr] Downloaded bytes v1.12.0 [INFO] [stderr] Downloaded serde_with v3.21.0 [INFO] [stderr] Downloaded hyperlocal v0.9.1 [INFO] [stderr] Downloaded hyper-named-pipe v0.1.0 [INFO] [stderr] Downloaded tonic-prost v0.14.6 [INFO] [stderr] Downloaded testcontainers v0.25.2 [INFO] [stderr] Downloaded prost-derive v0.14.4 [INFO] [stderr] Downloaded prost v0.14.4 [INFO] [stderr] Downloaded tonic v0.14.6 [INFO] [stderr] Downloaded anyhow v1.0.103 [INFO] [stderr] Downloaded prost-types v0.14.4 [INFO] [stderr] Downloaded astral-tokio-tar v0.5.6 [INFO] [stderr] Downloaded memmap2 v0.9.11 [INFO] [stderr] Downloaded bollard-stubs v1.49.1-rc.28.4.0 [INFO] [stderr] Downloaded bollard v0.19.4 [INFO] [stderr] Downloaded bollard-buildkit-proto v0.7.0 [INFO] [stderr] Downloaded time v0.3.51 [INFO] [stderr] Downloaded rustls v0.23.41 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef [INFO] running `Command { std: "docker" "start" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", 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" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", 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" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.46 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling anyhow v1.0.103 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling memchr v2.8.2 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling memmap2 v0.9.11 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling zeroize_derive v1.5.0 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling minion-cli v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.20s [INFO] running `Command { std: "docker" "inspect" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", 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" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling bytes v1.12.0 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling memchr v2.8.2 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling socket2 v0.6.4 [INFO] [stderr] Compiling mio v1.2.1 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rustls v0.23.41 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling cc v1.2.65 [INFO] [stderr] Compiling either v1.16.0 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling zerocopy v0.8.52 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling http v1.4.2 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling utf8-zero v0.8.1 [INFO] [stderr] Compiling bollard-buildkit-proto v0.7.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling ureq-proto v0.6.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling filetime v0.2.29 [INFO] [stderr] Compiling rustc-hash v2.1.2 [INFO] [stderr] Compiling etcetera v0.10.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling regex v1.12.4 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling zeroize_derive v1.5.0 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling prost-derive v0.14.4 [INFO] [stderr] Compiling pin-project-internal v1.1.13 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling structmeta-derive v0.3.0 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.1 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling yoke v0.8.3 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling pin-project v1.1.13 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling rustls-native-certs v0.8.4 [INFO] [stderr] Compiling structmeta v0.3.0 [INFO] [stderr] Compiling parse-display-derive v0.9.1 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling prost v0.14.4 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling serde_with_macros v3.21.0 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling prost-types v0.14.4 [INFO] [stderr] Compiling parse-display v0.9.1 [INFO] [stderr] Compiling serde_with v3.21.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling minion-cli v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling docker_credential v1.4.0 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling astral-tokio-tar v0.5.6 [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling h2 v0.4.15 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling ureq v3.3.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-timeout v0.5.2 [INFO] [stderr] Compiling hyperlocal v0.9.1 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling tonic v0.14.6 [INFO] [stderr] Compiling tonic-prost v0.14.6 [INFO] [stderr] Compiling bollard-stubs v1.49.1-rc.28.4.0 [INFO] [stderr] Compiling bollard v0.19.4 [INFO] [stderr] Compiling testcontainers v0.25.2 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 03s [INFO] running `Command { std: "docker" "inspect" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", 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" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/minion_cli-9bdbb0843515f1ce) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/minion/main.rs (/opt/rustwide/target/debug/deps/minion-64d787a9176454ac) [INFO] [stdout] running 16 tests [INFO] [stdout] test jointoken::tests::round_trips_through_the_wire_form ... ok [INFO] [stdout] test jointoken::tests::rejects_empty_and_malformed_tokens ... ok [INFO] [stdout] test jointoken::tests::decodes_raw_json_for_debugging ... ok [INFO] [stdout] test jointoken::tests::deserializes_a_coworker_token_without_kind ... ok [INFO] [stdout] test wireguard::tests::ignores_non_ip_dns_names ... ok [INFO] [stdout] test wireguard::tests::derives_public_key_matching_generation ... ok [INFO] [stdout] test wireguard::tests::keygen_produces_distinct_clamped_base64_keys ... ok [INFO] [stdout] test wireguard::tests::parses_interface_address_and_dns ... ok [INFO] [stdout] test wireguard::tests::renders_peer_tunnel_as_split_tunnel ... ok [INFO] [stdout] test wireguard::tests::parses_live_ipv4_endpoint ... ok [INFO] [stdout] test wireguard::tests::validates_assigned_ip_rules ... ok [INFO] [stdout] test wireguard::tests::load_or_create_is_idempotent ... ok [INFO] [stdout] test wireguard::tests::validates_existing_server_interface ... ok [INFO] [stdout] test wireguard::tests::parses_and_renders_server_config ... ok [INFO] [stdout] test wireguard::tests::validates_wireguard_public_keys_as_standard_padded_base64 ... ok [INFO] [stdout] test wireguard::tests::server_config_add_peer_validates_and_indexes_assignments ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test coworker::config::tests::resolve_errors_for_unknown_suffix ... ok [INFO] [stdout] test coworker::config::tests::resolve_from_target_suffix ... ok [INFO] [stdout] test coworker::config::tests::suffix_of_drops_the_first_label ... ok [INFO] [stdout] test coworker::config::tests::remove_clears_last_used_for_that_suffix ... ok [INFO] [stdout] test coworker::config::tests::validate_config_name_rejects_shell_chars ... ok [INFO] [stdout] test coworker::docker::tests::default_image_tag_is_lowercase ... ok [INFO] [stdout] test coworker::http::tests::endpoint_parse_defaults_port ... ok [INFO] [stdout] test coworker::http::tests::path_segment_percent_encodes_spaces ... ok [INFO] [stdout] test coworker::join::tests::render_config_uses_local_key_and_split_tunnel ... ok [INFO] [stdout] test coworker::tests::deploy_metadata_omits_empty_optional_fields ... ok [INFO] [stdout] test coworker::tests::parse_env_rejects_missing_equals ... ok [INFO] [stdout] test coworker::tests::peer_add_prints_a_decodable_join_token ... ok [INFO] [stdout] test coworker::tunnel::tests::bring_down_uses_a_stripped_config_and_noops_when_already_down ... ok [INFO] [stdout] test coworker::config::tests::resolve_is_ambiguous_when_several_joined_and_none_used ... ok [INFO] [stdout] test coworker::tunnel::tests::resolvectl_global_section_ignores_links_and_the_rotating_current_server ... ok [INFO] [stdout] test coworker::tunnel::tests::bring_up_syncs_an_already_running_interface ... ok [INFO] [stdout] test coworker::tunnel::tests::clobber_warning_fires_only_on_a_real_change ... ok [INFO] [stdout] test coworker::tunnel::tests::strip_dns_drops_only_interface_dns_lines ... ok [INFO] [stdout] test coworker::config::tests::resolve_uses_sole_network_when_unqualified ... ok [INFO] [stdout] test coworker::tunnel::tests::write_config_is_owner_only ... ok [INFO] [stdout] test coworker::config::tests::resolve_uses_last_used_when_several_joined ... ok [INFO] [stdout] test skill::tests::skill_frontmatter_names_the_skill ... ok [INFO] [stdout] test skill::tests::skill_manifest_starts_with_the_skill_file ... ok [INFO] [stdout] test coworker::tunnel::tests::bring_up_starts_a_down_interface_with_a_stripped_config_and_scopes_dns ... ok [INFO] [stdout] test skill::tests::every_reference_in_the_manifest_is_linked_from_skill_md ... ok [INFO] [stdout] test coworker::tunnel::tests::has_interface_dns_only_matches_the_interface_section ... ok [INFO] [stdout] test coworker::join::tests::join_writes_a_suffix_keyed_record_under_the_dry_run_seam ... ok [INFO] [stdout] test coworker::network::tests::leave_deletes_config_and_forgets_only_that_network ... ok [INFO] [stderr] Running unittests src/bin/minion-hub/main.rs (/opt/rustwide/target/debug/deps/minion_hub-27f2f687485b72b4) [INFO] [stdout] test coworker::network::tests::purge_deletes_every_config_and_empties_the_store ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test model::tests::canonicalizes_hostname_boundaries ... ok [INFO] [stdout] test json::tests::escapes_response_strings ... ok [INFO] [stdout] test model::tests::validates_a_hub_with_no_admin_so_serve_can_bootstrap ... ok [INFO] [stdout] test model::tests::hub_record_is_the_only_pairing_allowed_on_the_hub_vpn_ip ... ok [INFO] [stdout] test model::tests::reserves_the_hub_name_for_peers_and_bindings ... ok [INFO] [stdout] test model::tests::validates_peer_kind_rules ... ok [INFO] [stdout] test model::tests::zone_round_trips_and_is_authoritative_for_the_suffix ... ok [INFO] [stdout] test provision::tests::corefile_serves_the_suffix_authoritatively_and_forwards_the_rest ... ok [INFO] [stdout] test provision::tests::install_packages_downloads_coredns_when_apt_package_is_missing ... ok [INFO] [stdout] test reconcile::tests::resolve_zone_errors_when_no_domain_manages_the_hostname ... ok [INFO] [stdout] test reconcile::tests::resolve_zone_falls_back_to_the_parent_domain ... ok [INFO] [stdout] test reconcile::tests::resolve_zone_prefers_the_longest_matching_domain ... ok [INFO] [stdout] test wireguard::tests::validates_interface_using_hub_network_settings ... ok [INFO] [stdout] test http::tests::unknown_source_ip_is_forbidden ... ok [INFO] [stdout] test store::tests::created_peer_round_trips_through_a_join_token ... ok [INFO] [stdout] test store::tests::peer_crud_allocates_vpn_ips_and_hosts ... ok [INFO] [stdout] test store::tests::bindings_reject_other_owner_without_move ... ok [INFO] [stdout] test http::tests::peer_and_binding_api_uses_source_ip_roles ... ok [INFO] [stdout] test store::tests::reconcile_is_idempotent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/minion-node/main.rs (/opt/rustwide/target/debug/deps/minion_node-447b3cc2dd9ffdfa) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test deploy::tests::fake_hub_authorize_shape_stays_used ... ok [INFO] [stdout] test deploy::tests::metadata_accepts_string_port_and_null_env ... ok [INFO] [stdout] test deploy::tests::failed_deploy_releases_new_binding ... ok [INFO] [stdout] test deploy::tests::deploy_writes_files_binds_and_runs_docker ... ok [INFO] [stdout] test deploy::tests::deploy_rejects_hostname_used_by_another_app ... ok [INFO] [stdout] test deploy::tests::list_apps_reads_metadata_from_filesystem ... ok [INFO] [stdout] test deploy::tests::undeploy_stops_app_deletes_binding_and_removes_directory ... ok [INFO] [stdout] test enroll::tests::enroll_rejects_invalid_names ... ok [INFO] [stdout] test deploy::tests::unrouted_deploy_publishes_host_port_without_binding ... ok [INFO] [stdout] test http::tests::unauthorized_request_stops_before_deploy_parse ... ok [INFO] [stdout] test enroll::tests::enroll_refuses_a_different_name_or_kind ... ok [INFO] [stdout] test multipart::tests::parses_metadata_and_binary_artifact ... ok [INFO] [stdout] test http::tests::list_route_reads_filesystem ... ok [INFO] [stdout] test multipart::tests::rejects_missing_artifact ... ok [INFO] [stdout] test hub::tests::parses_plain_http_response ... ok [INFO] [stdout] test provision::tests::traefik_compose_matches_what_deploy_expects ... ok [INFO] [stdout] test http::tests::deploy_route_authorizes_and_deploys ... ok [INFO] [stdout] test join::tests::join_rejects_a_kind_mismatch ... ok [INFO] [stdout] test enroll::tests::enroll_reuses_key_and_record_on_rerun ... ok [INFO] [stdout] test service::tests::unit_points_the_daemon_at_the_written_config ... ok [INFO] [stdout] test join::tests::join_renders_config_and_drives_the_seams ... ok [INFO] [stdout] test join::tests::join_requires_an_enrollment_record ... ok [INFO] [stdout] test join::tests::join_rejects_a_name_mismatch ... ok [INFO] [stdout] test provision::tests::min_api_dropin_restart_is_idempotent ... ok [INFO] [stdout] test provision::tests::setup_writes_compose_and_min_api_dropin_and_runs_docker ... ok [INFO] [stdout] test provision::tests::skip_system_writes_files_without_shelling_out ... ok [INFO] [stdout] test join::tests::join_is_idempotent_and_rerenders ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/cli_smoke.rs (/opt/rustwide/target/debug/deps/cli_smoke-ceeda083f9f85604) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test minion_hub_help_is_available ... ok [INFO] [stdout] test root_help_lists_coworker_commands ... ok [INFO] [stdout] test keygen_prints_a_wireguard_keypair ... ok [INFO] [stdout] test deploy_help_lists_node_daemon_options ... ok [INFO] [stdout] test skill_install_can_target_one_agent ... ok [INFO] [stdout] test skill_dirs_honor_agent_env_overrides ... ok [INFO] [stdout] test skill_uninstall_leaves_user_files_behind ... ok [INFO] [stdout] test deploy_without_config_fails_on_missing_network ... ok [INFO] [stderr] Running tests/minion_hub_docker.rs (/opt/rustwide/target/debug/deps/minion_hub_docker-8b6e5c0f6d8eba99) [INFO] [stdout] test skill_install_writes_both_agents_and_uninstall_removes_them ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Doc-tests minion_cli [INFO] [stdout] test init_writes_config_files_idempotently_in_ubuntu_docker ... ignored, requires Docker, downloads Ubuntu/Rust packages, and can be slow [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef", kill_on_drop: false }` [INFO] [stdout] d6edbbc971d75fb20d6e670eafb804df068c93127877cb74ba906a52b936bbef