[INFO] cloning repository https://github.com/David610/singbox-vpn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/David610/singbox-vpn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDavid610%2Fsingbox-vpn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDavid610%2Fsingbox-vpn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 644fb89d3472dbb2d9d0043745093309cc9f5e77
[INFO] testing David610/singbox-vpn against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDavid610%2Fsingbox-vpn" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/David610/singbox-vpn
[INFO] finished tweaking git repo https://github.com/David610/singbox-vpn
[INFO] tweaked toml for git repo https://github.com/David610/singbox-vpn written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/David610/singbox-vpn on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/David610/singbox-vpn 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: apps/admin/Cargo.toml: file `/workspace/builds/worker-0-tc1/source/apps/admin/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `vpn`
[INFO] [stderr]   * `bin` target `vpn-admin`
[INFO] [stderr] warning: `admin` (manifest) generated 1 warning
[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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9
[INFO] running `Command { std: "docker" "start" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", 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" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", 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" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: apps/admin/Cargo.toml: file `/opt/rustwide/workdir/apps/admin/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `vpn`
[INFO] [stderr]   * `bin` target `vpn-admin`
[INFO] [stderr] warning: `admin` (manifest) generated 1 warning
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling ipnet v2.12.2
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling qrcode v0.14.1
[INFO] [stderr]    Compiling http-body-util v0.1.4
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.14.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom-derive v0.1.8
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling yoke-derive v0.8.3
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling provisioning-contract v1.1.0 (/opt/rustwide/workdir/crates/provisioning-contract)
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.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 hyper v1.11.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling common v1.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stderr]    Compiling tokio-rustls v0.26.5
[INFO] [stderr]    Compiling compat-config v1.1.0 (/opt/rustwide/workdir/crates/compat-config)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-rustls v0.27.10
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling admin v1.1.0 (/opt/rustwide/workdir/apps/admin)
[INFO] [stderr]    Compiling provisioning-agent v1.1.0 (/opt/rustwide/workdir/apps/provisioning-agent)
[INFO] [stderr]    Compiling subscription v1.1.0 (/opt/rustwide/workdir/services/subscription)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", 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" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: apps/admin/Cargo.toml: file `/opt/rustwide/workdir/apps/admin/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `vpn`
[INFO] [stderr]   * `bin` target `vpn-admin`
[INFO] [stderr] warning: `admin` (manifest) generated 1 warning
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling futures-io v0.3.34
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling compat-config v1.1.0 (/opt/rustwide/workdir/crates/compat-config)
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling provisioning-contract v1.1.0 (/opt/rustwide/workdir/crates/provisioning-contract)
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling common v1.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling admin v1.1.0 (/opt/rustwide/workdir/apps/admin)
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling hyper-rustls v0.27.10
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling subscription v1.1.0 (/opt/rustwide/workdir/services/subscription)
[INFO] [stderr]    Compiling provisioning-agent v1.1.0 (/opt/rustwide/workdir/apps/provisioning-agent)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 58.42s
[INFO] running `Command { std: "docker" "inspect" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", 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" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: apps/admin/Cargo.toml: file `/opt/rustwide/workdir/apps/admin/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `vpn`
[INFO] [stderr]   * `bin` target `vpn-admin`
[INFO] [stderr] warning: `admin` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.90s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/vpn-128bc2008cae886d)
[INFO] [stdout] 
[INFO] [stdout] running 107 tests
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_failed ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_not_run ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_inconclusive_is_never_reported_as_passed_or_not_run ... ok
[INFO] [stdout] test hostname_resolution_tests::persistent_failure_increments_failures_exactly_once ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_passed_does_not_imply_l1_l4_ok ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_failed_both_shown ... ok
[INFO] [stdout] test doctor_coverage_tests::protocol_check_result_label_is_exhaustively_defined ... ok
[INFO] [stdout] test hostname_resolution_tests::first_attempt_fails_second_succeeds_reports_transient_recovery ... ok
[INFO] [stdout] test hostname_resolution_tests::all_attempts_fail_is_unresolved_with_bounded_attempt_count ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_not_run ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_passed_is_the_only_full_health_claim ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_inconclusive_still_reports_both_independently ... ok
[INFO] [stdout] test external_authorization::tests::replaces_only_external_ownership_and_supports_ab_rotation ... ok
[INFO] [stdout] test external_authorization::tests::omission_and_revocation_fail_closed_without_touching_native ... ok
[INFO] [stdout] test hostname_resolution_tests::succeeds_on_first_attempt ... ok
[INFO] [stdout] test hostname_resolution_tests::resolved_addresses_still_classify_v4_and_v6_families_correctly ... ok
[INFO] [stdout] test hostname_resolution_tests::retry_attempts_are_bounded_never_unbounded ... ok
[INFO] [stdout] test ipv6_posture_tests::aaaa_present_and_egress_confirmed_broken_is_fatal ... ok
[INFO] [stdout] test hostname_resolution_tests::zero_addresses_after_retry_is_unresolved ... ok
[INFO] [stdout] test external_authorization::tests::ab_removal_restart_and_revocation_cannot_resurrect_a ... ok
[INFO] [stdout] test external_authorization::tests::rejects_credential_id_and_uuid_collisions_across_owners ... ok
[INFO] [stdout] test ipv6_posture_tests::aaaa_present_but_probe_unavailable_is_inconclusive_not_fatal ... ok
[INFO] [stdout] test ipv6_posture_tests::aaaa_present_and_egress_confirmed_working_is_ok_and_non_fatal ... ok
[INFO] [stdout] test ipv6_posture_tests::ipv4_only_host_no_aaaa_is_never_fatal_regardless_of_probe_outcome ... ok
[INFO] [stdout] test lease_pool::tests::authorization_metadata_projects_into_the_authoritative_user_store ... ok
[INFO] [stdout] test lease_pool::tests::compatibility_overlap_and_revocation_project_fail_closed ... ok
[INFO] [stdout] test ipv6_posture_tests::reality_pass_is_not_undermined_by_ipv4_only_ipv6_diagnostic ... ok
[INFO] [stdout] test lease_pool::tests::creates_pseudonymous_expiring_slot_users_and_keeps_others ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_new_operator_user_is_not_locked_out_after_the_native_lease ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_new_operator_user_is_served_the_credentials_it_is_given ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_password_for_a_vless_reality_peer_is_refused_not_coerced ... ok
[INFO] [stdout] test peer_credential_cli_tests::uuid_shape_check_accepts_a_real_uuid_and_rejects_pasted_junk ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_at_threshold_warns ... ok
[INFO] [stdout] test peer_credential_cli_tests::an_empty_hysteria2_password_is_refused ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_uuid_is_accepted_for_a_vless_reality_peer ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_high_utilization_warns_never_fails ... ok
[INFO] [stdout] test pressure_diagnostics_tests::format_thousands_groups_correctly ... ok
[INFO] [stdout] test peer_credential_cli_tests::rotating_a_new_operator_users_credentials_changes_what_the_server_renders ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_low_utilization_is_ok ... ok
[INFO] [stdout] test pressure_diagnostics_tests::udp_memory_high_pressure_warns_never_fails ... ok
[INFO] [stdout] test pressure_diagnostics_tests::udp_memory_pct_handles_zero_pressure_threshold_without_dividing_by_zero ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_uuid_for_a_hysteria2_peer_is_refused ... ok
[INFO] [stdout] test pressure_diagnostics_tests::udp_memory_low_pressure_is_ok ... ok
[INFO] [stdout] test lease_pool::tests::rotation_replaces_secret_and_is_idempotent ... ok
[INFO] [stdout] test lease_pool::tests::rejects_malformed_duplicate_or_colliding_input ... ok
[INFO] [stdout] test lease_pool::tests::shrinking_the_pool_removes_slot_users_only ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_pct_handles_zero_max_without_dividing_by_zero ... ok
[INFO] [stdout] test lock::tests::second_acquire_blocks_until_first_is_dropped ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_malformed_uuid_is_refused_with_an_actionable_message ... ok
[INFO] [stdout] test public_surface_tests::empty_and_malformed_lines_are_skipped_without_panicking ... ok
[INFO] [stdout] test peer_credential_cli_tests::supplying_no_credential_names_the_flag_the_operator_needs ... ok
[INFO] [stdout] test public_surface_tests::internal_singbox_vpn_process_on_an_unexpected_public_port_is_fail ... ok
[INFO] [stdout] test public_surface_tests::is_singbox_vpn_process_matches_truncated_comm_names ... ok
[INFO] [stdout] test public_surface_tests::loopback_only_unrelated_listener_is_not_reported_at_all ... ok
[INFO] [stdout] test public_surface_tests::parses_bracketed_ipv6_addresses_and_strips_brackets ... ok
[INFO] [stdout] test public_surface_tests::parses_real_shaped_tcp_ss_output_including_process_name ... ok
[INFO] [stdout] test public_surface_tests::parses_udp_output_without_a_users_field_when_not_root ... ok
[INFO] [stdout] test public_surface_tests::sshd_port_directive_parses_first_match_case_insensitively ... ok
[INFO] [stdout] test public_surface_tests::subscription_backend_exposed_publicly_is_fail ... ok
[INFO] [stdout] test public_surface_tests::sshd_port_directive_none_when_absent ... ok
[INFO] [stdout] test reality_selftest_classification_tests::client_side_rejection_strings_are_still_detected ... ok
[INFO] [stdout] test reality_selftest_classification_tests::a_real_key_mismatch_does_not_reliably_produce_either_client_side_string ... ok
[INFO] [stdout] test public_surface_tests::port_conflict_expected_port_served_by_wrong_process_is_fail ... ok
[INFO] [stdout] test public_surface_tests::expected_listener_with_unknown_process_is_still_ok ... ok
[INFO] [stdout] test public_surface_tests::subscription_backend_on_loopback_is_ok ... ok
[INFO] [stdout] test reality_selftest_classification_tests::fenced_loopback_rejection_is_still_detected ... ok
[INFO] [stdout] test reality_selftest_classification_tests::empty_client_stderr_and_no_journal_hit_stays_inconclusive ... ok
[INFO] [stdout] test reality_selftest_classification_tests::unrelated_public_scanner_rejection_is_not_attributed_to_selftest ... ok
[INFO] [stdout] test public_surface_tests::expected_singbox_vpn_listener_is_ok ... ok
[INFO] [stdout] test public_surface_tests::expected_ssh_listener_is_ok ... ok
[INFO] [stdout] test public_surface_tests::unrelated_process_on_a_non_loopback_port_is_warn_not_fail ... ok
[INFO] [stdout] test public_surface_tests::unidentified_process_on_a_non_loopback_port_is_warn_never_fail ... ok
[INFO] [stdout] test public_surface_tests::firewall_ownership_parses_key_value_env_file ... ok
[INFO] [stdout] test public_surface_tests::never_closes_or_mutates_anything_by_construction ... ok
[INFO] [stdout] test service::tests::is_failed_true_when_systemctl_reports_failed ... ok
[INFO] [stdout] test public_surface_tests::firewall_ownership_none_when_file_missing ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_just_below_threshold_is_still_ok ... ok
[INFO] [stdout] test service::tests::unit_tests_never_default_to_the_host_systemctl ... ok
[INFO] [stdout] test udp_probe_tests::build_dns_query_contains_labels ... ok
[INFO] [stdout] test service::tests::is_failed_false_when_systemctl_reports_not_failed ... ok
[INFO] [stdout] test service::tests::is_unit_installed_true_when_systemctl_reports_loaded ... ok
[INFO] [stdout] test service::tests::is_unit_installed_still_appends_service_for_a_bare_name ... ok
[INFO] [stdout] test service::tests::reload_and_verify_fails_when_reload_command_fails ... ok
[INFO] [stdout] test service::tests::restart_count_parses_nrestarts ... ok
[INFO] [stdout] test udp_probe_tests::cert_expiry_days_returns_none_for_missing_file ... ok
[INFO] [stdout] test service::tests::last_result_is_none_when_the_value_is_empty ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_hides_a_long_hex_key_or_hash ... ok
[INFO] [stdout] test udp_probe_tests::probe_singbox_binary_versions_skips_nonexistent_paths_and_dedupes ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_leaves_ordinary_log_text_and_short_words_untouched ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_preserves_non_ascii_text_around_a_redacted_token ... ok
[INFO] [stdout] test udp_probe_tests::singbox_version_consistency_ok_when_versions_match ... ok
[INFO] [stdout] test udp_probe_tests::singbox_version_consistency_silent_on_single_binary ... ok
[INFO] [stdout] test udp_probe_tests::singbox_version_consistency_warns_and_names_configured_binary_when_versions_differ ... ok
[INFO] [stdout] test udp_probe_tests::run_udp_probe_candidates_with_probe_logic ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_hides_a_base64url_style_token ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_hides_a_vless_uuid ... ok
[INFO] [stdout] test service::tests::timer_next_elapse_returns_systemds_own_formatted_timestamp ... ok
[INFO] [stdout] test service::tests::is_unit_installed_uses_a_dotted_unit_name_verbatim_for_a_timer ... ok
[INFO] [stdout] test service::tests::is_unit_installed_false_when_systemctl_binary_missing ... ok
[INFO] [stdout] test service::tests::restart_count_is_none_when_systemctl_is_unavailable ... ok
[INFO] [stdout] test service::tests::reload_and_verify_fails_when_service_not_active_after_reload ... ok
[INFO] [stdout] test service::tests::last_result_returns_the_raw_systemd_result_keyword ... ok
[INFO] [stdout] test service::tests::is_available_is_false_for_nonexistent_binary ... ok
[INFO] [stdout] test service::tests::override_names_the_exact_service_manager_and_never_falls_back_to_path ... ok
[INFO] [stderr] ..+......+++++++++++++++++++++++++++++++++++++++*..+++++++++++++++++++++++++++++++++++++++*....+.....+......+....+..+...+.+.....+...............+.+.....+.......+......+..+....+...+.....+...+..........+.....+...................+.....+......+....+...+...........+.+.........+.....+....+.....+.......+.....+....+............+...++++++
[INFO] [stderr] ..+........+.+...+...............+......+......+.....+...+...+...+.+......+.....+++++++++++++++++++++++++++++++++++++++*....+.....+...+..........+.........+...+..+++++++++++++++++++++++++++++++++++++++*...........+....+.........+.....+.......+............+..+...+...+...+.......+..............+.+..............+..........+...+..+.+.........+.....................+..++++++
[INFO] [stderr] -----
[INFO] [stdout] test service::tests::reload_and_verify_succeeds_when_service_comes_up_healthy ... ok
[INFO] [stdout] test udp_probe_tests::cert_expiry_days_reports_negative_days_for_an_already_expired_cert ... ok
[INFO] [stdout] test udp_probe_tests::cert_expiry_days_reports_positive_days_for_a_freshly_issued_cert ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/vpn_admin-c823fcee6bc86226)
[INFO] [stdout] 
[INFO] [stdout] running 107 tests
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_failed_both_shown ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_passed_does_not_imply_l1_l4_ok ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_passed_is_the_only_full_health_claim ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_not_run ... ok
[INFO] [stdout] test doctor_coverage_tests::protocol_check_result_label_is_exhaustively_defined ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_inconclusive_is_never_reported_as_passed_or_not_run ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_inconclusive_still_reports_both_independently ... ok
[INFO] [stdout] test hostname_resolution_tests::first_attempt_fails_second_succeeds_reports_transient_recovery ... ok
[INFO] [stdout] test hostname_resolution_tests::persistent_failure_increments_failures_exactly_once ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_failed_l5_l6_not_run ... ok
[INFO] [stdout] test ipv6_posture_tests::aaaa_present_and_egress_confirmed_broken_is_fatal ... ok
[INFO] [stdout] test external_authorization::tests::replaces_only_external_ownership_and_supports_ab_rotation ... ok
[INFO] [stdout] test ipv6_posture_tests::aaaa_present_and_egress_confirmed_working_is_ok_and_non_fatal ... ok
[INFO] [stdout] test hostname_resolution_tests::resolved_addresses_still_classify_v4_and_v6_families_correctly ... ok
[INFO] [stdout] test hostname_resolution_tests::retry_attempts_are_bounded_never_unbounded ... ok
[INFO] [stdout] test lease_pool::tests::authorization_metadata_projects_into_the_authoritative_user_store ... ok
[INFO] [stdout] test doctor_coverage_tests::l1_l4_passed_l5_l6_failed ... ok
[INFO] [stdout] test external_authorization::tests::omission_and_revocation_fail_closed_without_touching_native ... ok
[INFO] [stdout] test ipv6_posture_tests::ipv4_only_host_no_aaaa_is_never_fatal_regardless_of_probe_outcome ... ok
[INFO] [stdout] test ipv6_posture_tests::reality_pass_is_not_undermined_by_ipv4_only_ipv6_diagnostic ... ok
[INFO] [stdout] test external_authorization::tests::rejects_credential_id_and_uuid_collisions_across_owners ... ok
[INFO] [stdout] test hostname_resolution_tests::all_attempts_fail_is_unresolved_with_bounded_attempt_count ... ok
[INFO] [stdout] test lease_pool::tests::compatibility_overlap_and_revocation_project_fail_closed ... ok
[INFO] [stdout] test hostname_resolution_tests::succeeds_on_first_attempt ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_malformed_uuid_is_refused_with_an_actionable_message ... ok
[INFO] [stdout] test hostname_resolution_tests::zero_addresses_after_retry_is_unresolved ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_new_operator_user_is_not_locked_out_after_the_native_lease ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_uuid_for_a_hysteria2_peer_is_refused ... ok
[INFO] [stdout] test external_authorization::tests::ab_removal_restart_and_revocation_cannot_resurrect_a ... ok
[INFO] [stdout] test ipv6_posture_tests::aaaa_present_but_probe_unavailable_is_inconclusive_not_fatal ... ok
[INFO] [stdout] test lease_pool::tests::creates_pseudonymous_expiring_slot_users_and_keeps_others ... ok
[INFO] [stdout] test lease_pool::tests::rejects_malformed_duplicate_or_colliding_input ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_uuid_is_accepted_for_a_vless_reality_peer ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_pct_handles_zero_max_without_dividing_by_zero ... ok
[INFO] [stdout] test pressure_diagnostics_tests::format_thousands_groups_correctly ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_low_utilization_is_ok ... ok
[INFO] [stdout] test pressure_diagnostics_tests::udp_memory_pct_handles_zero_pressure_threshold_without_dividing_by_zero ... ok
[INFO] [stdout] test peer_credential_cli_tests::supplying_no_credential_names_the_flag_the_operator_needs ... ok
[INFO] [stdout] test public_surface_tests::empty_and_malformed_lines_are_skipped_without_panicking ... ok
[INFO] [stdout] test pressure_diagnostics_tests::udp_memory_high_pressure_warns_never_fails ... ok
[INFO] [stdout] test pressure_diagnostics_tests::udp_memory_low_pressure_is_ok ... ok
[INFO] [stdout] test public_surface_tests::expected_singbox_vpn_listener_is_ok ... ok
[INFO] [stdout] test public_surface_tests::expected_ssh_listener_is_ok ... ok
[INFO] [stdout] test public_surface_tests::is_singbox_vpn_process_matches_truncated_comm_names ... ok
[INFO] [stdout] test public_surface_tests::loopback_only_unrelated_listener_is_not_reported_at_all ... ok
[INFO] [stdout] test public_surface_tests::firewall_ownership_none_when_file_missing ... ok
[INFO] [stdout] test public_surface_tests::never_closes_or_mutates_anything_by_construction ... ok
[INFO] [stdout] test public_surface_tests::expected_listener_with_unknown_process_is_still_ok ... ok
[INFO] [stdout] test public_surface_tests::parses_udp_output_without_a_users_field_when_not_root ... ok
[INFO] [stdout] test lease_pool::tests::rotation_replaces_secret_and_is_idempotent ... ok
[INFO] [stdout] test public_surface_tests::port_conflict_expected_port_served_by_wrong_process_is_fail ... ok
[INFO] [stdout] test lease_pool::tests::shrinking_the_pool_removes_slot_users_only ... ok
[INFO] [stdout] test public_surface_tests::sshd_port_directive_none_when_absent ... ok
[INFO] [stdout] test public_surface_tests::internal_singbox_vpn_process_on_an_unexpected_public_port_is_fail ... ok
[INFO] [stdout] test peer_credential_cli_tests::an_empty_hysteria2_password_is_refused ... ok
[INFO] [stdout] test public_surface_tests::parses_real_shaped_tcp_ss_output_including_process_name ... ok
[INFO] [stdout] test public_surface_tests::parses_bracketed_ipv6_addresses_and_strips_brackets ... ok
[INFO] [stdout] test public_surface_tests::sshd_port_directive_parses_first_match_case_insensitively ... ok
[INFO] [stdout] test lock::tests::second_acquire_blocks_until_first_is_dropped ... ok
[INFO] [stdout] test public_surface_tests::firewall_ownership_parses_key_value_env_file ... ok
[INFO] [stdout] test peer_credential_cli_tests::rotating_a_new_operator_users_credentials_changes_what_the_server_renders ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_password_for_a_vless_reality_peer_is_refused_not_coerced ... ok
[INFO] [stdout] test peer_credential_cli_tests::a_new_operator_user_is_served_the_credentials_it_is_given ... ok
[INFO] [stdout] test peer_credential_cli_tests::uuid_shape_check_accepts_a_real_uuid_and_rejects_pasted_junk ... ok
[INFO] [stdout] test public_surface_tests::unrelated_process_on_a_non_loopback_port_is_warn_not_fail ... ok
[INFO] [stdout] test reality_selftest_classification_tests::a_real_key_mismatch_does_not_reliably_produce_either_client_side_string ... ok
[INFO] [stdout] test public_surface_tests::subscription_backend_exposed_publicly_is_fail ... ok
[INFO] [stdout] test public_surface_tests::subscription_backend_on_loopback_is_ok ... ok
[INFO] [stdout] test public_surface_tests::unidentified_process_on_a_non_loopback_port_is_warn_never_fail ... ok
[INFO] [stdout] test reality_selftest_classification_tests::empty_client_stderr_and_no_journal_hit_stays_inconclusive ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_just_below_threshold_is_still_ok ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_high_utilization_warns_never_fails ... ok
[INFO] [stdout] test pressure_diagnostics_tests::conntrack_at_threshold_warns ... ok
[INFO] [stdout] test reality_selftest_classification_tests::fenced_loopback_rejection_is_still_detected ... ok
[INFO] [stdout] test reality_selftest_classification_tests::unrelated_public_scanner_rejection_is_not_attributed_to_selftest ... ok
[INFO] [stdout] test service::tests::is_failed_true_when_systemctl_reports_failed ... ok
[INFO] [stdout] test reality_selftest_classification_tests::client_side_rejection_strings_are_still_detected ... ok
[INFO] [stdout] test service::tests::unit_tests_never_default_to_the_host_systemctl ... ok
[INFO] [stdout] test udp_probe_tests::build_dns_query_contains_labels ... ok
[INFO] [stdout] test service::tests::is_unit_installed_true_when_systemctl_reports_loaded ... ok
[INFO] [stdout] test service::tests::is_unit_installed_still_appends_service_for_a_bare_name ... ok
[INFO] [stdout] test udp_probe_tests::cert_expiry_days_returns_none_for_missing_file ... ok
[INFO] [stdout] test udp_probe_tests::probe_singbox_binary_versions_skips_nonexistent_paths_and_dedupes ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_hides_a_base64url_style_token ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_hides_a_long_hex_key_or_hash ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_hides_a_vless_uuid ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_leaves_ordinary_log_text_and_short_words_untouched ... ok
[INFO] [stdout] test udp_probe_tests::redact_secrets_preserves_non_ascii_text_around_a_redacted_token ... ok
[INFO] [stdout] test service::tests::timer_next_elapse_returns_systemds_own_formatted_timestamp ... ok
[INFO] [stdout] test udp_probe_tests::singbox_version_consistency_ok_when_versions_match ... ok
[INFO] [stdout] test service::tests::restart_count_parses_nrestarts ... ok
[INFO] [stdout] test udp_probe_tests::singbox_version_consistency_silent_on_single_binary ... ok
[INFO] [stdout] test udp_probe_tests::singbox_version_consistency_warns_and_names_configured_binary_when_versions_differ ... ok
[INFO] [stdout] test udp_probe_tests::run_udp_probe_candidates_with_probe_logic ... ok
[INFO] [stdout] test service::tests::is_available_is_false_for_nonexistent_binary ... ok
[INFO] [stdout] test service::tests::is_unit_installed_false_when_systemctl_binary_missing ... ok
[INFO] [stderr] ........+......+......+....+........+++++++++++++++++++++++++++++++++++++++*...........+++++++++++++++++++++++++++++++++++++++*.+.....+.+...+............+.....+.........+..........+...........+.........+.+..+......+.........+......+.+....................+......+...+....+...+.................+................+.........+..+.+..+.............+..+.+.........+...+............+......+.....+....+..+...+...++++++
[INFO] [stdout] test service::tests::reload_and_verify_fails_when_reload_command_fails ... ok
[INFO] [stdout] test service::tests::last_result_is_none_when_the_value_is_empty ... ok
[INFO] [stdout] test service::tests::is_failed_false_when_systemctl_reports_not_failed ... ok
[INFO] [stdout] test service::tests::restart_count_is_none_when_systemctl_is_unavailable ... ok
[INFO] [stdout] test service::tests::last_result_returns_the_raw_systemd_result_keyword ... ok
[INFO] [stdout] test udp_probe_tests::cert_expiry_days_reports_negative_days_for_an_already_expired_cert ... ok
[INFO] [stderr] .........+....+++++++++++++++++++++++++++++++++++++++*...+......+.+...+..+...............+....+...+........+...+++++++++++++++++++++++++++++++++++++++*.+...+.......+.....+.+...............+.....+...................+..............+.+...+..................+..+......+.+...+...+..+......+......+.+...+.....+....+...+.........+...+.....+.+.........+.....+......................+.....+...+.+.........+.....+......+.+.........+.........+...+...+......++++++
[INFO] [stdout] test service::tests::reload_and_verify_fails_when_service_not_active_after_reload ... ok
[INFO] [stdout] test service::tests::reload_and_verify_succeeds_when_service_comes_up_healthy ... ok
[INFO] [stderr] -----
[INFO] [stdout] test service::tests::is_unit_installed_uses_a_dotted_unit_name_verbatim_for_a_timer ... ok
[INFO] [stdout] test udp_probe_tests::cert_expiry_days_reports_positive_days_for_a_freshly_issued_cert ... ok
[INFO] [stdout] test service::tests::override_names_the_exact_service_manager_and_never_falls_back_to_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-5eb3b9b620bb5740)
[INFO] [stdout] 
[INFO] [stdout] running 91 tests
[INFO] [stdout] test command_mutates_state_check_does_not_block_config_validate_concurrently ... ok
[INFO] [stdout] test concurrent_user_creates_do_not_lose_an_update ... ok
[INFO] [stdout] test authorization_mutation_is_fail_closed_without_live_singbox ... ok
[INFO] [stdout] test backup_refuses_to_clobber_a_preexisting_destination ... ok
[INFO] [stdout] test a_missing_fake_systemctl_fails_closed_instead_of_using_path ... ok
[INFO] [stdout] test config_validate_reports_invalid_on_corrupted_users_json ... ok
[INFO] [stdout] test config_validate_reports_invalid_on_future_deployment_toml_schema ... ok
[INFO] [stdout] test config_validate_reports_invalid_on_future_users_schema ... ok
[INFO] [stdout] test apply_revision_rejects_a_malformed_document ... ok
[INFO] [stdout] test config_validate_reports_migration_required_on_fresh_legacy_deployment_toml ... ok
[INFO] [stdout] test doctor_always_prints_urltest_scope_disclaimer ... ok
[INFO] [stdout] test doctor_client_and_telegram_never_claim_server_is_healthy_when_checks_failed ... ok
[INFO] [stdout] test apply_revision_end_to_end_applies_config_and_stamps_revision ... ok
[INFO] [stdout] test config_migrate_refuses_corrupted_users_json_and_leaves_it_untouched ... ok
[INFO] [stdout] test doctor_fails_on_unresolvable_public_hostname ... ok
[INFO] [stdout] test doctor_json_emits_one_valid_json_object_with_stable_fields ... ok
[INFO] [stdout] test doctor_json_rejects_combination_with_prose_only_output_modes ... ok
[INFO] [stdout] test config_migrate_is_idempotent_and_validate_reports_ok_afterward ... ok
[INFO] [stdout] test apply_revision_preserves_all_dynamic_state_types_simultaneously_static_config_untouched ... ok
[INFO] [stdout] test cli_tests_cannot_reach_the_hosts_systemctl ... ok
[INFO] [stdout] test apply_revision_reload_failure_rolls_back_config_users_and_stamp ... ok
[INFO] [stdout] test authorization_backed_native_lease_renewal_uses_live_path_without_restart ... ok
[INFO] [stdout] test config_migrate_preserves_existing_users_and_backs_up_users_json ... ok
[INFO] [stdout] test backup_then_restore_round_trips_hysteria2_obfuscation_password ... ok
[INFO] [stdout] test apply_revision_reload_failure_rolls_back_full_dynamic_state_mix ... ok
[INFO] [stdout] test backup_then_restore_round_trips_the_current_versioned_users_envelope ... ok
[INFO] [stdout] test doctor_reports_ipv4_only_hostname_as_info_not_a_failure ... ok
[INFO] [stdout] test backup_then_restore_round_trips_users ... ok
[INFO] [stdout] test every_binary_invocation_is_guarded ... ok
[INFO] [stdout] test doctor_reports_missing_singbox_binary_as_failure ... ok
[INFO] [stdout] test doctor_rejects_wrong_reality_public_key_install_policy ... ok
[INFO] [stdout] test apply_revision_preserves_reserved_probe_confinement_and_c16_policy_across_reapply ... ok
[INFO] [stdout] test credential_mutation_does_not_claim_blast_radius_when_not_reloaded_live ... ok
[INFO] [stdout] test doctor_report_output_writes_mode_0600_file ... ok
[INFO] [stdout] test apply_revision_skips_a_stale_or_duplicate_revision_number ... ok
[INFO] [stdout] test init_without_singbox_binary_fails_clearly ... ok
[INFO] [stdout] test doctor_coverage_line_distinguishes_not_run_from_failed_from_passed ... ok
[INFO] [stdout] test release_binary_exposes_package_version ... ok
[INFO] [stdout] test doctor_client_prints_interactive_checklist_and_never_claims_to_probe_the_device ... ok
[INFO] [stdout] test doctor_l4_coherence_passes_after_init_and_render ... ok
[INFO] [stdout] test doctor_l4_detects_on_disk_config_drift_from_current_key_files ... ok
[INFO] [stdout] test doctor_l4_live_check_fails_when_running_subscription_process_is_stale ... ok
[INFO] [stdout] test doctor_l4_live_check_passes_when_subscription_process_is_freshly_started ... ok
[INFO] [stdout] test reality_rotate_reports_not_run_when_no_active_user_exists ... ok
[INFO] [stdout] test repair_fails_clearly_when_no_persistent_install_exists ... ok
[INFO] [stdout] test doctor_report_redacts_secrets_and_includes_expected_sections ... ok
[INFO] [stdout] test repair_runs_the_located_update_script_with_repair_flag_and_propagates_success ... ok
[INFO] [stdout] test repair_propagates_a_nonzero_exit_from_update_sh ... ok
[INFO] [stdout] test doctor_telegram_prints_disclaimer_and_never_claims_russian_verification ... ok
[INFO] [stdout] test reality_rotate_replaces_public_key_and_succeeds ... ok
[INFO] [stdout] test reality_rotate_rolls_back_key_material_on_validation_failure ... ok
[INFO] [stdout] test restore_never_widens_permissions_on_restored_secrets ... ok
[INFO] [stdout] test restore_rejects_a_fifo_entry_without_hanging ... ok
[INFO] [stdout] test init_rerun_without_rotate_preserves_existing_reality_key ... ok
[INFO] [stdout] test restore_rejects_a_partial_reality_keyset ... ok
[INFO] [stdout] test reality_rotate_scopes_blast_radius_to_reality_only ... ok
[INFO] [stdout] test render_config_never_claims_handshake_passed_when_selftest_could_not_run ... ok
[INFO] [stdout] test render_config_require_applied_fails_when_reconciliation_could_not_be_applied ... ok
[INFO] [stdout] test restore_rejects_cryptographically_mismatched_reality_keys ... ok
[INFO] [stdout] test restore_rejects_archive_containing_a_symlink ... ok
[INFO] [stdout] test render_config_applies_and_restarts_when_a_user_actually_changed ... ok
[INFO] [stdout] test render_config_noop_reconcile_does_not_restart_singbox ... ok
[INFO] [stdout] test render_config_require_applied_succeeds_on_true_noop ... ok
[INFO] [stdout] test restore_of_differing_reality_key_restarts_subscription_service_too ... ok
[INFO] [stdout] test rotate_token_does_not_claim_already_imported_profile_stops_connecting ... ok
[INFO] [stdout] test user_create_json_output_has_no_server_secrets ... ok
[INFO] [stdout] test static_revision_recovers_an_interrupted_apply_first ... ok
[INFO] [stdout] test status_reports_user_counts_without_secrets ... ok
[INFO] [stdout] test each_credential_mutation_states_its_own_blast_radius has been running for over 60 seconds
[INFO] [stdout] test full_user_lifecycle has been running for over 60 seconds
[INFO] [stdout] test future_expiry_extension_does_not_restart_but_expiry_revocation_does has been running for over 60 seconds
[INFO] [stdout] test user_create_json_output_carries_the_experimental_vision_off_link_additively ... ok
[INFO] [stdout] test user_create_json_output_is_unaffected_by_suppression ... ok
[INFO] [stdout] test render_config_repeated_timer_execution_is_idempotent has been running for over 60 seconds
[INFO] [stdout] test user_create_qr_prints_a_qr_code ... ok
[INFO] [stdout] test user_create_qr_shows_the_real_credential_when_not_suppressed ... ok
[INFO] [stdout] test static_revision_forbidden_role_change_is_rejected_fail_closed has been running for over 60 seconds
[INFO] [stdout] test static_revision_is_idempotent has been running for over 60 seconds
[INFO] [stdout] test static_revision_preserves_all_dynamic_state_and_applies_new_static_values has been running for over 60 seconds
[INFO] [stdout] test static_revision_stale_revision_is_not_applied ... ok
[INFO] [stdout] test static_revision_rejected_by_singbox_check_leaves_everything_unchanged has been running for over 60 seconds
[INFO] [stdout] test static_revision_service_failure_rolls_back_static_and_runtime_config has been running for over 60 seconds
[INFO] [stdout] test render_config_repeated_timer_execution_is_idempotent ... ok
[INFO] [stdout] test user_create_qr_suppresses_the_credential_when_env_var_set ... ok
[INFO] [stdout] test version_prints_own_version ... ok
[INFO] [stdout] test user_create_json_stdout_is_one_document_and_progress_goes_to_stderr ... ok
[INFO] [stdout] test static_revision_unknown_field_or_invalid_value_rejects_entire_revision has been running for over 60 seconds
[INFO] [stdout] test static_revision_preserves_all_dynamic_state_and_applies_new_static_values ... ok
[INFO] [stdout] test static_revision_rejected_by_singbox_check_leaves_everything_unchanged ... ok
[INFO] [stdout] test static_revision_service_failure_rolls_back_static_and_runtime_config ... ok
[INFO] [stdout] test full_user_lifecycle ... ok
[INFO] [stdout] test user_qr_rotates_token_and_warns_it_is_new ... ok
[INFO] [stdout] test user_rotate_token_qr_suppresses_the_credential_when_env_var_set ... ok
[INFO] [stdout] test static_revision_forbidden_role_change_is_rejected_fail_closed ... ok
[INFO] [stdout] test user_create_reload_failure_restores_previous_working_config has been running for over 60 seconds
[INFO] [stdout] test user_create_reload_failure_restores_previous_working_config ... ok
[INFO] [stdout] test user_links_prints_raw_uris_independent_of_subscription_host ... ok
[INFO] [stdout] test static_revision_is_idempotent ... ok
[INFO] [stdout] test each_credential_mutation_states_its_own_blast_radius ... ok
[INFO] [stdout] test user_vision_off_experiment_toggles_only_that_users_flow ... ok
[INFO] [stdout] test future_expiry_extension_does_not_restart_but_expiry_revocation_does ... ok
[INFO] [stdout] test static_revision_unknown_field_or_invalid_value_rejects_entire_revision ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 91 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 183.92s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/relay_cli.rs (/opt/rustwide/target/debug/deps/relay_cli-07fc47c546b89611)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test schema_v1_is_migration_required_and_migration_keeps_the_relay_role ... ok
[INFO] [stdout] test peer_credential_from_stdin_never_appears_in_the_process_arguments ... ok
[INFO] [stdout] test exit_user_links_are_unchanged_by_relay_support ... ok
[INFO] [stdout] test legacy_uuid_argument_still_works_and_warns_about_exposure ... ok
[INFO] [stdout] test user_links_on_a_relay_never_emit_the_first_hop_or_downgrade_a_relay_route ... ok
[INFO] [stdout] test status_reports_identity_role_and_pairing_without_secrets ... ok
[INFO] [stdout] test exit_render_is_unchanged_across_migration_to_explicit_identity ... ok
[INFO] [stdout] test invalid_role_fails_every_command_clearly ... ok
[INFO] [stdout] test relay_backup_restores_onto_the_same_relay_and_keeps_its_restrictions ... ok
[INFO] [stdout] test peer_credential_rotation_accepts_stdin_and_refuses_empty_or_invalid_input_without_echo ... ok
[INFO] [stdout] test relay_render_config_applies_a_fail_closed_document ... ok
[INFO] [stdout] test restore_refuses_a_backup_from_another_role_or_node_and_changes_nothing ... ok
[INFO] [stdout] test production_code_never_bypasses_the_role_aware_renderer ... ok
[INFO] [stdout] test unpaired_relay_renders_reject_all_and_doctor_says_so ... ok
[INFO] [stdout] test read_only_commands_never_print_either_credential_scope ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/common-0ac0b7c9f6dca2cd)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.46s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test framing::tests::encode_decode_roundtrip ... ok
[INFO] [stdout] test tests::unix_seconds_monotonic_add ... ok
[INFO] [stdout] test framing::tests::decode_rejects_unsupported_version ... ok
[INFO] [stdout] test framing::tests::decode_rejects_oversized_host_len ... ok
[INFO] [stdout] test tests::duration_bucket_boundaries ... ok
[INFO] [stdout] test framing::tests::decode_truncated_buffer_returns_none_not_panic ... ok
[INFO] [stdout] test framing::tests::async_write_read_roundtrip ... ok
[INFO] [stdout] test framing::tests::decode_never_panics_on_arbitrary_bytes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/compat_config-cc2e91befa703579)
[INFO] [stdout] 
[INFO] [stdout] running 181 tests
[INFO] [stdout] test authorization::tests::rotation_boundaries_and_revocation_are_fail_closed ... ok
[INFO] [stdout] test authorization::tests::duplicate_and_unbounded_overlap_are_rejected ... ok
[INFO] [stdout] test authorization::tests::restart_view_never_restores_expired_state ... ok
[INFO] [stdout] test contract::tests::obfs_password_is_carried_only_when_configured ... ok
[INFO] [stdout] test contract::tests::vision_off_is_only_advertised_when_the_per_user_opt_in_is_on ... ok
[INFO] [stdout] test credential_policy::tests::a_grant_whose_window_closed_before_revocation_stays_revoked ... ok
[INFO] [stdout] test contract::tests::vision_off_endpoint_has_no_flow_and_production_endpoint_has_vision ... ok
[INFO] [stdout] test credential_policy::tests::a_clock_behind_the_authority_still_honours_a_just_opened_window ... ok
[INFO] [stdout] test authorization::tests::clock_edges_use_closed_open_intervals ... ok
[INFO] [stdout] test authorization::tests::native_renewal_rejects_expiry_revocation_boundary_and_overflow ... ok
[INFO] [stdout] test contract::tests::a_transport_with_no_endpoint_is_not_advertised ... ok
[INFO] [stdout] test authorization::tests::identifiers_are_typed_and_class_compatible ... ok
[INFO] [stdout] test contract::tests::embedded_core_config_is_audited_structurally_not_by_substring ... ok
[INFO] [stdout] test authorization::tests::native_can_renew_for_days_without_extending_the_horizon ... ok
[INFO] [stdout] test contract::tests::a_zero_peer_document_embeds_a_config_whose_selector_matches_its_catalog ... ok
[INFO] [stdout] test contract::tests::generated_document_never_carries_server_private_material ... ok
[INFO] [stdout] test contract::tests::document_advertises_exactly_the_configured_transports ... ok
[INFO] [stdout] test authorization::tests::sweep_line_accepts_sequential_rotation_and_rejects_true_triple_overlap ... ok
[INFO] [stdout] test contract::tests::experimental_capabilities_never_leak_into_production_capabilities ... ok
[INFO] [stdout] test credential_policy::tests::a_rotation_overlapping_by_more_than_the_bound_is_refused ... ok
[INFO] [stdout] test credential_policy::tests::an_already_expired_grant_cannot_contribute_to_a_new_overlap ... ok
[INFO] [stdout] test credential_policy::tests::classes_do_not_interfere_with_each_others_overlap_budget ... ok
[INFO] [stdout] test authorization::tests::native_renewal_preserves_secret_and_extends_only_expiry ... ok
[INFO] [stdout] test credential_policy::tests::a_rotation_overlapping_by_exactly_the_bound_is_accepted ... ok
[INFO] [stdout] test credential_policy::tests::a_grant_that_ends_before_it_starts_is_refused ... ok
[INFO] [stdout] test credential_policy::tests::compat_lifetime_is_clamped_to_the_documented_policy ... ok
[INFO] [stdout] test credential_policy::tests::overlap_of_disjoint_windows_is_zero ... ok
[INFO] [stdout] test credential_policy::tests::overlap_counts_the_shared_window_exactly ... ok
[INFO] [stdout] test credential_policy::tests::principals_are_class_prefixed_and_opaque ... ok
[INFO] [stdout] test credential_policy::tests::the_legacy_secret_helper_is_unused_but_kept_for_the_secret_type ... ok
[INFO] [stdout] test credential_policy::tests::the_skew_tolerance_never_extends_a_credential_past_valid_until ... ok
[INFO] [stdout] test credentials::tests::subscription_token_has_adequate_entropy_and_charset ... ok
[INFO] [stdout] test credentials::tests::uuid_v4_has_expected_shape ... ok
[INFO] [stdout] test credential_policy::tests::revocation_is_unconditional_inside_the_window ... ok
[INFO] [stdout] test credentials::tests::token_hash_verifies_correct_token_only ... ok
[INFO] [stdout] test credential_policy::tests::secrets_are_never_rendered_by_the_debug_representation_of_a_grant ... ok
[INFO] [stdout] test credentials::tests::verify_token_rejects_mismatched_length_hash ... ok
[INFO] [stdout] test credentials::tests::reality_keypair_validation_rejects_mismatch_and_malformed_keys ... ok
[INFO] [stdout] test credentials::tests::reality_public_key_is_derived_from_the_private_key ... ok
[INFO] [stdout] test credentials::tests::generated_values_are_not_trivially_repeated ... ok
[INFO] [stdout] test credentials::tests::public_key_shape_validation_accepts_a_real_key_and_rejects_bad_ones ... ok
[INFO] [stdout] test credential_policy::tests::three_simultaneously_live_grants_are_refused ... ok
[INFO] [stdout] test credentials::tests::short_id_validation_accepts_generated_ids_and_rejects_bad_ones ... ok
[INFO] [stdout] test credential_policy::tests::validity_window_is_half_open_at_valid_until ... ok
[INFO] [stdout] test credentials::tests::short_id_is_never_an_obvious_pattern ... ok
[INFO] [stdout] test deployment::tests::clear_google_egress_hairpin_toml_text_is_a_noop_when_absent ... ok
[INFO] [stdout] test deployment::tests::apply_google_egress_hairpin_toml_refuses_corrupted_input_and_leaves_it_untouched ... ok
[INFO] [stdout] test deployment::tests::migrate_deployment_toml_missing_file_is_not_an_error ... ok
[INFO] [stdout] test deployment::tests::hysteria2_bandwidth_defaults_to_unset ... ok
[INFO] [stdout] test deployment::tests::migrate_text_inserts_marker_once_and_is_idempotent ... ok
[INFO] [stdout] test deployment::tests::hysteria2_bandwidth_set_together_is_valid ... ok
[INFO] [stdout] test deployment::tests::future_schema_version_is_refused ... ok
[INFO] [stdout] test deployment::tests::hysteria2_bandwidth_set_alone_fails_validation ... ok
[INFO] [stdout] test deployment::tests::migrate_deployment_toml_refuses_corrupted_input_and_leaves_it_untouched ... ok
[INFO] [stdout] test deployment::tests::apply_google_egress_hairpin_toml_refuses_an_invalid_section ... ok
[INFO] [stdout] test deployment::tests::explicit_current_schema_version_loads ... ok
[INFO] [stdout] test deployment::tests::clear_google_egress_hairpin_toml_text_removes_an_existing_section ... ok
[INFO] [stdout] test deployment::tests::minimal_toml_parses_with_defaults ... ok
[INFO] [stdout] test deployment::tests::missing_schema_version_defaults_to_zero_and_still_loads ... ok
[INFO] [stdout] test credentials::tests::user_id_has_expected_shape_and_128_bits_of_entropy_source ... ok
[INFO] [stdout] test render::tests::client_subscription_has_no_dns_block_and_no_inbounds ... ok
[INFO] [stdout] test render::tests::client_subscription_never_emits_route_rules ... ok
[INFO] [stdout] test render::tests::auto_profile_defaults_selector_to_urltest_group ... ok
[INFO] [stdout] test deployment::tests::set_google_egress_hairpin_toml_text_replaces_existing_section_in_place ... ok
[INFO] [stdout] test deployment::tests::udp_probe_section_parses_and_defaults_apply ... ok
[INFO] [stdout] test render::tests::client_subscription_profile_shape_is_explicit_and_minimal ... ok
[INFO] [stdout] test render::tests::compatibility_mode_parse_accepts_vision_off_and_still_rejects_unknown_values ... ok
[INFO] [stdout] test render::tests::hysteria2_uri_contains_password_and_sni ... ok
[INFO] [stdout] test render::tests::hysteria2_unavailable_reality_only_profile_remains_fully_usable ... ok
[INFO] [stdout] test render::tests::endpoints_fingerprint_is_deterministic_and_sensitive_to_key_material ... ok
[INFO] [stdout] test render::tests::every_subscription_mode_omits_client_owned_policy ... ok
[INFO] [stdout] test ownership::tests::existing_target_ownership_is_reapplied_to_tmp_file ... ok
[INFO] [stdout] test render::tests::normal_uri_list_is_unchanged_and_still_requests_vision ... ok
[INFO] [stdout] test deployment::tests::migrate_deployment_toml_refuses_future_schema_and_leaves_it_untouched ... ok
[INFO] [stdout] test render::tests::normal_mode_via_with_options_is_identical_to_existing_renderer ... ok
[INFO] [stdout] test render::tests::performance_profile_defaults_selector_to_hysteria2 ... ok
[INFO] [stdout] test render::tests::compatibility_mode_parse_rejects_unknown_values ... ok
[INFO] [stdout] test render::tests::label_with_spaces_is_percent_encoded ... ok
[INFO] [stdout] test render::tests::normal_mode_keeps_vless_and_hysteria2_and_no_network_field ... ok
[INFO] [stdout] test render::tests::quic_reject_keeps_hysteria2_and_vision ... ok
[INFO] [stdout] test render::tests::quic_reject_leaves_every_credential_and_endpoint_identical_to_normal ... ok
[INFO] [stdout] test render::tests::quic_reject_parses_and_normal_mode_is_still_the_default ... ok
[INFO] [stdout] test render::tests::quic_reject_emits_exactly_one_udp_443_reject_rule_with_every_required_field ... ok
[INFO] [stdout] test render::tests::route_final_points_at_manual_selector_not_urltest ... ok
[INFO] [stdout] test render::tests::quic_reject_survives_a_reality_only_deployment ... ok
[INFO] [stdout] test render::tests::rendering_wrong_transport_for_endpoint_errors ... ok
[INFO] [stdout] test render::tests::selector_default_falls_back_to_first_endpoint_when_no_reality_endpoint_present ... ok
[INFO] [stdout] test render::tests::quic_reject_rule_does_not_target_the_server_or_leak_credentials ... ok
[INFO] [stdout] test render::tests::reliability_profile_matches_default_profile_behavior ... ok
[INFO] [stdout] test render::tests::selection_profile_parse_rejects_unknown_values ... ok
[INFO] [stdout] test render::tests::singbox_subscription_has_both_outbounds_and_urltest_selector ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_does_not_add_packet_encoding_xudp ... ok
[INFO] [stdout] test render::tests::only_quic_reject_and_youtube_direct_emit_route_rules ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_emits_no_dns_block_or_tun_inbound ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_leaks_no_private_reality_material ... ok
[INFO] [stdout] test ownership::tests::no_prior_target_falls_back_to_parent_group_without_error ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_reality_only_deployment_still_produces_valid_profile ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_sets_vless_network_tcp_and_drops_hysteria2 ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_route_final_is_valid_and_emits_no_route_rules ... ok
[INFO] [stdout] test render::tests::tcp_only_mode_selector_lists_only_remaining_tags_and_defaults_to_reality ... ok
[INFO] [stdout] test render::tests::to_base64_subscription_of_empty_string_is_empty ... ok
[INFO] [stdout] test render::tests::to_base64_subscription_round_trips_and_matches_known_vector ... ok
[INFO] [stdout] test render::tests::uri_list_contains_both_transports ... ok
[INFO] [stdout] test render::tests::vision_off_mode_adds_no_route_rules_dns_inbounds_or_client_owned_fields ... ok
[INFO] [stdout] test render::tests::vision_off_mode_omits_flow_and_changes_nothing_else_about_the_reality_outbound ... ok
[INFO] [stdout] test render::tests::vision_off_mode_leaks_no_private_reality_material ... ok
[INFO] [stdout] test render::tests::vision_off_mode_selector_and_urltest_reference_the_labeled_reality_tag ... ok
[INFO] [stdout] test render::tests::vision_off_uri_list_labels_only_reality_endpoints_and_leaves_hysteria2_unchanged ... ok
[INFO] [stdout] test render::tests::normal_mode_output_is_byte_for_byte_unchanged_by_the_vision_off_mode_existing ... ok
[INFO] [stdout] test render::tests::selector_default_is_reality_and_lists_hysteria2_and_auto ... ok
[INFO] [stdout] test render::tests::vless_uri_contains_required_reality_fields_and_no_private_key ... ok
[INFO] [stdout] test render::tests::youtube_direct_emits_exactly_one_domain_direct_rule_with_the_full_domain_set ... ok
[INFO] [stdout] test render::tests::youtube_direct_rule_is_not_a_credential_state_or_dns_claim ... ok
[INFO] [stdout] test render::tests::vision_off_mode_keeps_hysteria2_and_udp_capability_unlike_tcp_only ... ok
[INFO] [stdout] test deployment::tests::set_google_egress_hairpin_toml_text_appends_when_absent ... ok
[INFO] [stdout] test secret::tests::debug_never_prints_value ... ok
[INFO] [stdout] test secret::tests::serialize_round_trips_plain_value ... ok
[INFO] [stdout] test deployment::tests::apply_google_egress_hairpin_toml_set_backs_up_and_commits ... ok
[INFO] [stdout] test render::tests::youtube_direct_keeps_every_credential_endpoint_and_selector_identical_to_normal ... ok
[INFO] [stdout] test migrate::tests::atomic_write_leaves_no_tmp_file_behind ... ok
[INFO] [stdout] test render::tests::youtube_direct_parses_and_stays_opt_in ... ok
[INFO] [stdout] test server::tests::both_inbounds_bind_the_dual_stack_wildcard_address ... ok
[INFO] [stdout] test render::tests::vision_off_uri_omits_flow_and_keeps_every_other_parameter_identical ... ok
[INFO] [stdout] test render::tests::vision_off_uri_rejects_wrong_transport ... ok
[INFO] [stdout] test render::tests::youtube_direct_survives_a_reality_only_deployment_and_vice_versa ... ok
[INFO] [stdout] test server::tests::hysteria_bandwidth_omitted_by_default ... ok
[INFO] [stdout] test server::tests::disabled_and_expired_users_are_excluded_from_rendered_config ... ok
[INFO] [stdout] test server::tests::hysteria_bandwidth_set_together_forces_ignore_client_bandwidth ... ok
[INFO] [stdout] test server::tests::rendered_config_never_contains_private_key_string ... ok
[INFO] [stdout] test server::tests::hysteria_masquerade_is_set_when_configured ... ok
[INFO] [stdout] test server::tests::every_user_keeps_the_vision_flow_by_default ... ok
[INFO] [stdout] test server::tests::hysteria_masquerade_omitted_when_not_configured ... ok
[INFO] [stdout] test migrate::tests::backup_is_mode_0600_regardless_of_source_mode ... ok
[INFO] [stdout] test deployment::tests::apply_google_egress_hairpin_toml_clear_backs_up_and_commits ... ok
[INFO] [stdout] test render::tests::standard_endpoints_produces_reality_and_hysteria2 ... ok
[INFO] [stdout] test render::tests::standard_endpoints_threads_hysteria2_obfs_password_into_uri_and_native_json ... ok
[INFO] [stdout] test deployment::tests::migrate_deployment_toml_backup_is_mode_0600 ... ok
[INFO] [stdout] test server::tests::apply_atomically_rejects_invalid_config_and_leaves_existing_file_untouched ... ok
[INFO] [stdout] test server::tests::vision_off_experiment_empties_only_that_users_flow ... ok
[INFO] [stdout] test static_revision::tests::accepts_every_allowlisted_field ... ok
[INFO] [stdout] test server::tests::server_documents_emit_no_per_connection_core_log_lines ... ok
[INFO] [stdout] test static_revision::tests::reality_answers_reject_any_unsafe_or_mixed_resolution ... ok
[INFO] [stdout] test static_revision::tests::plan_is_unchanged_when_values_already_match ... ok
[INFO] [stdout] test static_revision::tests::plan_refuses_an_invalid_current_file ... ok
[INFO] [stdout] test static_revision::tests::plan_clears_hysteria2_bandwidth_with_nulls ... ok
[INFO] [stdout] test static_revision::tests::plan_changes_only_allowlisted_fields_and_preserves_role_and_identity ... ok
[INFO] [stdout] test static_revision::tests::users_document_is_not_routed_as_static ... ok
[INFO] [stdout] test static_revision::tests::rejects_invalid_values ... ok
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test server::tests::secret_file_modes_do_not_depend_on_the_process_umask ... test static_revision::tests::unknown_field_rejects_the_whole_document_not_just_the_field ... ok
[INFO] [stdout] test static_revision::tests::rejects_deferred_port_fields ... ok
[INFO] [stdout] test static_revision::tests::rejects_every_forbidden_field ... ok
[INFO] [stdout] test static_revision::tests::rejects_unknown_or_missing_schema_and_oversized_documents ... ok
[INFO] [stdout] test server::tests::apply_atomically_succeeds_with_no_prior_config ... ok
[INFO] [stdout] test store::tests::detect_schema_corrupted ... ok
[INFO] [stdout] test server::tests::apply_atomically_backs_up_and_swaps_on_valid_config ... ok
[INFO] [stdout] test store::tests::load_users_refuses_corrupted_json ... ok
[INFO] [stdout] test store::tests::detect_schema_missing_file ... ok
[INFO] [stdout] test store::tests::detect_schema_future_version ... ok
[INFO] [stdout] test store::tests::migrate_missing_file_is_not_an_error ... ok
[INFO] [stdout] test store::tests::load_users_reads_legacy_bare_array_transparently ... ok
[INFO] [stdout] test store::tests::missing_file_loads_as_empty ... ok
[INFO] [stdout] test store::tests::load_users_refuses_future_schema_version ... ok
[INFO] [stdout] test store::tests::migrate_refuses_corrupted_input_and_leaves_it_untouched ... ok
[INFO] [stdout] test store::tests::migrate_refuses_future_schema_and_leaves_it_untouched ... ok
[INFO] [stdout] test store::tests::detect_schema_legacy_bare_array ... ok
[INFO] [stdout] test server::tests::renders_five_hundred_active_users_without_truncation ... ok
[INFO] [stdout] test deployment::tests::migrate_deployment_toml_end_to_end_backs_up_migrates_preserves_values ... ok
[INFO] [stdout] test store::tests::save_writes_the_versioned_envelope_shape ... ok
[INFO] [stdout] test store::tests::save_is_atomic_no_partial_file_left_on_success ... ok
[INFO] [stdout] test store::tests::detect_schema_current_after_save ... ok
[INFO] [stdout] test server::tests::applied_config_and_backup_are_never_world_or_group_writable_and_are_0640 ... ok
[INFO] [stdout] test store::tests::migrate_already_current_is_a_noop ... ok
[INFO] [stdout] test store::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test store::tests::saved_file_is_owner_read_write_group_read_only ... ok
[INFO] [stdout] test store::tests::migrate_backup_is_mode_0600_at_least_as_strict_as_live_file ... ok
[INFO] [stdout] test store::tests::migrate_legacy_bare_array_end_to_end_preserves_users_and_backs_up ... ok
[INFO] [stdout] ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 180 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] test server::tests::secret_file_modes_do_not_depend_on_the_process_umask ... ok
[INFO] [stdout] test server::tests::repeated_applies_preserve_group_ownership_across_mutations ... ok
[INFO] [stdout] test store::tests::vision_off_experiment_flag_is_absent_on_disk_unless_set_and_defaults_to_false ... ok
[INFO] [stdout] test store::tests::repeated_saves_preserve_group_ownership_across_mutations ... ok
[INFO] [stdout] test credentials::tests::user_ids_do_not_collide_across_ten_thousand_generations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 181 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/access_paths.rs (/opt/rustwide/target/debug/deps/access_paths-2bd724bb6b69a438)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test relay_metadata_maps_to_non_secret_contract_type ... ok
[INFO] [stdout] test opted_in_path_set_rejects_unknown_peer_path ... ok
[INFO] [stdout] test absent_access_paths_keep_existing_deployment_compatible ... ok
[INFO] [stdout] test duplicate_path_ids_are_rejected ... ok
[INFO] [stdout] test credential_shaped_access_path_keys_fail_closed ... ok
[INFO] [stdout] test legacy_opaque_peer_path_without_access_paths_still_loads ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/c16_host_policy_contract.rs (/opt/rustwide/target/debug/deps/c16_host_policy_contract-09c0b5890f95904a)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test host_policy_matches_authoritative_c16_minus_only_loopback ... 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 tests/contract_fixtures.rs (/opt/rustwide/target/debug/deps/contract_fixtures-5aa62c4f1ce37d18)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test two_independent_endpoints_share_no_credential_or_key_material ... ok
[INFO] [stdout] test the_published_fixture_set_is_exactly_the_documented_one ... ok
[INFO] [stdout] test fixture_malformed_document_is_rejected_with_the_documented_error ... ok
[INFO] [stdout] test fixtures_use_the_documented_fake_credentials ... ok
[INFO] [stdout] test fixture_both_transports_matches_generated_document ... ok
[INFO] [stdout] test fixture_10_never_contains_a_private_key_despite_carrying_a_full_config ... ok
[INFO] [stdout] test fixture_reality_only_matches_generated_document ... ok
[INFO] [stdout] test fixture_diagnostic_vision_off_matches_generated_document ... ok
[INFO] [stdout] test fixture_10_shows_the_complete_document_including_embedded_config ... ok
[INFO] [stdout] test fixture_hysteria2_salamander_obfs_matches_generated_document ... ok
[INFO] [stdout] test no_fixture_contains_anything_that_could_be_a_real_secret ... ok
[INFO] [stdout] test fixture_hysteria2_only_matches_generated_document ... ok
[INFO] [stdout] test fixture_unsupported_schema_version_error_matches_the_served_body ... ok
[INFO] [stdout] test every_generated_fixture_parses_and_validates ... ok
[INFO] [stdout] test fixture_diagnostic_tcp_only_matches_generated_document ... ok
[INFO] [stdout] test fixture_two_independent_endpoints_matches_generated_document ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hiddify_relay_udp.rs (/opt/rustwide/target/debug/deps/hiddify_relay_udp-91137535f76bf31d)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test hiddify_pinned_relay_keeps_xudp_available_to_application_udp ... ok
[INFO] [stdout] test normal_relay_profile_is_unchanged_by_the_hiddify_specific_fix ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hiddify_runtime_contract.rs (/opt/rustwide/target/debug/deps/hiddify_runtime_contract-5189c814931a683d)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test hiddify_pinned_direct_profile_gives_hiddify_exactly_one_route ... ok
[INFO] [stdout] test hiddify_pinned_leaves_the_surviving_outbound_byte_identical_to_normal ... ok
[INFO] [stdout] test quic_reject_route_rule_never_reaches_the_hiddify_runtime ... ok
[INFO] [stdout] test normal_profile_is_round_robin_balanced_by_current_hiddify ... ok
[INFO] [stdout] test privacy_plus_normal_profile_lets_hiddify_balance_onto_a_direct_exit ... ok
[INFO] [stdout] test dump_pinned_profiles ... ok
[INFO] [stderr]      Running tests/hysteria2_interop.rs (/opt/rustwide/target/debug/deps/hysteria2_interop-db28248d96e0166c)
[INFO] [stdout] test hiddify_pinned_privacy_plus_keeps_only_the_relayed_exit ... ok
[INFO] [stdout] test hiddify_pinned_keeps_the_route_the_normal_profile_already_defaulted_to ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test hysteria2_handshake_fails_with_wrong_password ... ok
[INFO] [stdout] test hysteria2_handshake_succeeds_with_matched_password ... ok
[INFO] [stdout] test hysteria2_handshake_fails_with_wrong_obfs_password ... ok
[INFO] [stdout] test hysteria2_obfuscated_handshake_succeeds_with_matched_obfs_password ... ok
[INFO] [stdout] test hysteria2_brutal_bandwidth_config_passes_real_sing_box_check ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/peer_document_assembly.rs (/opt/rustwide/target/debug/deps/peer_document_assembly-98fbea6a64e86e5f)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test a_credential_is_never_coerced_across_transports ... ok
[INFO] [stdout] test a_peer_and_a_local_endpoint_share_no_credential_material ... ok
[INFO] [stdout] test a_local_credential_is_never_used_as_a_fallback_on_a_peer ... ok
[INFO] [stdout] test a_peer_appears_once_the_operator_sets_that_users_credential ... ok
[INFO] [stdout] test a_local_only_document_is_unchanged_by_the_peer_feature_existing ... ok
[INFO] [stdout] test the_peers_own_outbound_carries_the_peers_host_and_key_not_this_servers ... ok
[INFO] [stdout] test a_peer_is_omitted_for_a_user_with_no_credential_for_it ... ok
[INFO] [stdout] test diagnostic_modes_still_behave_with_a_peer_present ... ok
[INFO] [stdout] test two_users_receive_independent_peer_credentials ... ok
[INFO] [stdout] test a_document_with_a_peer_embeds_a_config_that_can_actually_select_it ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/peer_endpoints.rs (/opt/rustwide/target/debug/deps/peer_endpoints-6e1f4b7f7c0f017e)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test debug_of_a_peer_credential_never_prints_the_secret ... ok
[INFO] [stdout] test a_peer_endpoint_becomes_a_compat_endpoint_marked_as_a_peer ... ok
[INFO] [stdout] test a_deployment_with_no_peer_endpoints_loads_exactly_as_before ... ok
[INFO] [stdout] test two_peers_sharing_an_id_are_rejected ... ok
[INFO] [stdout] test a_malformed_reality_public_key_is_rejected ... ok
[INFO] [stdout] test a_peer_private_key_is_refused_rather_than_silently_ignored ... ok
[INFO] [stdout] test a_peer_id_colliding_with_a_local_endpoint_is_rejected ... ok
[INFO] [stdout] test peer_credentials_round_trip_and_are_looked_up_by_endpoint_id ... ok
[INFO] [stdout] test a_user_with_no_peer_credentials_round_trips_byte_identically ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/quic_reject_config.rs (/opt/rustwide/target/debug/deps/quic_reject_config-35cc117c6a1f51c1)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test every_compatibility_mode_renders_a_config_real_sing_box_accepts ... ok
[INFO] [stdout] test quic_reject_rule_fields_survive_a_real_sing_box_parse ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reality_decoy_budget.rs (/opt/rustwide/target/debug/deps/reality_decoy_budget-291b09e340f952e2)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test historically_oversized_decoy_certificate_remains_usable ... 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 tests/reality_interop.rs (/opt/rustwide/target/debug/deps/reality_interop-afb1bad57fd37325)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test reality_handshake_fails_with_mismatched_public_key ... ok
[INFO] [stdout] test reality_handshake_succeeds_with_matched_keypair ... ok
[INFO] [stderr]      Running tests/relay_detour.rs (/opt/rustwide/target/debug/deps/relay_detour-b8e7bcd8b2c8cdbc)
[INFO] [stdout] test server_and_client_configs_agree_on_reality_key_material ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test relay_path_without_via_endpoint_fails_closed ... ok
[INFO] [stdout] test profiles_without_relay_routes_keep_the_single_exit_auto_group ... ok
[INFO] [stdout] test d3_explicit_privacy_plus_has_no_path_that_avoids_the_relay ... ok
[INFO] [stdout] test d3_direct_and_privacy_routes_never_share_an_automatic_group ... ok
[INFO] [stdout] test relay_path_is_real_detour_and_first_hop_is_not_selectable ... ok
[INFO] [stdout] test d3_privacy_plus_is_the_default_and_the_selector_never_switches_by_itself ... ok
[INFO] [stdout] test d3_direct_stays_explicitly_selectable_and_independent_of_the_relay ... ok
[INFO] [stdout] test d3_automatic_choice_between_privacy_routes_exercises_complete_two_hop_routes ... ok
[INFO] [stdout] test d3_no_health_probe_group_in_a_privacy_profile_dials_an_exit_directly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/relay_role_policy.rs (/opt/rustwide/target/debug/deps/relay_role_policy-e729c122040ac9a2)
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test default_node_id_rule_matches_the_shared_installer_fixture_table ... ok
[INFO] [stdout] test deployment_toml_without_public_ipv4_ipv6_fields_still_loads_and_validates ... ok
[INFO] [stdout] test every_rendered_relay_route_rule_is_accepted_by_real_sing_box ... ok
[INFO] [stdout] test dangling_via_endpoint_is_refused_even_when_unused ... ok
[INFO] [stdout] test credential_ref_transport_mismatch_is_refused ... ok
[INFO] [stdout] test dangling_credential_ref_is_refused ... ok
[INFO] [stdout] test duplicate_endpoint_ids_and_tags_are_refused ... ok
[INFO] [stdout] test duplicate_access_path_ids_are_refused ... ok
[INFO] [stdout] test credential_ref_to_a_different_server_is_refused ... ok
[INFO] [stdout] test an_exit_has_no_relay_targets_even_with_peers ... ok
[INFO] [stdout] test exit_must_never_declare_its_own_listener_as_relay_infrastructure ... ok
[INFO] [stdout] test absent_role_means_exit_for_backward_compatibility ... ok
[INFO] [stdout] test exit_without_hairpin_config_renders_exactly_as_before ... ok
[INFO] [stdout] test exit_with_public_ipv4_and_public_ipv6_both_set_combines_into_one_rule ... ok
[INFO] [stdout] test exit_rendering_keeps_inbounds_outbounds_identical_and_adds_mandatory_c16_route ... ok
[INFO] [stdout] test exit_with_hostname_public_host_and_public_ipv6_field_denies_customer_tunnel ... ok
[INFO] [stdout] test exit_with_hostname_public_host_and_public_ipv4_field_denies_customer_tunnel ... ok
[INFO] [stdout] test disabled_and_expired_users_are_absent_from_the_relay_document ... ok
[INFO] [stdout] test exit_with_hairpin_configured_adds_one_outbound_and_sniff_plus_route_rule ... ok
[INFO] [stdout] test exit_with_hairpin_config_but_no_credential_still_renders_unchanged ... ok
[INFO] [stdout] test a_customer_literally_named_arcana_probe_gets_no_probe_confinement_on_exit ... ok
[INFO] [stdout] test a_customer_literally_named_arcana_probe_gains_no_loopback_privilege ... ok
[INFO] [stdout] test exit_hairpin_outbound_never_carries_this_exits_own_private_key ... ok
[INFO] [stdout] test exit_with_hostname_public_host_adds_no_extra_own_ip_rule ... ok
[INFO] [stdout] test exit_denies_customer_tunnel_to_its_own_public_ipv4 ... ok
[INFO] [stdout] test exit_denies_customer_tunnel_to_its_own_public_ipv6 ... ok
[INFO] [stdout] test future_schema_is_refused ... ok
[INFO] [stdout] test invalid_public_ipv4_literal_is_rejected_by_validate ... ok
[INFO] [stdout] test exit_confines_probe_user_and_leaves_customers_unrouted ... ok
[INFO] [stdout] test disabled_probe_user_gets_no_probe_rules_but_keeps_mandatory_c16 ... ok
[INFO] [stdout] test hysteria2_route_over_relay_is_refused ... ok
[INFO] [stdout] test invalid_role_in_deployment_toml_fails_to_load ... ok
[INFO] [stdout] test ipv6_literal_in_public_ipv4_field_is_rejected ... ok
[INFO] [stdout] test hysteria2_first_hop_is_refused ... ok
[INFO] [stdout] test invalid_relay_destinations_are_refused ... ok
[INFO] [stdout] test legacy_exit_without_identity_renders_identically_to_current_exit ... ok
[INFO] [stdout] test fresh_install_templates_render_a_current_loadable_deployment_for_both_roles ... ok
[INFO] [stdout] test migration_of_a_v1_relay_keeps_the_relay_role ... ok
[INFO] [stdout] test migration_only_reads_top_level_keys ... ok
[INFO] [stdout] test migration_preserves_an_existing_node_id ... ok
[INFO] [stdout] test node_role_parser_is_strict ... ok
[INFO] [stdout] test probe_rules_precede_exit_hairpin_rules ... ok
[INFO] [stdout] test probe_urls_are_exactly_covered_by_the_probe_allowlist ... ok
[INFO] [stdout] test probe_rules_precede_relay_policy_which_is_otherwise_unchanged ... ok
[INFO] [stdout] test failed_migration_leaves_previous_state_intact ... ok
[INFO] [stdout] test ip_literal_exit_targets_become_exact_host_cidrs ... ok
[INFO] [stdout] test paired_relay_allows_only_declared_exits_and_ends_in_reject_for_every_inbound ... ok
[INFO] [stdout] test relay_renderer_refuses_a_malformed_in_memory_declaration ... ok
[INFO] [stdout] test provisioning_path_builds_a_real_detour_chain_with_distinct_credentials ... ok
[INFO] [stdout] test relay_hairpin_user_gets_exactly_two_extra_rules_scoped_to_google_domains ... ok
[INFO] [stdout] test removing_the_exit_credential_removes_both_dependent_routes ... ok
[INFO] [stdout] test re_enabling_a_user_never_fabricates_a_missing_peer_credential ... ok
[INFO] [stdout] test relay_targets_come_only_from_declared_relay_routes ... ok
[INFO] [stdout] test share_links_omit_a_peer_the_user_has_no_credential_for ... ok
[INFO] [stdout] test relay_hairpin_flag_off_leaves_relay_rendering_byte_identical ... ok
[INFO] [stdout] test relay_hairpin_user_still_falls_through_to_reject_for_non_google_destinations ... ok
[INFO] [stdout] test relay_role_requires_a_local_ingress_declaration ... ok
[INFO] [stdout] test relay_route_without_via_endpoint_is_refused ... ok
[INFO] [stdout] test rotating_the_exit_credential_does_not_touch_the_first_hop_credential ... ok
[INFO] [stdout] test relay_document_contains_no_exit_credential_and_no_peer_private_material ... ok
[INFO] [stdout] test schema_v2_requires_a_valid_node_id ... ok
[INFO] [stdout] test relay_serves_its_first_hop_but_never_its_hysteria2_listener ... ok
[INFO] [stdout] test udp_relay_capability_is_refused ... ok
[INFO] [stdout] test truncated_deployment_state_fails_to_load ... ok
[INFO] [stdout] test unpaired_relay_loads_and_has_no_targets ... ok
[INFO] [stdout] test unpaired_relay_loopback_selftest_is_scoped_to_the_reserved_probe_principal ... ok
[INFO] [stdout] test unpaired_relay_rejects_everything_when_no_probe_principal_exists ... ok
[INFO] [stdout] test share_links_never_express_a_relay_route_or_the_relay_first_hop ... ok
[INFO] [stdout] test subscription_token_is_independent_of_both_proxy_credentials ... ok
[INFO] [stdout] test rotating_the_first_hop_credential_does_not_touch_the_exit_credential ... ok
[INFO] [stdout] test relay_destinations_cannot_name_internal_or_metadata_addresses ... ok
[INFO] [stdout] test unpaired_relay_provisioning_is_an_explicit_no_route_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/state_integrity.rs (/opt/rustwide/target/debug/deps/state_integrity-d3ebdcdb03b45ce3)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test syntactically_valid_but_wrong_top_level_shape_is_not_treated_as_empty_state ... ok
[INFO] [stdout] test future_users_schema_fails_closed_in_the_public_parse_boundary ... ok
[INFO] [stdout] test failed_pre_rename_write_preserves_the_previous_live_state_byte_for_byte ... ok
[INFO] [stdout] test every_strict_prefix_of_users_file_is_rejected_as_truncated_state ... ok
[INFO] [stderr]      Running tests/static_revision_contract.rs (/opt/rustwide/target/debug/deps/static_revision_contract-e69d3f9ddc221d3c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test every_valid_contract_document_is_accepted ... ok
[INFO] [stdout] test every_invalid_contract_document_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/two_hop_system.rs (/opt/rustwide/target/debug/deps/two_hop_system-25ca0b1a70c97a53)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test harness_readiness_is_owned_by_the_started_process ... ok
[INFO] [stdout] test s01_direct_route_client_exit_target ... ok
[INFO] [stdout] test s13_relay_reaches_only_the_declared_exit_target ... ok
[INFO] [stdout] test s14_reload_and_repair_preserve_role_and_restrictions ... ok
[INFO] [stdout] test harness_ports_are_unique_and_outside_the_ephemeral_range ... ok
[INFO] [stdout] test s15_crash_restart_never_passes_through_an_unrestricted_state ... ok
[INFO] [stdout] test rejected_and_revoked_credentials_never_reach_relay_or_exit_logs ... ok
[INFO] [stdout] test s06_exit_unavailable_fails_without_direct_fallback ... ok
[INFO] [stdout] test s05_wrong_exit_credential_fails_after_reaching_the_relay ... ok
[INFO] [stdout] test s09_expired_user_loses_authorization_after_reconciliation ... ok
[INFO] [stdout] test s10_credential_rotation_old_fails_new_works_scopes_independent ... ok
[INFO] [stdout] test s08_disabled_user_cannot_reconnect ... ok
[INFO] [stdout] test s03_relay_is_not_an_internet_exit ... ok
[INFO] [stdout] test s11_malformed_or_dangling_declarations_fail_closed_and_apply_nothing ... ok
[INFO] [stdout] test s04_wrong_relay_credential_fails ... ok
[INFO] [stdout] test s07_relay_unavailable_fails_while_direct_remains_usable ... ok
[INFO] [stdout] test s12_unpaired_relay_cannot_reach_anything_as_an_exit ... ok
[INFO] [stdout] test core_start_failure_stays_visible_with_production_logging ... ok
[INFO] [stdout] test s02_relay_route_client_relay_exit_target ... ok
[INFO] [stdout] test s16_privacy_plus_client_never_connects_to_the_exit_directly ... ok
[INFO] [stdout] test relay_and_exit_logs_carry_no_credentials_and_no_rejected_destinations ... ok
[INFO] [stdout] test s17_relay_down_privacy_plus_fails_closed_while_direct_stays_explicit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/vpn_provisioning_agent-6fd0c85498431df8)
[INFO] [stdout] 
[INFO] [stdout] running 125 tests
[INFO] [stdout] test dispatch::tests::payload_u64_errors_on_missing_field ... ok
[INFO] [stdout] test config::tests::load_respects_an_explicit_zero_lease_pool_size ... ok
[INFO] [stdout] test config::tests::load_respects_an_explicit_poll_interval ... ok
[INFO] [stdout] test config::tests::load_respects_an_explicit_nonzero_lease_pool_size ... ok
[INFO] [stdout] test config::tests::load_fails_on_missing_file ... ok
[INFO] [stdout] test config::tests::load_parses_a_minimal_config ... ok
[INFO] [stdout] test config::tests::load_rejects_a_non_numeric_lease_pool_size ... ok
[INFO] [stdout] test dispatch::tests::payload_str_reads_a_present_string_field ... ok
[INFO] [stdout] test dispatch::tests::payload_u64_reads_a_present_non_negative_integer ... ok
[INFO] [stdout] test dispatch::tests::payload_u64_errors_on_negative_value ... ok
[INFO] [stdout] test dispatch::tests::payload_str_errors_on_missing_field ... ok
[INFO] [stdout] test dispatch::tests::parse_json_output_errors_on_nonzero_exit ... ok
[INFO] [stdout] test dispatch::tests::optional_expiry_still_rejects_a_non_string_value ... ok
[INFO] [stdout] test dispatch::tests::payload_expires_at_unix_errors_on_malformed_timestamp ... ok
[INFO] [stdout] test external_authorization::tests::canonical_legacy_and_v2_fixtures_parse_exactly ... ok
[INFO] [stdout] test external_authorization::tests::effective_fingerprint_ignores_order_but_detects_secret_and_expiry ... ok
[INFO] [stdout] test dispatch::tests::payload_expires_at_unix_parses_rfc3339 ... ok
[INFO] [stdout] test dispatch::tests::optional_expiry_allows_an_indefinite_create_user ... ok
[INFO] [stdout] test config::tests::protocol_probe_section_parses_with_defaults ... ok
[INFO] [stdout] test external_authorization::tests::policy_rejects_lifetime_overlap_and_three_credentials ... ok
[INFO] [stdout] test external_authorization::tests::privacy_schema_rejects_identity_and_unknown_protocol_fields ... ok
[INFO] [stdout] test external_authorization::tests::revision_zero_advances_to_one_but_cannot_roll_back_or_equivocate ... ok
[INFO] [stdout] test external_authorization::tests::versions_are_explicit_and_never_fall_back ... ok
[INFO] [stdout] test health_probe::tests::probes_a_real_singbox_direct_outbound_successfully ... ok
[INFO] [stdout] test external_authorization::tests::rejects_malformed_route_identity_class_dates_and_secrets ... ok
[INFO] [stdout] test health_probe::tests::returns_false_when_the_server_is_unreachable ... ok
[INFO] [stdout] test lease_pool::tests::expired_slots_rotate_without_any_control_plane ... ok
[INFO] [stdout] test health_probe::tests::returns_none_when_clash_api_not_configured ... ok
[INFO] [stdout] test health_probe::tests::probing_a_nonexistent_outbound_returns_false_against_a_real_singbox ... ok
[INFO] [stdout] test lease_pool::tests::absorb_marks_reported_by_generation_and_reads_urgency_and_extensions ... ok
[INFO] [stdout] test lease_pool::tests::expiry_is_never_deferred_even_right_after_a_rotation ... ok
[INFO] [stdout] test lease_pool::tests::debug_never_prints_secrets ... ok
[INFO] [stdout] test lease_pool::tests::lifetime_clamp_keeps_a_leasable_window_and_native_30_minute_cap ... ok
[INFO] [stdout] test health_probe::tests::returns_true_and_latency_on_a_successful_delay_test ... ok
[INFO] [stdout] test health_probe::tests::honors_an_explicit_probe_outbound_override ... ok
[INFO] [stdout] test lease_pool::tests::renewal_extends_in_place_floored_capped_and_only_for_live_leased_slots ... ok
[INFO] [stdout] test health_probe::tests::returns_false_on_a_non_success_status ... ok
[INFO] [stdout] test lease_pool::tests::non_urgent_revocation_waits_for_the_next_batch_boundary ... ok
[INFO] [stdout] test lease_pool::tests::rotation_bumps_generation_changes_secret_and_marks_unapplied ... ok
[INFO] [stdout] test lease_pool::tests::legacy_state_migrates_ids_without_rotating_protocol_secrets ... ok
[INFO] [stdout] test lease_pool::tests::shrinking_to_zero_empties_the_pool ... ok
[INFO] [stdout] test lease_pool::tests::unleased_slot_rotates_only_once_confirmed_unleased_after_its_window ... ok
[INFO] [stdout] test lease_pool::tests::sync_body_sends_secrets_only_for_unreported_generations_and_policy ... ok
[INFO] [stdout] test op_dedup::tests::entry_count_is_bounded_oldest_evicted_first ... ok
[INFO] [stdout] test external_authorization::tests::persisted_revision_bookkeeping_survives_restart_and_old_format_migrates ... ok
[INFO] [stdout] test lease_pool::tests::urgent_revocation_rotates_now_and_takes_pending_rotations_along ... ok
[INFO] [stdout] test lease_pool::tests::unreported_slot_past_its_window_rotates ... ok
[INFO] [stdout] test op_dedup::tests::lookup_on_a_missing_file_is_none_not_an_error ... ok
[INFO] [stdout] test op_dedup::tests::record_then_lookup_round_trips ... ok
[INFO] [stdout] test op_dedup::tests::lookup_survives_reopening_the_log_at_the_same_path ... ok
[INFO] [stdout] test lease_pool::tests::state_persists_atomically_with_0600_and_survives_reload ... ok
[INFO] [stdout] test op_dedup::tests::expired_entries_are_pruned_on_the_next_record ... ok
[INFO] [stdout] test op_dedup::tests::recording_again_for_the_same_job_id_replaces_not_duplicates ... ok
[INFO] [stdout] test protocol_probe::tests::debug_never_prints_credentials ... ok
[INFO] [stdout] test protocol_probe::tests::duplicate_observation_in_one_round_does_not_advance_failure_streak ... ok
[INFO] [stdout] test protocol_probe::tests::client_config_routes_everything_through_the_probe_outbound ... ok
[INFO] [stdout] test protocol_probe::tests::finds_probe_user_in_vpn_admin_list ... ok
[INFO] [stdout] test protocol_probe::tests::host_override_is_used_for_loopback_self_probe ... ok
[INFO] [stdout] test protocol_probe::tests::one_transient_failure_is_degraded_not_failed ... ok
[INFO] [stdout] test protocol_probe::tests::parses_hysteria2_share_link_with_obfs_and_encoded_password ... ok
[INFO] [stdout] test protocol_probe::tests::parses_openssl_enddate_formats ... ok
[INFO] [stdout] test protocol_probe::tests::parses_reality_share_link ... ok
[INFO] [stdout] test protocol_probe::tests::rejects_non_reality_vless_and_unknown_schemes ... ok
[INFO] [stdout] test protocol_probe::tests::sweeps_only_probe_prefixed_dirs ... ok
[INFO] [stdout] test protocol_probe::tests::target_dedup_is_global_ordered_and_static_first ... ok
[INFO] [stdout] test protocol_probe::tests::trace_ip_extracts_the_egress_address ... ok
[INFO] [stdout] test protocol_probe::tests::unreachable_reality_endpoint_fails_fast_on_tcp_without_spawning ... ok
[INFO] [stdout] test report_queue::tests::enqueue_never_blocks_regardless_of_endpoint_health ... ok
[INFO] [stdout] test lease_pool::tests::batching_bounds_non_urgent_rotations_to_one_per_window ... ok
[INFO] [stdout] test op_dedup_integration_tests::apply_node_revision_twice_across_a_restart_fetches_and_applies_once ... ok
[INFO] [stdout] test op_dedup_integration_tests::disable_user_twice_across_a_restart_applies_once ... ok
[INFO] [stdout] test report_queue::tests::load_on_a_missing_file_is_an_empty_queue_not_an_error ... ok
[INFO] [stdout] test report_queue::tests::enqueue_persists_immediately_even_before_the_background_task_runs ... ok
[INFO] [stdout] test external_authorization::tests::failed_apply_is_never_acked_and_retry_acks_exact_persisted_revision ... ok
[INFO] [stdout] test ssrf_guard::tests::allows_ipv4_mapped_public_addresses ... ok
[INFO] [stdout] test ssrf_guard::tests::allows_ordinary_public_addresses ... ok
[INFO] [stdout] test external_authorization::tests::revision_parser_rejects_non_integer_revision ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_carrier_grade_nat ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_ipv6_ula_and_link_local ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_link_local_v4_generally_too ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_loopback_v4 ... ok
[INFO] [stdout] test protocol_probe::tests::failure_streaks_require_adjacent_observed_rounds_and_remain_bounded ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_loopback_v6 ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_metadata_service ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_rfc1918 ... ok
[INFO] [stdout] test ssrf_guard::tests::resolve_and_validate_allows_public_ip_literal ... ok
[INFO] [stdout] test ssrf_guard::tests::resolve_and_validate_rejects_empty_host ... ok
[INFO] [stdout] test ssrf_guard::tests::resolve_and_validate_rejects_ip_literal_targets ... ok
[INFO] [stdout] test stats::tests::counts_open_connections ... ok
[INFO] [stdout] test stats::tests::handles_counters_beyond_u32 ... ok
[INFO] [stdout] test stats::tests::parses_a_real_clash_api_payload ... ok
[INFO] [stdout] test stats::tests::rejects_a_payload_missing_the_counters ... ok
[INFO] [stdout] test stats::tests::reads_counters_from_a_real_singbox_clash_api ... ok
[INFO] [stdout] test stats::tests::tolerates_a_payload_with_no_connections_key ... ok
[INFO] [stdout] test telemetry::probe_user_count_tests::probe_user_is_not_counted_as_a_customer ... ok
[INFO] [stdout] test stats::tests::rejects_a_wrong_clash_api_secret ... ok
[INFO] [stdout] test op_dedup_integration_tests::enable_user_twice_across_a_restart_applies_once ... ok
[INFO] [stdout] test report_queue::tests::save_then_load_round_trips_and_is_0600_on_unix ... ok
[INFO] [stdout] test ssrf_guard::tests::denies_ipv4_mapped_private_addresses ... ok
[INFO] [stdout] test telemetry::tests::legacy_heartbeat_is_distinguishable_by_absent_contract ... ok
[INFO] [stdout] test report_queue::tests::reboot_discards_terminal_stale_attempt_without_rewriting_its_token ... ok
[INFO] [stdout] test telemetry::tests::uptime_is_nonzero_on_linux_ci ... ok
[INFO] [stdout] test lease_pool::tests::plan_mints_a_bounded_pool_of_distinct_random_slots_on_the_grid ... ok
[INFO] [stdout] test telemetry::tests::proc_readers_never_produce_out_of_range_percentages ... ok
[INFO] [stdout] test report_queue::tests::reboot_replays_persisted_original_attempt_then_drains_queue ... ok
[INFO] [stdout] test worker_client::claim_lease_tests::claim_requires_and_parses_attempt_capability ... ok
[INFO] [stdout] test op_dedup_integration_tests::apply_node_revision_passes_a_static_revision_document_through_verbatim ... ok
[INFO] [stdout] test telemetry::tests::collect_includes_both_probe_fields_when_present ... ok
[INFO] [stdout] test op_dedup_integration_tests::rotate_credentials_twice_across_a_restart_does_not_rotate_twice ... ok
[INFO] [stdout] test telemetry::tests::collect_omits_probe_fields_entirely_when_none ... ok
[INFO] [stdout] test worker_client::claim_lease_tests::reclaimed_attempt_cannot_complete_but_new_attempt_can ... ok
[INFO] [stdout] test worker_client::claim_lease_tests::duplicate_terminal_reports_are_treated_as_accepted_when_server_is_idempotent ... ok
[INFO] [stdout] test telemetry::tests::heartbeat_capability_contract_has_stable_names_and_types ... ok
[INFO] [stdout] test telemetry::tests::collect_includes_probe_ok_false_without_latency ... ok
[INFO] [stdout] test worker_client::external_authorization_tests::failed_ack_can_be_retried_with_the_same_exact_revision ... ok
[INFO] [stdout] test worker_client::external_authorization_tests::fetch_requests_v2_and_ack_contains_only_the_exact_revision ... ok
[INFO] [stdout] test worker_client::claim_lease_tests::complete_and_fail_echo_the_claim_token ... ok
[INFO] [stdout] test worker_client::claim_lease_tests::stale_gone_cancelled_and_unauthorized_are_terminal ... ok
[INFO] [stdout] test op_dedup_integration_tests::create_user_twice_across_a_restart_does_not_mint_a_second_credential ... ok
[INFO] [stdout] test worker_client::claim_lease_tests::timeout_is_transient_and_expired_lease_is_rejected_locally ... ok
[INFO] [stdout] test external_authorization::tests::oversized_snapshot_cannot_replace_previously_accepted_state ... ok
[INFO] [stdout] test external_authorization::tests::large_bounded_snapshot_validates_and_one_over_limit_fails_closed ... ok
[INFO] [stdout] test external_authorization::tests::snapshot_parser_never_panics_on_arbitrary_input ... ok
[INFO] [stdout] test dispatch::tests::timeout_kills_the_child_before_it_can_mutate_state ... ok
[INFO] [stdout] test report_queue::tests::queued_completion_survives_repeated_500s_and_delivers_once_the_endpoint_recovers ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 125 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.24s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/provisioning_contract-cf71d94e0ce87020)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test tests::malformed_uuid_is_rejected ... ok
[INFO] [stdout] test tests::experimental_capability_must_carry_the_diag_prefix ... ok
[INFO] [stdout] test tests::experimental_capability_may_not_appear_in_production_capabilities ... ok
[INFO] [stdout] test tests::missing_reality_short_id_is_rejected ... ok
[INFO] [stdout] test tests::empty_hysteria2_password_is_rejected ... ok
[INFO] [stdout] test tests::missing_reality_public_key_is_rejected ... ok
[INFO] [stdout] test tests::non_hex_short_id_is_rejected ... ok
[INFO] [stdout] test tests::capability_advertised_without_an_endpoint_is_rejected ... ok
[INFO] [stdout] test tests::duplicate_endpoint_ids_are_rejected ... ok
[INFO] [stdout] test tests::both_transports_document_is_valid ... ok
[INFO] [stdout] test tests::from_json_rejects_an_unsupported_schema_version ... ok
[INFO] [stdout] test tests::a_document_carrying_forbidden_content_fails_validation ... ok
[INFO] [stdout] test tests::experimental_capabilities_are_a_separate_field_from_production_ones ... ok
[INFO] [stdout] test tests::endpoint_without_its_capability_is_rejected ... ok
[INFO] [stdout] test tests::unknown_capability_and_transport_round_trip_for_forward_compatibility ... ok
[INFO] [stdout] test tests::schema_version_is_explicit_and_current ... ok
[INFO] [stdout] test tests::zero_port_and_malformed_host_are_rejected ... ok
[INFO] [stdout] test tests::reality_only_document_reports_hysteria2_unavailable ... ok
[INFO] [stdout] test tests::unexpected_flow_is_rejected ... ok
[INFO] [stdout] test tests::transport_is_an_internally_tagged_discriminator_on_the_endpoint ... ok
[INFO] [stdout] test tests::serialized_document_contains_no_forbidden_key_or_value ... ok
[INFO] [stdout] test tests::unsupported_schema_version_error_body_is_machine_readable ... ok
[INFO] [stdout] test tests::unsupported_schema_version_is_rejected_not_reinterpreted ... ok
[INFO] [stdout] test tests::vision_off_endpoint_omits_flow_entirely_rather_than_emptying_it ... ok
[INFO] [stdout] test tests::unknown_obfuscator_is_rejected ... ok
[INFO] [stdout] test tests::json_round_trip_preserves_every_field ... ok
[INFO] [stdout] test tests::empty_obfs_password_is_rejected ... ok
[INFO] [stderr]      Running tests/access_paths.rs (/opt/rustwide/target/debug/deps/access_paths-e63e3259b9fc9a26)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test empty_or_duplicate_capabilities_are_rejected ... ok
[INFO] [stdout] test duplicate_access_path_ids_are_rejected ... ok
[INFO] [stdout] test relayed_catalog_with_privacy_only_automatic_group_is_servable ... ok
[INFO] [stdout] test unknown_access_path_kind_round_trips ... ok
[INFO] [stderr]      Running tests/adversarial_contract.rs (/opt/rustwide/target/debug/deps/adversarial_contract-fb4e5af6cc60019f)
[INFO] [stdout] test empty_access_paths_are_absent_and_schema_stays_one ... ok
[INFO] [stdout] test legacy_opaque_path_without_access_paths_remains_forward_compatible ... ok
[INFO] [stdout] test declared_path_set_rejects_dangling_endpoint_reference ... ok
[INFO] [stdout] test relayed_endpoint_rendered_without_detour_is_rejected ... ok
[INFO] [stdout] test automatic_group_mixing_direct_and_relayed_routes_is_rejected ... ok
[INFO] [stdout] test relay_metadata_round_trips_without_secrets ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test invalid_endpoint_host_and_zero_port_are_rejected_before_serialization ... ok
[INFO] [stdout] test forbidden_server_private_or_client_policy_markers_fail_closed ... ok
[INFO] [stdout] test a_future_schema_version_is_rejected_at_the_parse_boundary ... ok
[INFO] [stdout] test every_strict_prefix_of_a_valid_document_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/metadata_and_embedded_config.rs (/opt/rustwide/target/debug/deps/metadata_and_embedded_config-d4c31acd3b644e46)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test a_private_key_anywhere_in_the_embedded_config_is_rejected ... ok
[INFO] [stdout] test a_server_filesystem_path_in_the_embedded_config_is_rejected ... ok
[INFO] [stdout] test the_envelope_substring_audit_still_rejects_forbidden_content_outside_the_config ... ok
[INFO] [stdout] test every_endpoint_tag_must_have_a_matching_core_outbound ... ok
[INFO] [stdout] test route_final_must_name_the_selector_group ... ok
[INFO] [stdout] test metadata_round_trips_through_json ... ok
[INFO] [stdout] test an_unknown_path_value_round_trips_rather_than_failing_the_parse ... ok
[INFO] [stdout] test schema_version_stays_one_with_the_new_fields_populated ... ok
[INFO] [stdout] test insecure_true_is_rejected_anywhere_in_the_embedded_config ... ok
[INFO] [stdout] test a_selector_missing_an_endpoint_tag_is_rejected ... ok
[INFO] [stdout] test the_selector_must_list_exactly_the_endpoint_tags_plus_auto ... ok
[INFO] [stdout] test a_document_with_no_new_fields_serializes_without_any_of_their_keys ... ok
[INFO] [stdout] test a_well_formed_two_domain_document_validates ... ok
[INFO] [stdout] test client_owned_policy_blocks_are_rejected_by_the_top_level_allowlist ... ok
[INFO] [stdout] test insecure_false_is_accepted_because_it_asserts_verification_is_on ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/subscription-20268a885725ba9d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[INFO] [stdout] test tests::an_unsupported_version_path_reports_which_versions_exist ... ok
[INFO] [stdout] test relay_subscription_tests::share_links_on_a_relay_contain_only_the_direct_exit_route ... ok
[INFO] [stdout] test relay_subscription_tests::disabled_relay_user_is_a_generic_404_on_every_route ... ok
[INFO] [stdout] test tests::compat_hiddify_pinned_serves_exactly_one_selectable_outbound ... ok
[INFO] [stdout] test tests::adding_quic_reject_does_not_change_the_normal_subscription ... ok
[INFO] [stdout] test relay_subscription_tests::a_relay_user_without_an_exit_credential_gets_no_route_not_the_first_hop ... ok
[INFO] [stdout] test tests::absent_encoding_leaves_uri_format_byte_identical_to_before ... ok
[INFO] [stdout] test relay_subscription_tests::native_singbox_format_on_a_relay_uses_the_detour_chain ... ok
[INFO] [stdout] test relay_subscription_tests::provisioning_on_a_paired_relay_serves_direct_and_via_routes_only ... ok
[INFO] [stdout] test relay_subscription_tests::every_format_answers_no_route_for_an_unpaired_relay ... ok
[INFO] [stdout] test tests::compat_hiddify_pinned_with_uri_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::adding_hiddify_pinned_does_not_change_the_normal_subscription ... ok
[INFO] [stdout] test tests::a_non_numeric_schema_version_is_an_explicit_error_not_a_guess ... ok
[INFO] [stdout] test relay_subscription_tests::live_fingerprint_matches_the_canonical_relay_endpoint_set ... ok
[INFO] [stdout] test tests::compat_quic_reject_with_singbox_format_emits_the_udp_443_reject_rule ... ok
[INFO] [stdout] test tests::compat_quic_reject_with_hiddify_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::an_unknown_diagnostic_is_rejected_rather_than_silently_ignored ... ok
[INFO] [stdout] test tests::compat_quic_reject_with_uri_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::compat_vision_off_with_hiddify_format_returns_share_links_without_flow ... ok
[INFO] [stdout] test tests::compat_tcp_only_with_uri_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::compat_vision_off_with_singbox_format_omits_flow_and_keeps_hysteria2 ... ok
[INFO] [stdout] test tests::compat_tcp_only_with_singbox_format_returns_200_and_tcp_only_json ... ok
[INFO] [stdout] test tests::compat_vision_off_uri_and_hiddify_formats_are_identical ... ok
[INFO] [stdout] test tests::compat_tcp_only_with_hiddify_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::compat_youtube_direct_only_differs_from_normal_by_the_route_block ... ok
[INFO] [stdout] test tests::compat_youtube_direct_with_uri_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::compat_youtube_direct_with_singbox_format_emits_the_domain_direct_rule ... ok
[INFO] [stdout] test tests::compat_youtube_direct_with_hiddify_format_is_rejected_not_silently_degraded ... ok
[INFO] [stdout] test tests::default_and_existing_format_outputs_are_byte_for_byte_unchanged ... ok
[INFO] [stdout] test tests::no_secret_material_appears_in_any_log_line_at_any_verbosity ... ok
[INFO] [stdout] test tests::encoding_base64_with_singbox_format_is_rejected_not_silently_ignored ... ok
[INFO] [stdout] test tests::hiddify_format_is_identical_to_uri_format ... ok
[INFO] [stdout] test tests::diagnostic_tcp_only_removes_hysteria2_entirely ... ok
[INFO] [stdout] test tests::disabled_user_token_returns_404_not_a_distinguishable_error ... ok
[INFO] [stdout] test tests::hiddify_format_with_encoding_base64_returns_decodable_body ... ok
[INFO] [stdout] test tests::diagnostic_vision_off_omits_the_flow_field ... ok
[INFO] [stdout] test tests::normal_subscription_unchanged_when_compat_param_absent ... ok
[INFO] [stdout] test tests::healthz_responds_ok ... ok
[INFO] [stdout] test tests::existing_outputs_are_byte_for_byte_unchanged_by_the_vision_off_mode_existing ... ok
[INFO] [stdout] test tests::experimental_capabilities_are_never_production_capabilities ... ok
[INFO] [stdout] test tests::oversized_token_is_rejected_cheaply ... ok
[INFO] [stdout] test tests::state_fingerprint_matches_in_memory_endpoints_and_never_leaks_raw_values ... ok
[INFO] [stdout] test tests::removed_xray_format_is_rejected_as_an_unknown_format ... ok
[INFO] [stdout] test tests::subscription_responses_are_never_cacheable_success_or_error ... ok
[INFO] [stdout] test tests::subscription_served_event_is_still_available_when_an_operator_raises_the_log_level ... ok
[INFO] [stdout] test tests::subscription_served_event_is_not_logged_at_the_production_default_level ... ok
[INFO] [stdout] test tests::user_id_is_never_accepted_where_a_subscription_token_is_expected ... ok
[INFO] [stdout] test tests::unknown_compat_value_returns_400 ... ok
[INFO] [stdout] test tests::unknown_token_returns_generic_404 ... ok
[INFO] [stdout] test tests::unknown_encoding_value_returns_400 ... ok
[INFO] [stdout] test tests::uri_format_with_encoding_base64_returns_decodable_body ... ok
[INFO] [stdout] test tests::v1_provision_and_the_legacy_share_links_agree_on_credentials ... ok
[INFO] [stdout] test tests::v1_provision_capabilities_follow_real_configuration ... ok
[INFO] [stdout] test tests::v1_provision_accepts_an_explicit_matching_schema_version ... ok
[INFO] [stdout] test tests::v1_provision_carries_salamander_obfs_only_when_configured ... ok
[INFO] [stdout] test tests::the_production_profile_is_what_a_client_gets_without_asking_for_a_diagnostic ... ok
[INFO] [stdout] test tests::uri_format_returns_plaintext_share_links ... ok
[INFO] [stdout] test tests::v1_provision_rejects_an_unsupported_schema_version_explicitly ... ok
[INFO] [stdout] test tests::v1_provision_for_a_zero_peer_deployment_emits_no_new_endpoint_keys ... ok
[INFO] [stdout] test tests::v1_provision_embeds_a_config_whose_selector_can_reach_the_peer ... ok
[INFO] [stdout] test tests::v1_provision_omits_a_peer_the_user_has_no_credential_for ... ok
[INFO] [stdout] test tests::valid_token_returns_singbox_subscription ... ok
[INFO] [stdout] test tests::v1_provision_uses_the_same_token_and_404_semantics_as_sub ... ok
[INFO] [stdout] test tests::vision_off_with_encoding_base64_returns_decodable_body_without_flow ... ok
[INFO] [stdout] test tests::v1_provision_responses_are_never_cacheable ... ok
[INFO] [stdout] test tests::v1_provision_never_carries_server_private_or_client_owned_material ... ok
[INFO] [stdout] test tests::v1_provision_serves_a_peer_with_its_own_credential_and_metadata ... ok
[INFO] [stdout] test tests::v1_provision_serves_a_valid_versioned_contract ... ok
[INFO] [stdout] test rate_limit_regression::bucket_map_does_not_grow_without_bound ... ok
[INFO] [stdout] test rate_limit_regression::a_single_source_burst_does_not_lock_out_the_deployment ... ok
[INFO] [stdout] test tests::subscription_survives_a_poisoned_rate_limiter_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/subscription-78839c966580a376)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test hysteria_obfs_password_tests::empty_file_is_treated_as_disabled ... ok
[INFO] [stdout] test hysteria_obfs_password_tests::missing_file_is_none_not_an_error ... ok
[INFO] [stdout] test hysteria_obfs_password_tests::valid_password_is_trimmed_and_returned ... ok
[INFO] [stdout] test hysteria_obfs_password_tests::unreadable_present_file_fails_closed_rather_than_looking_disabled ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/startup_validation.rs (/opt/rustwide/target/debug/deps/startup_validation-31636ed537f1001e)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test refuses_to_start_when_hysteria_obfs_password_file_is_unreadable ... ok
[INFO] [stdout] test release_binary_exposes_package_version ... ok
[INFO] [stdout] test refuses_to_start_with_malformed_public_key ... ok
[INFO] [stdout] test refuses_to_start_with_empty_short_id ... ok
[INFO] [stdout] test refuses_to_start_with_truncated_public_key ... ok
[INFO] [stdout] test refuses_to_start_with_empty_public_key ... ok
[INFO] [stdout] test refuses_to_start_with_non_hex_short_id ... ok
[INFO] [stdout] test starts_successfully_with_valid_reality_material ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests common
[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 compat_config
[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 provisioning_contract
[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 subscription
[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" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9", kill_on_drop: false }`
[INFO] [stdout] 835efa1c951fe2d5d1cc2539c2fe6c31ae29e5e8b209d4b3fd8aa38ac80f7ef9
