[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
