[INFO] cloning repository https://github.com/traylinx/garagetytus
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/traylinx/garagetytus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftraylinx%2Fgaragetytus", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftraylinx%2Fgaragetytus'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7a3ec91568fa3aef05a00e8e1286c2b368715b3d
[INFO] testing traylinx/garagetytus against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftraylinx%2Fgaragetytus" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/traylinx/garagetytus
[INFO] finished tweaking git repo https://github.com/traylinx/garagetytus
[INFO] tweaked toml for git repo https://github.com/traylinx/garagetytus written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/traylinx/garagetytus 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/traylinx/garagetytus 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 keyring v2.3.3
[INFO] [stderr]   Downloaded secret-service v3.1.0
[INFO] [stderr]   Downloaded linux-keyutils v0.2.5
[INFO] [stderr]   Downloaded tokio v1.52.1
[INFO] [stderr]   Downloaded rustls v0.23.39
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93
[INFO] running `Command { std: "docker" "start" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", 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" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93" "/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" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", 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" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling piper v0.2.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling async-fs v1.6.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling zvariant_derive v3.15.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling zvariant v3.15.2
[INFO] [stderr]    Compiling zbus_macros v3.15.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling async-executor v1.14.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling xdg-home v1.3.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling zbus_names v2.6.1
[INFO] [stderr]    Compiling async-broadcast v0.5.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling rustls v0.23.39
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling zbus v3.15.2
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling linux-keyutils v0.2.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling sysinfo v0.30.13
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling garagetytus-grants v0.1.0 (/opt/rustwide/workdir/crates/garagetytus-grants)
[INFO] [stderr]    Compiling secret-service v3.1.0
[INFO] [stderr]    Compiling keyring v2.3.3
[INFO] [stderr]    Compiling garagetytus-core v0.1.0 (/opt/rustwide/workdir/crates/garagetytus-core)
[INFO] [stderr]    Compiling garagetytus-watchdogs v0.1.0 (/opt/rustwide/workdir/crates/garagetytus-watchdogs)
[INFO] [stderr]    Compiling garagetytus v0.1.0 (/opt/rustwide/workdir/crates/garagetytus)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 49s
[INFO] running `Command { std: "docker" "inspect" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", 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" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93" "/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 getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling garagetytus-watchdogs v0.1.0 (/opt/rustwide/workdir/crates/garagetytus-watchdogs)
[INFO] [stderr]    Compiling garagetytus v0.1.0 (/opt/rustwide/workdir/crates/garagetytus)
[INFO] [stderr]    Compiling garagetytus-grants v0.1.0 (/opt/rustwide/workdir/crates/garagetytus-grants)
[INFO] [stderr]    Compiling garagetytus-core v0.1.0 (/opt/rustwide/workdir/crates/garagetytus-core)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.17s
[INFO] running `Command { std: "docker" "inspect" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", 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" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93" "/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.59s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/garagetytus-70c52b40fce50dbb)
[INFO] [stdout] 
[INFO] [stdout] running 77 tests
[INFO] [stdout] test commands::bootstrap::tests::node_count_from_layout_multi_node ... ok
[INFO] [stdout] test commands::bootstrap::tests::node_count_from_layout_empty_or_missing ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_garage_status_rejects_non_hex_first_column ... ok
[INFO] [stdout] test commands::bootstrap::tests::node_count_from_layout_single_node ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_garage_status_skips_separators_and_headers ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_garage_status_empty_role ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_garage_status_with_role ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_key_creds_errors_on_missing ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_layout_apply_version_hint_extracts_number ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_key_creds_handles_alt_shape ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_key_creds_handles_canonical_shape ... ok
[INFO] [stdout] test commands::bucket::tests::humanize_bytes_picks_unit ... ok
[INFO] [stdout] test commands::bootstrap::tests::repair_outcome_variants_distinct ... ok
[INFO] [stdout] test commands::bucket::tests::parse_perms_canonical_order ... ok
[INFO] [stdout] test commands::bootstrap::tests::parse_layout_apply_version_hint_returns_none_on_unknown_shape ... ok
[INFO] [stdout] test commands::bucket::tests::parse_quota_grammar ... ok
[INFO] [stdout] test commands::bootstrap::tests::read_admin_credentials_parses_seeded_config ... ok
[INFO] [stdout] test commands::bucket::tests::parse_quota_rejects_garbage ... ok
[INFO] [stdout] test commands::bucket::tests::parse_perms_requires_write_for_owner ... ok
[INFO] [stdout] test commands::bucket::tests::record_deny_all_window ... ok
[INFO] [stdout] test commands::bucket::tests::backend_for_rejects_non_garage_in_v0_7_1 ... ok
[INFO] [stdout] test commands::bucket::tests::endpoint_url_for_local ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_accepts_canonical ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_leading_or_trailing_dot ... ok
[INFO] [stdout] test commands::bucket::tests::registry_remove_idempotent ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_consecutive_dots ... ok
[INFO] [stdout] test commands::bucket::tests::record_expiry_check ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_ipv4_shape ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_uppercase ... ok
[INFO] [stdout] test commands::bucket::tests::parse_perms_requires_read ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_short ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_underscore ... ok
[INFO] [stdout] test commands::bucket::tests::validate_bucket_name_rejects_long ... ok
[INFO] [stdout] test commands::cluster::tests::generate_rpc_secret_is_random ... ok
[INFO] [stdout] test commands::install::tests::random_hex_correct_length ... ok
[INFO] [stdout] test commands::cluster::tests::generate_rpc_secret_is_64_hex_chars ... ok
[INFO] [stdout] test commands::install::tests::random_url_safe_b64_no_padding ... ok
[INFO] [stdout] test commands::install::tests::render_systemd_unit_system_level_uses_multi_user_target ... ok
[INFO] [stdout] test commands::install::tests::render_systemd_unit_carries_required_fields ... ok
[INFO] [stdout] test commands::install::tests::render_systemd_unit_with_home_override_emits_environment_line ... ok
[INFO] [stdout] test commands::install::tests::sha256_hex_matches_known_vector ... ok
[INFO] [stdout] test commands::install::tests::render_garage_config_tokens_unique ... ok
[INFO] [stdout] test commands::install::tests::verify_sha_errors_on_missing_file ... ok
[INFO] [stdout] test commands::install::tests::verify_sha_rejects_tampered_binary ... ok
[INFO] [stdout] test commands::bucket::tests::registry_round_trip ... ok
[INFO] [stdout] test commands::cluster::tests::write_atomic_round_trips ... ok
[INFO] [stdout] test commands::install::tests::render_garage_config_is_valid_toml ... ok
[INFO] [stdout] test commands::install::tests::write_garage_config_if_missing_skips_existing ... ok
[INFO] [stdout] test commands::metrics::tests::render_prometheus_carries_all_five_gauges ... ok
[INFO] [stdout] test commands::metrics::tests::render_prometheus_emits_decimal_disk_pct ... ok
[INFO] [stdout] test commands::metrics::tests::render_prometheus_flips_mode_label ... ok
[INFO] [stdout] test commands::metrics::tests::render_with_cluster_handles_all_rw_zones ... ok
[INFO] [stdout] test commands::metrics::tests::render_with_cluster_emits_per_zone_and_rollup_gauges ... ok
[INFO] [stdout] test commands::metrics::tests::render_with_cluster_treats_unobserved_disk_as_ro ... ok
[INFO] [stdout] test commands::metrics::tests::render_without_cluster_state_matches_v0_1 ... ok
[INFO] [stdout] test commands::start::tests::const_window_deferral_is_set ... ok
[INFO] [stdout] test commands::install::tests::write_garage_config_if_missing_seeds_new ... ok
[INFO] [stdout] test commands::start::tests::systemd_unit_path_under_user_dir ... ok
[INFO] [stdout] test commands::cluster::tests::write_atomic_overwrites_existing ... ok
[INFO] [stdout] test commands::start::tests::check_required_ports_detects_collision ... ok
[INFO] [stdout] test commands::sync::tests::already_stable_is_noop ... ok
[INFO] [stdout] test commands::sync::tests::detects_ephemeral_vs_stable ... ok
[INFO] [stdout] test commands::metrics::tests::metrics_handler_returns_503_when_no_watchdog_json ... ok
[INFO] [stdout] test commands::start::tests::which_garage_returns_some_path ... ok
[INFO] [stdout] test commands::sync::tests::idempotent_second_pass_is_noop ... ok
[INFO] [stdout] test commands::sync::tests::no_garagetytus_section_is_noop ... ok
[INFO] [stdout] test commands::sync::tests::rewrites_only_garagetytus_endpoint ... ok
[INFO] [stdout] test commands::tests::parse_duration_accepts_strict_grammar ... ok
[INFO] [stdout] test commands::tests::parse_duration_rejects_empty ... ok
[INFO] [stdout] test commands::tests::parse_duration_rejects_natural_language ... ok
[INFO] [stdout] test commands::metrics::tests::metrics_handler_returns_200_when_state_present ... ok
[INFO] [stdout] test commands::sync::tests::health_reports_ok_when_reachable ... ok
[INFO] [stdout] test commands::metrics::tests::metrics_endpoint_real_wire_emits_cluster_metrics_when_present ... ok
[INFO] [stdout] test commands::sync::tests::heal_endpoint_missing_config_is_noop ... ok
[INFO] [stdout] test commands::metrics::tests::metrics_endpoint_real_wire_round_trip ... ok
[INFO] [stdout] test commands::sync::tests::heal_endpoint_writes_backup_and_atomic_swap ... ok
[INFO] [stdout] test commands::sync::tests::health_reports_failed_when_unreachable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 77 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_no_garage_crates.rs (/opt/rustwide/target/debug/deps/contract_no_garage_crates-5c66efe001e5499e)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test lockfile_contains_no_garage_crates ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/garagetytus_core-0625a58adedeca13)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test cluster::tests::cluster_config_rejects_invalid_replication_factor ... ok
[INFO] [stdout] test cluster::tests::cluster_config_rejects_non_hex_secret ... ok
[INFO] [stdout] test cluster::tests::cluster_config_rejects_schema_mismatch ... ok
[INFO] [stdout] test cluster::tests::cluster_config_rejects_short_secret ... ok
[INFO] [stdout] test cluster::tests::cluster_config_rejects_empty_droplet_host ... ok
[INFO] [stdout] test cluster::tests::cluster_config_rejects_zone_collision ... ok
[INFO] [stdout] test cluster::tests::cluster_config_round_trips_through_toml ... ok
[INFO] [stdout] test cluster::tests::cluster_config_validate_accepts_fresh ... ok
[INFO] [stdout] test cluster::tests::cluster_paths_honor_override ... ok
[INFO] [stdout] test paths::tests::defaults_route_through_dirs_crate ... ok
[INFO] [stdout] test paths::tests::grants_path_lands_in_config_dir ... ok
[INFO] [stdout] test paths::tests::override_collapses_all_paths_under_one_root ... ok
[INFO] [stdout] test cluster::tests::cluster_state_empty_serializes_cleanly ... ok
[INFO] [stdout] test cluster::tests::cluster_state_with_nodes_round_trips ... ok
[INFO] [stdout] test secrets::tests::delete_is_idempotent ... ok
[INFO] [stdout] test secrets::tests::resolve_prefers_env_when_keyring_missing ... ok
[INFO] [stdout] test secrets::tests::resolve_returns_none_when_both_missing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/garagetytus_grants-fb846e696b95c4cc)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test audit::tests::serde_roundtrip_covers_optional_fields ... ok
[INFO] [stdout] test audit_escape::tests::empty_input_returns_empty ... ok
[INFO] [stdout] test audit::tests::query_spans_rotated_archives ... ok
[INFO] [stdout] test audit::tests::query_excludes_entries_outside_window ... ok
[INFO] [stdout] test audit::tests::append_writes_one_line_per_entry ... ok
[INFO] [stdout] test audit_escape::tests::truncation_uses_ellipsis_char ... ok
[INFO] [stdout] test audit_escape::tests::unicode_printable_passthrough ... ok
[INFO] [stdout] test audit_escape::tests::shared_fixture_round_trip ... ok
[INFO] [stdout] test audit::tests::rotation_triggered_at_threshold ... ok
[INFO] [stdout] test audit::tests::query_returns_entries_in_window_sorted_ascending ... ok
[INFO] [stdout] test audit::tests::query_filters_by_verb_substring ... ok
[INFO] [stdout] test rate_limit::tests::corrupt_counter_resets_gracefully ... ok
[INFO] [stdout] test rate_limit::tests::active_cap_fires_independent_of_window ... ok
[INFO] [stdout] test rate_limit::tests::decrement_after_window_expired_is_noop ... ok
[INFO] [stdout] test rate_limit::tests::decrement_on_empty_counter_is_noop ... ok
[INFO] [stdout] test user_grants::tests::bound_grant_visible_only_to_matching_agent ... ok
[INFO] [stdout] test user_grants::tests::bound_grant_with_unattributed_call_invisible ... ok
[INFO] [stdout] test rate_limit::tests::decrement_inside_window_reduces_count ... ok
[INFO] [stdout] test user_grants::tests::dropped_malformed_entries_are_handled_via_serde_default ... ok
[INFO] [stdout] test user_grants::tests::legacy_grant_serdes_back_compat_without_bound_to_agent ... ok
[INFO] [stdout] test audit::tests::concurrent_appends_do_not_interleave ... ok
[INFO] [stdout] test user_grants::tests::load_corrupt_json_returns_empty ... ok
[INFO] [stdout] test user_grants::tests::load_missing_file_returns_empty ... ok
[INFO] [stdout] test user_grants::tests::match_write_path_filters_expired ... ok
[INFO] [stdout] test user_grants::tests::match_write_path_rejects_outside_scope ... ok
[INFO] [stdout] test user_grants::tests::match_write_path_finds_descending_grant ... ok
[INFO] [stdout] test user_grants::tests::new_grant_id_shape ... ok
[INFO] [stdout] test user_grants::tests::purge_expired_removes_and_returns ... ok
[INFO] [stdout] test user_grants::tests::match_write_path_single_star_stops_at_slash ... ok
[INFO] [stdout] test user_grants::tests::save_creates_parent_dir ... ok
[INFO] [stdout] test user_grants::tests::remove_drops_by_id ... ok
[INFO] [stdout] test user_grants::tests::unbound_grant_visible_to_anyone ... ok
[INFO] [stdout] test user_grants::tests::save_then_load_roundtrips ... ok
[INFO] [stdout] test user_grants::tests::glob_vectors_shared_fixture ... ok
[INFO] [stdout] test rate_limit::tests::overflow_within_window_fails ... ok
[INFO] [stdout] test rate_limit::tests::fresh_window_accepts_up_to_max ... ok
[INFO] [stdout] test rate_limit::tests::window_rolls_after_an_hour ... ok
[INFO] [stdout] test rate_limit::tests::increment_then_decrement_roundtrip ... ok
[INFO] [stdout] test rate_limit::tests::shared_fixture_vectors_match_python ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/garagetytus_watchdogs-045eb92f0b5b4283)
[INFO] [stdout] running 18 tests
[INFO] [stdout] test tests::derive_cluster_mode_all_ro_is_ro ... ok
[INFO] [stdout] test tests::derive_cluster_mode_all_rw_is_rw ... ok
[INFO] [stdout] test tests::derive_cluster_mode_three_node_future_proofing ... ok
[INFO] [stdout] test tests::derive_cluster_mode_single_zone_passes_through ... ok
[INFO] [stdout] test tests::preflight_unclean_check_clean_first_run ... ok
[INFO] [stdout] test tests::preflight_unclean_check_persisted_counter_is_loaded ... ok
[INFO] [stdout] test tests::integrity_check_step_creates_sentinel ... ok
[INFO] [stdout] test tests::read_disk_free_pct_returns_some_for_real_dir ... ok
[INFO] [stdout] test tests::preflight_unclean_check_skips_when_sentinel_pid_alive ... ok
[INFO] [stdout] test tests::read_watchdog_json_returns_none_when_missing ... ok
[INFO] [stdout] test tests::derive_cluster_mode_empty_input_is_ro ... ok
[INFO] [stdout] test tests::derive_cluster_mode_any_ro_flips_cluster_to_ro ... ok
[INFO] [stdout] test tests::watchdog_state_serializes_and_round_trips ... ok
[INFO] [stdout] test tests::pid_alive_recognises_self ... ok
[INFO] [stdout] test tests::next_mode_hysteresis ... ok
[INFO] [stdout] test tests::write_watchdog_json_is_atomic ... ok
[INFO] [stdout] test tests::preflight_unclean_check_detects_orphan_pid ... ok
[INFO] [stdout] test tests::tick_writes_state_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests garagetytus_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests garagetytus_grants
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests garagetytus_watchdogs
[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" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93", kill_on_drop: false }`
[INFO] [stdout] 1b97865b210139c8e1d61efe87da1541f8b9236f3205e1598b4b0aad99fdad93
