[INFO] cloning repository https://github.com/xpo-sh/xpo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xpo-sh/xpo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxpo-sh%2Fxpo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxpo-sh%2Fxpo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 24be61a725188ce7c5efb49200143cb7dabee610 [INFO] testing xpo-sh/xpo against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxpo-sh%2Fxpo" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/xpo-sh/xpo [INFO] finished tweaking git repo https://github.com/xpo-sh/xpo [INFO] tweaked toml for git repo https://github.com/xpo-sh/xpo written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/xpo-sh/xpo on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/xpo-sh/xpo 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e7975ef88f14167d2cf05cf4db893021bf93902ee9025d0eec2eb9d5b8762f20 [INFO] running `Command { std: "docker" "start" "-a" "e7975ef88f14167d2cf05cf4db893021bf93902ee9025d0eec2eb9d5b8762f20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e7975ef88f14167d2cf05cf4db893021bf93902ee9025d0eec2eb9d5b8762f20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7975ef88f14167d2cf05cf4db893021bf93902ee9025d0eec2eb9d5b8762f20", kill_on_drop: false }` [INFO] [stdout] e7975ef88f14167d2cf05cf4db893021bf93902ee9025d0eec2eb9d5b8762f20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c4aeeecefb510fb4936a92a6577eafc964134c863196a014c599a6c57507c9b8 [INFO] running `Command { std: "docker" "start" "-a" "c4aeeecefb510fb4936a92a6577eafc964134c863196a014c599a6c57507c9b8", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling untrusted v0.7.1 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling oid-registry v0.8.1 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling rusticata-macros v4.1.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling console v0.16.2 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling fast_qr v0.13.1 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling indicatif v0.18.4 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling toml v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling terminal_size v0.4.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling yasna v0.5.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling asn1-rs-derive v0.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling asn1-rs v0.7.1 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling der-parser v10.0.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling jsonwebtoken v10.3.0 [INFO] [stderr] Compiling x509-parser v0.18.1 [INFO] [stderr] Compiling xpo-core v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-core) [INFO] [stderr] Compiling rcgen v0.14.7 [INFO] [stderr] Compiling xpo-tui v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-tui) [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling instant-acme v0.8.5 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling xpo v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-client) [INFO] [stderr] Compiling xpo-server v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-server) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 56s [INFO] running `Command { std: "docker" "inspect" "c4aeeecefb510fb4936a92a6577eafc964134c863196a014c599a6c57507c9b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4aeeecefb510fb4936a92a6577eafc964134c863196a014c599a6c57507c9b8", kill_on_drop: false }` [INFO] [stdout] c4aeeecefb510fb4936a92a6577eafc964134c863196a014c599a6c57507c9b8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8bc4bb641278c3a91be95313a154d7e850f42d55c9c8da91a52f06914e575fd2 [INFO] running `Command { std: "docker" "start" "-a" "8bc4bb641278c3a91be95313a154d7e850f42d55c9c8da91a52f06914e575fd2", kill_on_drop: false }` [INFO] [stderr] Compiling xpo-tui v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-tui) [INFO] [stderr] Compiling xpo-core v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-core) [INFO] [stderr] Compiling xpo-server v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-server) [INFO] [stderr] Compiling xpo v0.4.2-alpha (/opt/rustwide/workdir/crates/xpo-client) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.17s [INFO] running `Command { std: "docker" "inspect" "8bc4bb641278c3a91be95313a154d7e850f42d55c9c8da91a52f06914e575fd2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8bc4bb641278c3a91be95313a154d7e850f42d55c9c8da91a52f06914e575fd2", kill_on_drop: false }` [INFO] [stdout] 8bc4bb641278c3a91be95313a154d7e850f42d55c9c8da91a52f06914e575fd2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 314c482f4af6e6505b742389f8e2428f24f64c1becdac25783335e18fc50db90 [INFO] running `Command { std: "docker" "start" "-a" "314c482f4af6e6505b742389f8e2428f24f64c1becdac25783335e18fc50db90", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/xpo-f229163fb3dc279a) [INFO] [stdout] [INFO] [stdout] running 86 tests [INFO] [stdout] test dev::ca::tests::empty_bytes_needs_renewal ... ok [INFO] [stdout] test dev::ca::tests::invalid_pem_needs_renewal ... ok [INFO] [stdout] test dev::proxy::tests::error_page_504_structure ... ok [INFO] [stdout] test dev::proxy::tests::error_page_content_length_matches_body ... ok [INFO] [stdout] test dev::setup::tests::anchor_inserted_after_last_rdr_anchor ... ok [INFO] [stdout] test dev::setup::tests::idempotent_does_not_duplicate ... ok [INFO] [stdout] test dev::proxy::tests::http_redirect_response ... ok [INFO] [stdout] test dev::proxy::tests::error_page_502_structure ... ok [INFO] [stdout] test dev::setup::tests::migrate_old_xpo_block_to_anchor ... ok [INFO] [stdout] test dev::uninstall::tests::clean_pf_conf_unchanged ... ok [INFO] [stdout] test dev::proxy::tests::rolling_log_via_event_channel ... ok [INFO] [stdout] test dev::setup::tests::verify_pf_runtime_state_parses_anchor_output ... ok [INFO] [stdout] test dev::uninstall::tests::strip_anchor_lines ... ok [INFO] [stdout] test dev::proxy::tests::error_page_has_dark_and_light_theme ... ok [INFO] [stdout] test dev::uninstall::tests::strip_both_old_and_new ... ok [INFO] [stdout] test dev::uninstall::tests::strip_old_xpo_markers ... ok [INFO] [stdout] test list::tests::format_duration_hours ... ok [INFO] [stdout] test hmr::tests::should_strip_accept_encoding_for_js_assets ... ok [INFO] [stdout] test dev::setup::tests::no_rdr_anchor_appends_at_end ... ok [INFO] [stdout] test list::tests::format_duration_minutes ... ok [INFO] [stdout] test list::tests::format_duration_seconds ... ok [INFO] [stdout] test list::tests::parse_test_domains_empty ... ok [INFO] [stdout] test hmr::tests::does_not_rewrite_unrelated_js ... ok [INFO] [stdout] test list::tests::parse_test_domains_basic ... ok [INFO] [stdout] test list::tests::parse_test_domains_inline_comments ... ok [INFO] [stdout] test list::tests::parse_test_domains_ignores_non_test ... ok [INFO] [stdout] test list::tests::parse_test_domains_comments ... ok [INFO] [stdout] test tests::invalid_names ... ok [INFO] [stdout] test tests::valid_names ... ok [INFO] [stdout] test tunnel::tests::build_cors_preflight_response_returns_204 ... ok [INFO] [stdout] test tunnel::tests::inject_cors_headers_adds_all_headers ... ok [INFO] [stdout] test tunnel::tests::inject_cors_headers_preserves_binary_body ... ok [INFO] [stdout] test tunnel::tests::inject_cors_headers_no_header_terminator ... ok [INFO] [stdout] test list::tests::parse_test_domains_multiple_per_line ... ok [INFO] [stdout] test tunnel::tests::is_cors_preflight_rejects_get_with_origin ... ok [INFO] [stdout] test tunnel::tests::is_cors_preflight_detects_options_with_origin ... ok [INFO] [stdout] test tunnel::tests::is_cors_preflight_rejects_options_without_origin ... ok [INFO] [stdout] test tunnel::tests::parse_password_colon_in_password ... ok [INFO] [stdout] test tunnel::tests::parse_password_none ... ok [INFO] [stdout] test tunnel::tests::parse_password_with_username ... ok [INFO] [stdout] test tunnel::tests::parse_raw_request_basic_get ... ok [INFO] [stdout] test tunnel::tests::parse_raw_request_no_header_end ... ok [INFO] [stdout] test hmr::tests::uses_public_scheme_for_rewrite ... ok [INFO] [stdout] test tunnel::tests::parse_password_only ... ok [INFO] [stdout] test tunnel::tests::parse_raw_request_post_with_body ... ok [INFO] [stdout] test hmr::tests::rewrites_webpack_bundle_with_private_ip ... ok [INFO] [stdout] test hmr::tests::strips_invalidated_headers_when_rewriting ... ok [INFO] [stdout] test hmr::tests::rewrites_webpack_bundle_with_zero_host ... ok [INFO] [stdout] test tunnel::tests::parse_raw_request_with_query ... ok [INFO] [stdout] test tunnel::tests::parse_raw_request_binary_body ... ok [INFO] [stdout] test tunnel::tests::inject_cors_headers_strips_existing_cors ... ok [INFO] [stdout] test dev::ca::tests::already_expired_cert_needs_renewal ... ok [INFO] [stdout] test dev::ca::tests::cert_expiring_in_10_days_needs_renewal ... ok [INFO] [stdout] test dev::ca::tests::cert_expiring_in_31_days_does_not_need_renewal ... ok [INFO] [stdout] test dev::ca::tests::cert_expiring_in_29_days_needs_renewal ... ok [INFO] [stdout] test dev::ca::tests::cert_expiring_in_800_days_does_not_need_renewal ... ok [INFO] [stdout] test dev::proxy::tests::e2e_proxy_502_upstream_down ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_rewrites_webpack_bundle_and_strips_etag ... ok [INFO] [stdout] test tunnel::tests::qr_code_generates_for_valid_url ... ok [INFO] [stdout] test tunnel::tests::rewrite_host_and_origin_headers_overrides_origin_when_requested ... ok [INFO] [stdout] test tunnel::tests::rewrite_host_header_no_host ... ok [INFO] [stdout] test tunnel::tests::rewrite_host_header_preserves_body ... ok [INFO] [stdout] test tunnel::tests::rewrite_host_header_replaces_host ... ok [INFO] [stdout] test tunnel::tests::serialize_response_basic ... ok [INFO] [stdout] test tunnel::tests::serialize_response_empty_body ... ok [INFO] [stdout] test tunnel::tests::serialize_response_preserves_binary_body ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_chunked_plus_gzip ... ok [INFO] [stdout] test tunnel::tests::serialize_response_strips_transfer_encoding ... ok [INFO] [stdout] test tunnel::tests::serialize_response_strips_content_length ... ok [INFO] [stdout] test wait::tests::wait_for_port_immediate_success ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_strict_host_check ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_post_body_forwarded ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_binary_response ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_hmr_candidate_strips_accept_encoding ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_host_with_port ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_custom_headers_preserved ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_basic_200 ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_empty_body_204 ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_connection_refused ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_gzip_preserved ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_4xx_passthrough ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_chunked_response ... ok [INFO] [stdout] test tunnel::tests::proxy_http_reqwest_redirect_not_followed ... ok [INFO] [stdout] test wait::tests::wait_for_port_delayed_start ... ok [INFO] [stdout] test wait::tests::wait_for_port_timeout ... ok [INFO] [stdout] test dev::proxy::tests::e2e_proxy_200 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 86 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/xpo_core-a7607274053e98f9) [INFO] [stdout] running 54 tests [INFO] [stdout] test auth::tests::tampered_token ... ok [INFO] [stdout] test auth::tests::valid_token ... ok [INFO] [stdout] test auth::tests::wrong_audience ... ok [INFO] [stdout] test auth::tests::invalid_token_string ... ok [INFO] [stdout] test config::tests::deserialize_full_config ... ok [INFO] [stdout] test config::tests::default_server_value ... ok [INFO] [stdout] test config::tests::is_authenticated ... ok [INFO] [stdout] test config::tests::serialize_roundtrip ... ok [INFO] [stdout] test config::tests::is_expired ... ok [INFO] [stdout] test error_page::tests::has_dark_and_light_theme ... ok [INFO] [stdout] test error_page::tests::html_escape_noop_on_clean_text ... ok [INFO] [stdout] test error_page::tests::html_escape_special_chars ... ok [INFO] [stdout] test config::tests::config_concurrent_save_does_not_corrupt ... ok [INFO] [stdout] test error_page::tests::render_basic_error_page ... ok [INFO] [stdout] test error_page::tests::render_custom_brand ... ok [INFO] [stdout] test error_page::tests::render_escapes_xss ... ok [INFO] [stdout] test error_page::tests::render_raw_html_message ... ok [INFO] [stdout] test error_page::tests::render_without_hint ... ok [INFO] [stdout] test error_page::tests::render_with_title ... ok [INFO] [stdout] test error_page::tests::render_with_hint ... ok [INFO] [stdout] test error_page::tests::render_without_title ... ok [INFO] [stdout] test error_page::tests::status_text_known_codes ... ok [INFO] [stdout] test error_page::tests::status_text_unknown_no_title ... ok [INFO] [stdout] test auth::tests::wrong_secret ... ok [INFO] [stdout] test config::tests::clear_tokens ... ok [INFO] [stdout] test error_page::tests::status_text_unknown_with_title ... ok [INFO] [stdout] test auth::tests::expired_token ... ok [INFO] [stdout] test http::http_tests::content_type_to_extension_default ... ok [INFO] [stdout] test http::http_tests::content_type_to_extension_json ... ok [INFO] [stdout] test http::http_tests::content_type_to_extension_missing ... ok [INFO] [stdout] test http::http_tests::extract_body_preview_empty ... ok [INFO] [stdout] test http::http_tests::extract_body_preview_truncates ... ok [INFO] [stdout] test http::http_tests::parse_http_headers_basic ... ok [INFO] [stdout] test http::http_tests::content_type_to_extension_html ... ok [INFO] [stdout] test protocol::tests::client_control_auth_json ... ok [INFO] [stdout] test protocol::tests::heartbeat_pong_empty_payload ... ok [INFO] [stdout] test protocol::tests::packet_decode_too_short ... ok [INFO] [stdout] test protocol::tests::client_control_hello_json ... ok [INFO] [stdout] test http::http_tests::parse_http_headers_empty ... ok [INFO] [stdout] test http::http_tests::extract_body_preview_utf8_safe ... ok [INFO] [stdout] test protocol::tests::packet_type_valid ... ok [INFO] [stdout] test protocol::tests::packet_type_invalid ... ok [INFO] [stdout] test protocol::tests::client_control_hello_with_password ... ok [INFO] [stdout] test protocol::tests::packet_binary_format ... ok [INFO] [stdout] test protocol::tests::packet_decode_unknown_type ... ok [INFO] [stdout] test protocol::tests::stream_id_bytes_roundtrip ... ok [INFO] [stdout] test protocol::tests::server_control_all_variants_json ... ok [INFO] [stdout] test protocol::tests::packet_large_payload ... ok [INFO] [stdout] test protocol::tests::stream_id_unique ... ok [INFO] [stdout] test protocol::tests::client_control_hello_backward_compat ... ok [INFO] [stdout] test protocol::tests::client_control_hello_with_ttl ... ok [INFO] [stdout] test protocol::tests::packet_encode_decode_roundtrip ... ok [INFO] [stdout] test auth::tests::public_key_validator_rejects_hs256_token ... ok [INFO] [stdout] test auth::tests::valid_public_key_token ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/xpo_server-cdb0cd81d9bafae0) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test config::tests::localhost_defaults_to_dev_secret ... ok [INFO] [stdout] test config::tests::inline_public_key_unescapes_newlines ... ok [INFO] [stdout] test config::tests::public_domain_rejects_shared_secret ... ok [INFO] [stdout] test config::tests::public_domain_requires_public_key ... ok [INFO] [stdout] test http::tests::extract_subdomain_custom_domain ... ok [INFO] [stdout] test config::tests::public_key_path_loads_file ... ok [INFO] [stdout] test config::tests::public_key_path_requires_pem ... ok [INFO] [stdout] test http::tests::extract_subdomain_localhost ... ok [INFO] [stdout] test http::tests::extract_subdomain_rejects_multi_level ... ok [INFO] [stdout] test http::tests::extract_subdomain_none ... ok [INFO] [stdout] test http::tests::extract_subdomain_xpo_sh ... ok [INFO] [stdout] test http::tests::parse_response_basic ... ok [INFO] [stdout] test http::tests::text_response_escapes_xss_in_body ... ok [INFO] [stdout] test http::tests::parse_response_empty ... ok [INFO] [stdout] test http::tests::verify_basic_auth_custom_username ... ok [INFO] [stdout] test http::tests::verify_basic_auth_valid ... ok [INFO] [stdout] test ws::tests::plan_limits_from_free_profile ... ok [INFO] [stdout] test ws::tests::plan_limits_from_pro_profile ... ok [INFO] [stdout] test http::tests::tunnels_api_json_format ... ok [INFO] [stdout] test ws::tests::plan_limits_from_team_profile ... ok [INFO] [stdout] test ws::tests::plan_limits_caps_at_absolute_max ... ok [INFO] [stdout] test ws::tests::plan_limits_free_defaults ... ok [INFO] [stdout] test ws::tests::reserved_list_loaded ... ok [INFO] [stdout] test ws::tests::reserved_subdomains_blocked ... ok [INFO] [stdout] test ws::tests::valid_subdomains ... ok [INFO] [stdout] test http::tests::verify_basic_auth_invalid_password ... ok [INFO] [stdout] test http::tests::verify_basic_auth_invalid_username ... ok [INFO] [stdout] test ws::tests::invalid_subdomains ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/xpo_tui-f5df2dd937251d63) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test model::tests::clear_resets_detail_state ... ok [INFO] [stdout] test model::tests::detail_scroll_down_respects_max ... ok [INFO] [stdout] test model::tests::reset_detail_scroll ... ok [INFO] [stdout] test model::tests::detail_scroll_up_at_zero ... ok [INFO] [stdout] test model::tests::selected_request_returns_correct ... 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] Doc-tests xpo_core [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests xpo_tui [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" "314c482f4af6e6505b742389f8e2428f24f64c1becdac25783335e18fc50db90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "314c482f4af6e6505b742389f8e2428f24f64c1becdac25783335e18fc50db90", kill_on_drop: false }` [INFO] [stdout] 314c482f4af6e6505b742389f8e2428f24f64c1becdac25783335e18fc50db90