[INFO] cloning repository https://github.com/cptrodgers/mcpr [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cptrodgers/mcpr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcptrodgers%2Fmcpr", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcptrodgers%2Fmcpr'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1a5e7d6a4d7aeef06c834cc3f9142add63fb1d3d [INFO] testing cptrodgers/mcpr 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%2Fcptrodgers%2Fmcpr" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/cptrodgers/mcpr [INFO] finished tweaking git repo https://github.com/cptrodgers/mcpr [INFO] tweaked toml for git repo https://github.com/cptrodgers/mcpr written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cptrodgers/mcpr 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/cptrodgers/mcpr 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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded idna_adapter v1.2.1 [INFO] [stderr] Downloaded wiremock v0.6.5 [INFO] [stderr] Downloaded http-body v1.0.1 [INFO] [stderr] Downloaded icu_properties v2.1.2 [INFO] [stderr] Downloaded zerofrom v0.1.6 [INFO] [stderr] Downloaded zerofrom-derive v0.1.6 [INFO] [stderr] Downloaded itoa v1.0.17 [INFO] [stderr] Downloaded potential_utf v0.1.4 [INFO] [stderr] Downloaded want v0.3.1 [INFO] [stderr] Downloaded assert-json-diff v2.0.2 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.114 [INFO] [stderr] Downloaded fallible-streaming-iterator v0.1.9 [INFO] [stderr] Downloaded serde_spanned v1.1.1 [INFO] [stderr] Downloaded crypto-common v0.2.1 [INFO] [stderr] Downloaded rustc-hash v2.1.1 [INFO] [stderr] Downloaded tinystr v0.8.2 [INFO] [stderr] Downloaded num_cpus v1.17.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.114 [INFO] [stderr] Downloaded fastrand v2.3.0 [INFO] [stderr] Downloaded zerovec-derive v0.11.2 [INFO] [stderr] Downloaded yoke-derive v0.8.1 [INFO] [stderr] Downloaded tokio-macros v2.6.1 [INFO] [stderr] Downloaded futures-io v0.3.32 [INFO] [stderr] Downloaded futures-executor v0.3.32 [INFO] [stderr] Downloaded semver v1.0.27 [INFO] [stderr] Downloaded toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded rsqlite-vfs v0.1.0 [INFO] [stderr] Downloaded thiserror v2.0.18 [INFO] [stderr] Downloaded thiserror-impl v2.0.18 [INFO] [stderr] Downloaded pkg-config v0.3.32 [INFO] [stderr] Downloaded hashlink v0.11.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.64 [INFO] [stderr] Downloaded lru-slab v0.1.2 [INFO] [stderr] Downloaded security-framework-sys v2.17.0 [INFO] [stderr] Downloaded core-foundation v0.10.1 [INFO] [stderr] Downloaded yoke v0.8.1 [INFO] [stderr] Downloaded displaydoc v0.2.5 [INFO] [stderr] Downloaded writeable v0.6.2 [INFO] [stderr] Downloaded foldhash v0.2.0 [INFO] [stderr] Downloaded futures-channel v0.3.32 [INFO] [stderr] Downloaded http-body-util v0.1.3 [INFO] [stderr] Downloaded hermit-abi v0.5.2 [INFO] [stderr] Downloaded deadpool-runtime v0.1.4 [INFO] [stderr] Downloaded rustversion v1.0.22 [INFO] [stderr] Downloaded bitflags v2.11.0 [INFO] [stderr] Downloaded toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Downloaded sha2 v0.11.0 [INFO] [stderr] Downloaded digest v0.11.2 [INFO] [stderr] Downloaded hybrid-array v0.4.10 [INFO] [stderr] Downloaded fallible-iterator v0.3.0 [INFO] [stderr] Downloaded rustls-pki-types v1.14.0 [INFO] [stderr] Downloaded zeroize v1.8.2 [INFO] [stderr] Downloaded wasm-streams v0.4.2 [INFO] [stderr] Downloaded quinn-udp v0.5.14 [INFO] [stderr] Downloaded rand_core v0.9.5 [INFO] [stderr] Downloaded hyper-rustls v0.27.9 [INFO] [stderr] Downloaded rustls-native-certs v0.8.3 [INFO] [stderr] Downloaded schannel v0.1.29 [INFO] [stderr] Downloaded windows-core v0.62.2 [INFO] [stderr] Downloaded windows-strings v0.5.1 [INFO] [stderr] Downloaded windows-interface v0.59.3 [INFO] [stderr] Downloaded zerovec v0.11.5 [INFO] [stderr] Downloaded icu_provider v2.1.1 [INFO] [stderr] Downloaded litemap v0.8.1 [INFO] [stderr] Downloaded socket2 v0.6.3 [INFO] [stderr] Downloaded log v0.4.29 [INFO] [stderr] Downloaded ipnet v2.12.0 [INFO] [stderr] Downloaded futures v0.3.32 [INFO] [stderr] Downloaded deadpool v0.12.3 [INFO] [stderr] Downloaded wasm-bindgen v0.2.114 [INFO] [stderr] Downloaded toml v1.1.2+spec-1.1.0 [INFO] [stderr] Downloaded typenum v1.19.0 [INFO] [stderr] Downloaded tokio-rustls v0.26.4 [INFO] [stderr] Downloaded tinyvec v1.10.0 [INFO] [stderr] Downloaded cpufeatures v0.2.17 [INFO] [stderr] Downloaded option-ext v0.2.0 [INFO] [stderr] Downloaded matchers v0.2.0 [INFO] [stderr] Downloaded signal-hook-mio v0.2.5 [INFO] [stderr] Downloaded colorchoice v1.0.4 [INFO] [stderr] Downloaded zerotrie v0.2.3 [INFO] [stderr] Downloaded icu_locale_core v2.1.1 [INFO] [stderr] Downloaded icu_normalizer v2.1.1 [INFO] [stderr] Downloaded icu_normalizer_data v2.1.1 [INFO] [stderr] Downloaded uuid v1.23.1 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.114 [INFO] [stderr] Downloaded strum v0.28.0 [INFO] [stderr] Downloaded mio v1.1.1 [INFO] [stderr] Downloaded memchr v2.8.0 [INFO] [stderr] Downloaded bumpalo v3.20.2 [INFO] [stderr] Downloaded cc v1.2.56 [INFO] [stderr] Downloaded rustls-webpki v0.103.13 [INFO] [stderr] Downloaded quinn v0.11.9 [INFO] [stderr] Downloaded zerocopy-derive v0.8.42 [INFO] [stderr] Downloaded security-framework v3.7.0 [INFO] [stderr] Downloaded dirs-sys v0.5.0 [INFO] [stderr] Downloaded mimalloc v0.1.50 [INFO] [stderr] Downloaded icu_collections v2.1.1 [INFO] [stderr] Downloaded hyper-util v0.1.20 [INFO] [stderr] Downloaded http v1.4.0 [INFO] [stderr] Downloaded indexmap v2.13.0 [INFO] [stderr] Downloaded js-sys v0.3.91 [INFO] [stderr] Downloaded wasip2 v1.0.2+wasi-0.2.9 [INFO] [stderr] Downloaded libredox v0.1.15 [INFO] [stderr] Downloaded icu_properties_data v2.1.2 [INFO] [stderr] Downloaded serde_json v1.0.149 [INFO] [stderr] Downloaded hyper v1.9.0 [INFO] [stderr] Downloaded hashbrown v0.16.1 [INFO] [stderr] Downloaded reqwest v0.12.28 [INFO] [stderr] Downloaded tower-http v0.6.10 [INFO] [stderr] Downloaded crypto-common v0.1.7 [INFO] [stderr] Downloaded h2 v0.4.13 [INFO] [stderr] Downloaded rusqlite v0.39.0 [INFO] [stderr] Downloaded winnow v1.0.1 [INFO] [stderr] Downloaded crossterm_winapi v0.9.1 [INFO] [stderr] Downloaded webpki-roots v1.0.6 [INFO] [stderr] Downloaded quinn-proto v0.11.14 [INFO] [stderr] Downloaded dirs v6.0.0 [INFO] [stderr] Downloaded anstyle-wincon v3.0.11 [INFO] [stderr] Downloaded clap_lex v1.0.0 [INFO] [stderr] Downloaded zerocopy v0.8.42 [INFO] [stderr] Downloaded document-features v0.2.12 [INFO] [stderr] Downloaded rustls v0.23.37 [INFO] [stderr] Downloaded num-conv v0.2.1 [INFO] [stderr] Downloaded once_cell_polyfill v1.70.2 [INFO] [stderr] Downloaded rustix v1.1.4 [INFO] [stderr] Downloaded windows-implement v0.60.2 [INFO] [stderr] Downloaded dashmap v6.1.0 [INFO] [stderr] Downloaded fuzzy-matcher v0.3.7 [INFO] [stderr] Downloaded anstyle v1.0.13 [INFO] [stderr] Downloaded simple_asn1 v0.6.4 [INFO] [stderr] Downloaded data-encoding v2.10.0 [INFO] [stderr] Downloaded axum-core v0.5.6 [INFO] [stderr] Downloaded serde_path_to_error v0.1.20 [INFO] [stderr] Downloaded tokio-tungstenite v0.29.0 [INFO] [stderr] Downloaded web-sys v0.3.91 [INFO] [stderr] Downloaded autocfg v1.5.0 [INFO] [stderr] Downloaded tokio v1.50.0 [INFO] [stderr] Downloaded libc v0.2.183 [INFO] [stderr] Downloaded crossbeam-utils v0.8.21 [INFO] [stderr] Downloaded windows-result v0.4.1 [INFO] [stderr] Downloaded redox_users v0.5.2 [INFO] [stderr] Downloaded litrs v1.0.0 [INFO] [stderr] Downloaded strum_macros v0.28.0 [INFO] [stderr] Downloaded pem v3.0.6 [INFO] [stderr] Downloaded async-trait v0.1.89 [INFO] [stderr] Downloaded iana-time-zone v0.1.65 [INFO] [stderr] Downloaded matchit v0.8.4 [INFO] [stderr] Downloaded clap_derive v4.6.1 [INFO] [stderr] Downloaded signal-hook v0.3.18 [INFO] [stderr] Downloaded jsonwebtoken v9.3.1 [INFO] [stderr] Downloaded clap v4.6.1 [INFO] [stderr] Downloaded rand v0.9.4 [INFO] [stderr] Downloaded arc-swap v1.9.1 [INFO] [stderr] Downloaded tungstenite v0.29.0 [INFO] [stderr] Downloaded inquire v0.9.4 [INFO] [stderr] Downloaded crossterm v0.29.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.37.0 [INFO] [stderr] Downloaded axum v0.8.9 [INFO] [stderr] Downloaded clap_builder v4.6.0 [INFO] [stderr] Downloaded sqlite-wasm-rs v0.5.3 [INFO] [stderr] Downloaded unicode-width v0.2.2 [INFO] [stderr] Downloaded libmimalloc-sys v0.1.47 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea [INFO] running `Command { std: "docker" "start" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", 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" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea" "/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" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", 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" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling hybrid-array v0.4.10 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling libsqlite3-sys v0.37.0 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling tracing v0.1.44 [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 rand v0.9.4 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling tungstenite v0.29.0 [INFO] [stderr] Compiling const-oid v0.10.2 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling digest v0.11.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling libmimalloc-sys v0.1.47 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling sha2 v0.11.0 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling jsonwebtoken v9.3.1 [INFO] [stderr] Compiling arc-swap v1.9.1 [INFO] [stderr] Compiling uuid v1.23.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling hashlink v0.11.0 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling inquire v0.9.4 [INFO] [stderr] Compiling mimalloc v0.1.50 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling rusqlite v0.39.0 [INFO] [stderr] Compiling mcpr-core v0.5.44 (/opt/rustwide/workdir/crates/mcpr-core) [INFO] [stderr] Compiling mcpr-integrations v0.5.44 (/opt/rustwide/workdir/crates/mcpr-integrations) [INFO] [stderr] Compiling mcpr-proxy v0.5.44 (/opt/rustwide/workdir/crates/mcpr-cli) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 13s [INFO] running `Command { std: "docker" "inspect" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", 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" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling fastrand v2.3.0 [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 futures-util v0.3.32 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling inquire v0.9.4 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling mcpr-core v0.5.44 (/opt/rustwide/workdir/crates/mcpr-core) [INFO] [stderr] Compiling mcpr-integrations v0.5.44 (/opt/rustwide/workdir/crates/mcpr-integrations) [INFO] [stderr] Compiling mcpr-proxy v0.5.44 (/opt/rustwide/workdir/crates/mcpr-cli) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 38s [INFO] running `Command { std: "docker" "inspect" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", 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" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mcpr_core-5a3cc5da782f3ce2) [INFO] [stdout] [INFO] [stdout] running 414 tests [INFO] [stdout] test auth::parse::tests::parse_request_auth__basic_records_scheme_only ... ok [INFO] [stdout] test auth::parse::tests::compute_fingerprint__has_expected_shape ... ok [INFO] [stdout] test auth::parse::tests::compute_fingerprint__different_tokens_differ ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__bearer_opaque_when_payload_not_base64 ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__bearer_jwt_full_claims ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__bearer_alg_none_classifies_as_opaque ... ok [INFO] [stdout] test auth::parse::tests::compute_fingerprint__same_token_stable_in_process ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__bearer_opaque_when_not_three_parts ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__custom_scheme_recorded ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__jwt_aud_array_yields_multi ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__no_header_returns_default ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__records_header_name ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__scheme_is_case_insensitive_for_bearer_decode ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__jwt_extra_claims_captured ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__jwt_scopes_array_field ... ok [INFO] [stdout] test auth::parse::tests::parse_www_authenticate__bearer_with_full_params ... ok [INFO] [stdout] test auth::provider_reflect::tests::discovery_url_for__drops_query_string ... ok [INFO] [stdout] test auth::parse::tests::parse_www_authenticate__param_keys_case_insensitive ... ok [INFO] [stdout] test auth::provider_reflect::tests::discovery_url_for__keeps_origin_drops_path_and_query ... ok [INFO] [stdout] test auth::parse::tests::parse_www_authenticate__quoted_string_with_escape ... ok [INFO] [stdout] test auth::parse::tests::parse_request_auth__bearer_opaque_when_payload_not_json ... ok [INFO] [stdout] test auth::parse::tests::parse_www_authenticate__absent_returns_none ... ok [INFO] [stdout] test auth::provider_static::tests::handle__non_protected_resource_paths_forward ... ok [INFO] [stdout] test auth::provider_static::tests::handle__protected_resource_metadata_serves_configured_doc ... ok [INFO] [stdout] test auth::provider_reflect::tests::discovery_url_for__preserves_https_and_port ... ok [INFO] [stdout] test auth::parse::tests::parse_www_authenticate__scheme_only ... ok [INFO] [stdout] test auth::parse::tests::parse_www_authenticate__unknown_params_dropped ... ok [INFO] [stdout] test auth::provider_reflect::tests::probe__errors_on_invalid_json ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__meta_without_openai_keys_returns_none ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__no_meta_returns_none ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__no_params_returns_none ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__user_location_kept_as_opaque_value ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__non_object_meta_returns_none ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__non_string_id_fields_are_dropped ... ok [INFO] [stdout] test event::openai::tests::from_request__batch_uses_first_rpc ... ok [INFO] [stdout] test event::openai::tests::from_request__http_returns_none ... ok [INFO] [stdout] test event::openai::tests::from_request__mcp_delegates_to_jsonrpc_parser ... ok [INFO] [stdout] test event::openai::tests::serde__omits_none_fields ... ok [INFO] [stdout] test event::openai::tests::serde__roundtrip_preserves_all_fields ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__partial_meta_only_fills_present_fields ... ok [INFO] [stdout] test event::openai::tests::from_jsonrpc_request__pulls_all_six_openai_keys ... ok [INFO] [stdout] test auth::provider_reflect::tests::probe__errors_on_non_2xx ... ok [INFO] [stdout] test auth::provider_reflect::tests::probe__returns_provider_with_cached_metadata ... ok [INFO] [stdout] test auth::provider_reflect::tests::handle__non_protected_resource_paths_forward ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__batch_slims_each_item_by_its_method ... ok [INFO] [stdout] test event::tests::routes_to_multiple_sinks ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__http_variant_is_noop ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__id_with_no_method_mapping_is_untouched ... ok [INFO] [stdout] test event::tests::flushes_on_shutdown ... ok [INFO] [stdout] test event::openai::tests::from_request__empty_batch_returns_none ... ok [INFO] [stdout] test event::tests::works_with_no_sinks ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__missing_array_yields_empty_array ... ok [INFO] [stdout] test event::tests::drains_channel_on_shutdown ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__resources_list_keeps_only_uri_and_name ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__resources_templates_list_keeps_uri_template_and_name ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__resources_read_drops_blob_payload ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__as_str_unknown_returns_none ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__deserialize_unknown ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__non_resource_method_is_untouched ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_completion_complete ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_initialize ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__resources_read_drops_html_text_and_meta ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__deserialize_known ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_ping ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_prompts_get ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_resources_templates_list ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_tasks_get ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_logging_set_level ... ok [INFO] [stdout] test event::types::tests::slim_resources_in_place__error_response_is_untouched ... ok [INFO] [stdout] test protocol::mcp::tests::client_notif__parse_unknown_falls_back ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__roundtrip_each_family ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__serialize_unknown_preserves_string ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__serializes_as_string ... ok [INFO] [stdout] test protocol::mcp::tests::client_notif__parse_known ... ok [INFO] [stdout] test protocol::mcp::tests::get_prompt__none_for_prompts_list ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_tools_call ... ok [INFO] [stdout] test protocol::mcp::tests::client_method__parse_unknown_preserves_string ... ok [INFO] [stdout] test event::tests::routes_to_single_sink ... ok [INFO] [stdout] test protocol::mcp::tests::get_resource_uri__read ... ok [INFO] [stdout] test protocol::mcp::tests::get_prompt__none_when_params_missing ... ok [INFO] [stdout] test protocol::mcp::tests::get_resource_uri__unsubscribe ... ok [INFO] [stdout] test protocol::mcp::tests::get_tool__returns_name_for_tools_call ... ok [INFO] [stdout] test protocol::mcp::tests::get_prompt__returns_name_for_prompts_get ... ok [INFO] [stdout] test protocol::mcp::tests::get_resource_uri__none_for_resources_list ... ok [INFO] [stdout] test protocol::mcp::tests::get_resource_uri__none_when_params_missing ... ok [INFO] [stdout] test protocol::mcp::tests::get_resource_uri__subscribe ... ok [INFO] [stdout] test protocol::mcp::tests::get_tool__none_for_tools_list ... ok [INFO] [stdout] test protocol::mcp::tests::get_tool__none_when_name_not_string ... ok [INFO] [stdout] test protocol::mcp::tests::get_tool__none_when_params_missing ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_request__rejects_wrong_version ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_result__bare_error_is_rejected ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_result__parses_error_envelope_shape ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_result__parses_error_envelope_with_null_id ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_result__parses_response_shape ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_version__rejects_non_string ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_version__accepts_2_0 ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_version__serializes_as_2_0 ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_version__rejects_other_strings ... ok [INFO] [stdout] test protocol::mcp::tests::parse_client_info__missing_clientinfo_is_none ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_request__method_serialized_as_plain_string ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_request__params_skipped_when_none ... ok [INFO] [stdout] test protocol::mcp::tests::parse_client_info__missing_name_is_none ... ok [INFO] [stdout] test protocol::mcp::tests::parse_client_info__name_only ... ok [INFO] [stdout] test protocol::mcp::tests::parse_client_info__none_when_params_missing ... ok [INFO] [stdout] test protocol::mcp::tests::request_id__deserializes_null ... ok [INFO] [stdout] test protocol::mcp::tests::request_id__null_serializes_as_json_null ... ok [INFO] [stdout] test protocol::mcp::tests::request_id__number_serializes_as_bare_number ... ok [INFO] [stdout] test protocol::mcp::tests::request_id__string_serializes_as_bare_string ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__as_str_unknown_returns_none ... ok [INFO] [stdout] test protocol::mcp::tests::jsonrpc_request__roundtrip ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__parse_tasks_newtype ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__parse_unit_variants ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__parse_unknown_preserves_string ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__roundtrip_each_family ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__serialize_tasks_newtype ... ok [INFO] [stdout] test protocol::mcp::tests::server_notif__parse_known ... ok [INFO] [stdout] test protocol::mcp::tests::server_notif__parse_unknown_falls_back ... ok [INFO] [stdout] test protocol::mcp::tests::parse_client_info__name_and_version ... ok [INFO] [stdout] test protocol::schema::tests::add_tool__identical_reinsert_returns_none ... ok [INFO] [stdout] test protocol::mcp::tests::parse_client_info__non_string_name_is_none ... ok [INFO] [stdout] test protocol::schema::tests::add_tool__identical_reinsert_with_different_reason_returns_none ... ok [INFO] [stdout] test protocol::schema::tests::add_tool__keys_by_tool_name ... ok [INFO] [stdout] test protocol::schema::tests::add_tool__title_change_replaces ... ok [INFO] [stdout] test protocol::schema::tests::prompt__roundtrip_preserves_arguments ... ok [INFO] [stdout] test protocol::mcp::tests::request_id__deserializes_bare_number ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__serializes_as_string ... ok [INFO] [stdout] test protocol::schema::tests::resource__serializes_uri_and_mime_type ... ok [INFO] [stdout] test protocol::mcp::tests::request_id__deserializes_bare_string ... ok [INFO] [stdout] test protocol::mcp::tests::server_method__deserialize_unknown ... ok [INFO] [stdout] test protocol::schema::tests::resource_template__serializes_uri_template ... ok [INFO] [stdout] test protocol::schema::tests::tool__omits_unset_optional_fields ... ok [INFO] [stdout] test protocol::session::tests::get_session__missing_is_none ... ok [INFO] [stdout] test protocol::session::tests::end_session__removes_session_and_reverse_entries ... ok [INFO] [stdout] test protocol::session::tests::get_session_by_request__missing_is_none ... ok [INFO] [stdout] test protocol::session::tests::get_session_by_request__string_request_id ... ok [INFO] [stdout] test protocol::session::tests::list_sessions__empty ... ok [INFO] [stdout] test protocol::schema::tests::add_tool__input_schema_change_replaces ... ok [INFO] [stdout] test protocol::schema::tests::add_tool__new_tool_returns_change_with_reason ... ok [INFO] [stdout] test protocol::session::tests::end_session__leaves_other_sessions_intact ... ok [INFO] [stdout] test protocol::schema::tests::tool__roundtrip_preserves_all_fields ... ok [INFO] [stdout] test protocol::session::tests::end_session__missing_id_is_noop ... ok [INFO] [stdout] test protocol::schema::tests::tool__serializes_optional_fields_with_camel_case ... ok [INFO] [stdout] test protocol::session::tests::session_id_from_headers__non_utf8_returns_none ... ok [INFO] [stdout] test protocol::session::tests::session_id_from_headers__missing_returns_none ... ok [INFO] [stdout] test protocol::session::tests::session_info_merge__ignores_mismatched_id ... ok [INFO] [stdout] test protocol::session::tests::session_info_new__seeds_first_request ... ok [INFO] [stdout] test protocol::session::tests::session_id_from_headers__present_returns_id ... ok [INFO] [stdout] test protocol::session::tests::session_info_merge__appends_requests_and_count ... ok [INFO] [stdout] test protocol::session::tests::start_session__creates_with_client_and_server_info ... ok [INFO] [stdout] test protocol::session::tests::session_info_new__captures_client_info ... ok [INFO] [stdout] test protocol::session::tests::start_session__second_call_for_same_id_is_noop ... ok [INFO] [stdout] test protocol::session::tests::start_session__writes_reverse_index ... ok [INFO] [stdout] test protocol::session::tests::track_request__duplicate_request_across_sessions_returns_none ... ok [INFO] [stdout] test protocol::session::tests::track_request__creates_session_when_missing_with_no_metadata ... ok [INFO] [stdout] test protocol::session::tests::track_request__after_start_session_keeps_initial_metadata ... ok [INFO] [stdout] test protocol::session::tests::track_request__updates_last_active ... ok [INFO] [stdout] test protocol::session::tests::track_request__appends_to_existing_session ... ok [INFO] [stdout] test protocol::session::tests::track_request__duplicate_request_returns_none ... ok [INFO] [stdout] test protocol::session::tests::list_sessions__track_request_promotes_session ... ok [INFO] [stdout] test protocol::session::tests::list_sessions__sorted_by_last_active_desc ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__frame_split_across_chunks ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__multiple_frames_in_one_chunk ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__chunk_ends_with_carriage_return ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__non_message_event_dropped ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__keepalive_comment_skipped ... ok [INFO] [stdout] test protocol::session::tests::track_request__writes_reverse_index ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__single_frame_in_one_chunk ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__chunk_ends_mid_field_name ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__empty_body_yields_nothing ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__trailing_partial_frame_dropped ... ok [INFO] [stdout] test protocol::sse::tests::decode_frame_stream__yields_frame_before_body_ends ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__blank_line_without_data_emits_nothing ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__crlf_line_endings ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__field_value_strips_one_leading_space_only ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__non_message_event_dropped ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__single_message_frame ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__empty_input_returns_empty ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__comment_lines_ignored ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__cr_line_endings ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__multiline_data_joined_with_newline ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__no_event_field_treated_as_message ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__multiple_frames_in_order ... ok [INFO] [stdout] test protocol::sse::tests::encode_one__matches_encode_results_for_single_input ... ok [INFO] [stdout] test protocol::sse::tests::encode_one__produces_single_frame ... ok [INFO] [stdout] test protocol::sse::tests::encode_results__empty_input_returns_empty ... ok [INFO] [stdout] test protocol::sse::tests::encode_results__multiple_results_concatenated_frames ... ok [INFO] [stdout] test protocol::sse::tests::encode_results__roundtrip_through_decoder ... ok [INFO] [stdout] test protocol::sse::tests::encode_results__single_result_one_frame ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__trailing_partial_frame_dropped ... ok [INFO] [stdout] test protocol::sse::tests::decode_frames__unknown_field_ignored ... ok [INFO] [stdout] test protocol::tests::is_json__missing_header_returns_false ... ok [INFO] [stdout] test protocol::tests::json_shape__non_json_returns_other ... ok [INFO] [stdout] test protocol::tests::json_shape__leading_whitespace_skipped ... ok [INFO] [stdout] test protocol::tests::json_shape__object ... ok [INFO] [stdout] test protocol::tests::request_from_axum__empty_body_falls_back_to_http ... ok [INFO] [stdout] test protocol::tests::request_from_axum__http_preserves_method_and_headers ... ok [INFO] [stdout] test protocol::tests::is_json__with_charset_returns_true ... ok [INFO] [stdout] test protocol::tests::is_json__application_json_returns_true ... ok [INFO] [stdout] test protocol::tests::json_shape__array ... ok [INFO] [stdout] test protocol::tests::is_json__text_event_stream_returns_false ... ok [INFO] [stdout] test protocol::tests::json_shape__empty_returns_other ... ok [INFO] [stdout] test protocol::tests::request_from_axum__jsonrpc_array_returns_mcp_batch ... ok [INFO] [stdout] test protocol::tests::request_from_axum__malformed_jsonrpc_array_falls_back_to_http ... ok [INFO] [stdout] test protocol::tests::request_from_axum__mcp_preserves_inbound_headers ... ok [INFO] [stdout] test protocol::tests::request_from_axum__non_json_content_type_falls_back_to_http ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__non_json_content_type_falls_back_to_http ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__single_jsonrpc_returns_mcp ... ok [INFO] [stdout] test protocol::tests::request_from_axum__non_jsonrpc_json_falls_back_to_http ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__jsonrpc_array_returns_mcp_batch ... ok [INFO] [stdout] test protocol::tests::request_from_axum__single_jsonrpc_returns_mcp ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__sse_drops_non_message_frames_keeps_response ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__http_preserves_status_and_headers ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__mcp_preserves_upstream_headers ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__sse_empty_body_falls_back_to_http ... ok [INFO] [stdout] test proxy2::csp::tests::effective__base_uri_widget_override_applies ... ok [INFO] [stdout] test proxy2::csp::tests::effective__connect_and_resource_still_get_proxy_prepend ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__sse_with_multiple_message_frames_returns_mcp_batch ... ok [INFO] [stdout] test proxy2::csp::tests::effective__dedupes_across_sources ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__sse_with_single_message_frame_returns_mcp ... ok [INFO] [stdout] test proxy2::csp::tests::effective__base_uri_directive_default_is_empty_not_proxy ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__sse_only_unparseable_frames_falls_back_to_http ... ok [INFO] [stdout] test proxy2::csp::tests::effective__dedupes_proxy_url_already_in_upstream ... ok [INFO] [stdout] test proxy2::csp::tests::effective__extend_adds_global_domains ... ok [INFO] [stdout] test protocol::tests::response_from_hyper__sse_preserves_upstream_headers ... ok [INFO] [stdout] test proxy2::csp::tests::effective__extend_keeps_external_drops_upstream_host ... ok [INFO] [stdout] test proxy2::csp::tests::effective__frame_directive_default_is_empty_not_proxy ... ok [INFO] [stdout] test proxy2::csp::tests::effective__empty_upstream_host_disables_self_stripping ... ok [INFO] [stdout] test proxy2::csp::tests::effective__multiple_matching_widgets_apply_in_config_order ... ok [INFO] [stdout] test proxy2::csp::tests::effective__redirect_widget_override_applies ... ok [INFO] [stdout] test proxy2::csp::tests::effective__redirect_directive_default_is_empty_not_proxy ... ok [INFO] [stdout] test proxy2::csp::tests::effective__redirect_directive_passes_declared_without_proxy ... ok [INFO] [stdout] test proxy2::csp::tests::effective__replace_ignores_upstream ... ok [INFO] [stdout] test proxy2::csp::tests::effective__skips_prepend_when_proxy_is_localhost ... ok [INFO] [stdout] test proxy2::csp::tests::effective__skips_prepend_when_proxy_url_empty ... ok [INFO] [stdout] test proxy2::csp::tests::effective__replace_with_empty_global_leaves_only_proxy ... ok [INFO] [stdout] test proxy2::csp::tests::effective__widget_extend_with_empty_domains_is_noop ... ok [INFO] [stdout] test proxy2::csp::tests::effective__strips_localhost ... ok [INFO] [stdout] test proxy2::csp::tests::effective__frame_directive_with_declared_domains_omits_proxy ... ok [INFO] [stdout] test proxy2::csp::tests::csp_config__default_strict_frames ... ok [INFO] [stdout] test proxy2::csp::tests::effective__base_uri_directive_passes_declared_without_proxy ... ok [INFO] [stdout] test proxy2::csp::tests::glob__empty_pattern_matches_empty_string_only ... ok [INFO] [stdout] test proxy2::csp::tests::effective__widget_replace_wipes_everything_before_it ... ok [INFO] [stdout] test proxy2::csp::tests::effective__widget_replace_with_empty_domains_clears_list ... ok [INFO] [stdout] test proxy2::csp::tests::effective__widget_without_uri_context_falls_back_to_global ... ok [INFO] [stdout] test proxy2::csp::tests::glob__double_star_segment ... ok [INFO] [stdout] test proxy2::csp::tests::glob__literal_match ... ok [INFO] [stdout] test proxy2::csp::tests::effective__widget_with_no_matching_uri_is_ignored ... ok [INFO] [stdout] test proxy2::csp::tests::glob__literal_mismatch ... ok [INFO] [stdout] test proxy2::csp::tests::glob__question_matches_single_char ... ok [INFO] [stdout] test proxy2::csp::tests::mode__deserialises_replace ... ok [INFO] [stdout] test proxy2::csp::tests::effective__strips_upstream_host ... ok [INFO] [stdout] test proxy2::csp::tests::effective__widget_extend_adds_on_top_of_global ... ok [INFO] [stdout] test proxy2::csp::tests::mode__display ... ok [INFO] [stdout] test proxy2::csp::tests::public_origin__rejects_empty ... ok [INFO] [stdout] test proxy2::csp::tests::public_origin__rejects_localhost ... ok [INFO] [stdout] test proxy2::csp::tests::glob__star_matches_any_sequence ... ok [INFO] [stdout] test proxy2::csp::tests::glob__star_matches_suffix ... ok [INFO] [stdout] test proxy2::csp::tests::glob__star_only_matches_anything ... ok [INFO] [stdout] test proxy2::csp::tests::mode__deserialises_extend ... ok [INFO] [stdout] test proxy2::csp::tests::mode__default_is_extend ... ok [INFO] [stdout] test proxy2::csp::tests::ui_resource__rejects_other_schemes ... ok [INFO] [stdout] test proxy2::proxy_config::tests::auth_config__honours_explicit_resource_override ... ok [INFO] [stdout] test proxy2::proxy_config::tests::auth_config__metadata_round_trip ... ok [INFO] [stdout] test proxy2::proxy_config::tests::auth_config__rejects_empty_authorization_servers ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__base_uri_and_redirect_default_to_empty_extend ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__base_uri_and_redirect_directives_parse ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__canonical_overrides_legacy_when_both_present ... ok [INFO] [stdout] test proxy2::proxy_config::tests::auth_config__defaults_bearer_methods_to_header ... ok [INFO] [stdout] test proxy2::csp::tests::public_origin__accepts_https_host ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__domain_parses ... ok [INFO] [stdout] test proxy2::csp::tests::public_origin__rejects_loopback_ip ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__domain_whitespace_is_trimmed_and_empty_ignored ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__canonical_shape_parses ... ok [INFO] [stdout] test proxy2::proxy_config::tests::auth_config__defaults_resource_from_port ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__empty_defaults_strict_frames ... ok [INFO] [stdout] test proxy2::csp::tests::ui_resource__accepts_ui_scheme ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_proxy_config__body_size_defaults_to_none ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__legacy_flat_shape_populates_connect_and_resource ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_proxy_config__max_response_body_size ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_auth_config__optional_when_absent ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_auth_config__parses_authorization_servers ... ok [INFO] [stdout] test proxy2::proxy_config::tests::csp_config__legacy_override_maps_to_replace ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_proxy_config__name_from_toml ... ok [INFO] [stdout] test proxy2::proxy_config::tests::parse_mode__accepts_known_values ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_proxy_config__max_request_body_size ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_proxy_config__missing_mcp_fails_deserialize ... ok [INFO] [stdout] test proxy2::proxy_config::tests::file_proxy_config__max_concurrent_upstream ... ok [INFO] [stdout] test proxy2::proxy_config::tests::parse_mode__rejects_unknown ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve__threads_auth_through ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve_proxy_name__explicit_wins ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve_proxy_name__no_config_becomes_default ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve__name_defaults_to_default_when_no_path ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve__auth_absent_when_block_missing ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve__name_from_explicit_field ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve_proxy_name__preserves_hyphens ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve_proxy_name__mcpr_toml_becomes_default ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve__name_from_filename_when_field_unset ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve_proxy_name__from_filename_stem ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::is_widget_meta__plain_meta_with_non_ui_uri_is_not_widget ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::is_widget_meta__widget_meta_keys_promote_non_ui_uri ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::is_widget_meta__ui_uri_is_widget_even_with_empty_meta ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::from_proxy_config__copies_csp_policies ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::from_proxy_config__domain_set_builds_https_url ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::is_widget_meta__non_ui_uri_alone_is_not_widget ... ok [INFO] [stdout] test proxy2::proxy_config::tests::resolve_proxy_name__sanitizes_special_chars ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__deep_scan_injects_proxy_into_nested_csp ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__from_swap_shares_handle_with_caller ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__http_response_passes_through ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::from_proxy_config__domain_unset_signals_local_only ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__frame_domains_omits_proxy_url ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__arc_swap_hot_reload_uses_new_config ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__mcp_batch_skips_error_items ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__base_uri_domains_round_trip ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__deep_scan_skips_frame_arrays ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__error_result_passes_through ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__mcp_batch_rewrites_each_response ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__local_only_skips_proxy_injection ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__redirect_domains_round_trip ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__missing_result_is_left_none ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_list_synthesizes_meta_from_uri ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__operator_base_uri_extends_upstream ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_read_preserves_html_text ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_list_skips_when_no_uri_and_no_meta ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__operator_redirect_extends_upstream ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_read_skips_non_ui_uri ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_list_widget_scope_matches_uri ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_list_rewrites_non_ui_uri_when_meta_declares_widget ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__tools_call_non_widget_meta_is_not_polluted ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_list_skips_non_ui_uri ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__tools_call_no_longer_synthesizes_widget_meta ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::classify_upstream__sse_drops_non_message_and_unparseable_frames ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__resources_templates_list_rewrites_widget_meta ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::classify_upstream__sse_preserves_upstream_headers_on_stream_items ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::classify_upstream__sse_returns_stream ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::classify_upstream__json_returns_single_mcp ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__tools_list_deep_scan_repairs_misplaced_csp ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::classify_upstream__sse_carries_envelope_parts_on_router_output ... ok [INFO] [stdout] test proxy2::stage::csp_rewritten_stage::tests::process__tools_list_no_longer_synthesizes_widget_meta ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::classify_upstream__sse_stream_yields_each_message_frame ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__http_request_forwards_authorization_header ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::open_get_sse__upstream_405_passes_through ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::open_get_sse__preserves_upstream_status_and_headers ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::open_get_sse__strips_upstream_hop_by_hop_headers ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__http_request_returns_http_response ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::open_get_sse__returns_headers_before_first_frame ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::open_get_sse__forwards_session_and_last_event_id_headers ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__empty_request_context_emits_nothing ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::open_get_sse__forwards_notifications_unmodified ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__error_response_emits_nothing ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__malformed_tool_entry_is_skipped ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__missing_tools_array_emits_nothing ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__non_tools_list_method_skips_tracking_even_with_tools_field ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__mcp_batch_dispatches_each_item_by_method ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__prompts_list_skips_malformed_entry ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__prompts_list_emits_prompt_event_per_entry ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__resource_templates_list_emits_resource_template_event_per_entry ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__resources_list_emits_resource_event_per_entry ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__tools_list_emits_every_call_without_dedup ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__tools_list_emits_schema_event_per_new_tool ... ok [INFO] [stdout] test proxy2::stage::session_tracking_stage::tests::delete_response__ends_known_session ... ok [INFO] [stdout] test proxy2::stage::session_tracking_stage::tests::followup_request__bumps_activity_keeps_initialize_metadata ... ok [INFO] [stdout] test proxy2::stage::schema_tracking_stage::tests::process__unsupported_method_emits_nothing ... ok [INFO] [stdout] test proxy2::stage::session_tracking_stage::tests::followup_request__without_existing_session_creates_stub ... ok [INFO] [stdout] test proxy2::stage::session_tracking_stage::tests::initialize_response__creates_session_with_client_and_server_info ... ok [INFO] [stdout] test proxy2::stage::session_tracking_stage::tests::non_delete_http_response__does_not_close ... ok [INFO] [stdout] test proxy2::stage::session_tracking_stage::tests::initialize_response__without_session_header_is_noop ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__mcp_batch_returns_results_in_request_order ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__mcp_response_carries_upstream_headers ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__mcp_request_errors_when_upstream_returns_non_jsonrpc_body ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__mcp_request_forwards_inbound_headers_to_upstream ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__mcp_request_propagates_jsonrpc_error_response ... ok [INFO] [stdout] test proxy2::stage::router_stage::tests::process__mcp_request_forwards_to_upstream_and_returns_response ... ok [INFO] [stdout] test proxy2::stage::tests::process__request_stage_error_emits_orphan_event ... ok [INFO] [stdout] test proxy2::stage::tests::upstream_us_from_spans__collapses_to_router_when_body_absent ... ok [INFO] [stdout] test proxy2::stage::tests::upstream_us_from_spans__sums_router_and_upstream_body ... ok [INFO] [stdout] test proxy2::stage::tests::upstream_us_from_spans__zero_when_neither_present ... ok [INFO] [stdout] test proxy2::stage::tests::process__request_stage_error_short_circuits_router ... ok [INFO] [stdout] test proxy2::stage::tests::process__response_stages_run_after_router_in_declared_order ... ok [INFO] [stdout] test proxy2::stage::tests::process__request_stages_run_before_router_in_declared_order ... ok [INFO] [stdout] test proxy2::stage::tests::process__single_response_does_not_record_upstream_body_span ... ok [INFO] [stdout] test proxy2::stage::tests::process__stream_records_upstream_body_span_closed_on_first_frame ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__json_upstream_batch_emits_array ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__json_upstream_returns_application_json ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__preserves_mcp_session_id ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__sse_upstream_batch_emits_one_frame_per_result ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__sse_upstream_returns_event_stream ... ok [INFO] [stdout] test proxy2::stage::tests::process__stream_response_runs_stages_per_yielded_item ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__sse_upstream_roundtrips_through_decoder ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__stream_emits_one_frame_per_yielded_item ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__stream_emits_text_event_stream ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__stream_roundtrips_through_decoder ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__stream_preserves_mcp_session_id ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__stream_strips_content_length_and_transfer_encoding ... ok [INFO] [stdout] test proxy2::tests::to_axum_response__strips_content_length_and_transfer_encoding ... ok [INFO] [stdout] test proxy2::stage::tests::process__without_stages_runs_router_only ... ok [INFO] [stdout] test proxy2::tests::build_app__mounts_discovery_route_when_auth_configured ... ok [INFO] [stdout] test proxy2::tests::build_app__discovery_route_absent_falls_through_to_upstream ... ok [INFO] [stdout] test timer::tests::to_spans_us__closed_span_records_positive_duration ... ok [INFO] [stdout] test timer::tests::to_spans_us__empty_timer_has_no_spans ... ok [INFO] [stdout] test timer::tests::to_spans_us__keeps_duplicate_names_as_separate_entries ... ok [INFO] [stdout] test timer::tests::to_spans_us__open_span_reports_zero ... ok [INFO] [stdout] test timer::tests::to_spans_us__preserves_insertion_order ... ok [INFO] [stdout] test utils::time::tests::format_latency_us__boundary_ms_to_s ... ok [INFO] [stdout] test utils::time::tests::format_latency_us__boundary_us_to_ms ... ok [INFO] [stdout] test utils::time::tests::format_latency_us__ms_range ... ok [INFO] [stdout] test utils::time::tests::format_latency_us__seconds_range ... ok [INFO] [stdout] test utils::time::tests::format_latency_us__sub_ms ... ok [INFO] [stdout] test proxy2::tests::handle_request__get_with_event_stream_accept_opens_sse ... ok [INFO] [stdout] test proxy2::tests::handle_request__plain_get_falls_back_to_http_path ... ok [INFO] [stdout] test proxy2::upstream::pool::tests::pick__same_id_returns_same_shard ... ok [INFO] [stdout] test proxy2::tests::handle_request__get_sse_is_path_agnostic ... ok [INFO] [stdout] test proxy2::upstream::pool::tests::new__builds_pool_shards_clients ... ok [INFO] [stdout] test proxy2::upstream::pool::tests::pick__distributes_across_shards ... ok [INFO] [stdout] test proxy2::upstream::pool::tests::multiple_pools__route_to_their_own_upstream ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 414 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.55s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mcpr_integrations-5a74bc5666e33039) [INFO] [stdout] [INFO] [stdout] running 158 tests [INFO] [stdout] test cloud_client::tests::cloud_error_display__with_status ... ok [INFO] [stdout] test cloud_client::tests::cloud_error_display__without_status ... ok [INFO] [stdout] test cloud_client::tests::cli_verify__invalid_code ... ok [INFO] [stdout] test cloud_client::tests::cli_login__server_error ... ok [INFO] [stdout] test cloud_client::tests::create_project__success ... ok [INFO] [stdout] test cloud_client::tests::create_server__success ... ok [INFO] [stdout] test cloud_client::tests::endpoint_display ... ok [INFO] [stdout] test cloud_client::tests::create_project_token__success ... ok [INFO] [stdout] test cloud_client::tests::list_endpoints__routes_to_server ... ok [INFO] [stdout] test cloud_client::tests::new__starts_unauthenticated ... ok [INFO] [stdout] test cloud_client::tests::new__strips_trailing_slash ... ok [INFO] [stdout] test cloud_client::tests::list_servers__routes_to_project ... ok [INFO] [stdout] test cloud_client::tests::list_projects__sends_bearer_token ... ok [INFO] [stdout] test cloud_client::tests::project_display ... ok [INFO] [stdout] test cloud_client::tests::server_display ... ok [INFO] [stdout] test cloud_client::tests::set_jwt__makes_authenticated ... ok [INFO] [stdout] test cloud_client::tests::cli_login__success ... ok [INFO] [stdout] test cloud_client::tests::parse_response__falls_back_to_raw_body ... ok [INFO] [stdout] test cloud_client::tests::list_projects__empty_list ... ok [INFO] [stdout] test cloud_client::tests::parse_response__extracts_error_field ... ok [INFO] [stdout] test cloud_client::tests::create_endpoint__success ... ok [INFO] [stdout] test cloud_client::tests::create_project_token__null_name ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__mcp_request_includes_rpc_envelope ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__http_request_tagged_with_method_path_and_size ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__http_response_includes_status_and_size ... ok [INFO] [stdout] test cloud_client::tests::cli_verify__success ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__mcp_request_tools_call_preserves_params ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__mcp_response_error_includes_code_and_message ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__schema_emits_ts_in_seconds ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__mcp_response_ok_serializes_result ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__session_emits_ts_in_seconds ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__session_includes_id_state_and_client ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__heartbeat_emits_ts_in_seconds_from_event ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__session_without_client_emits_nulls ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__transaction_session_id_falls_back_to_response_header ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__transaction_includes_request_id ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__transaction_session_id_from_request_header ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__transaction_session_id_null_when_absent ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__mcp_batch_request_includes_each_rpc ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__orphan_transaction_emits_null_response ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__transaction_carries_latency_fields ... ok [INFO] [stdout] test sinks::stderr_sink::tests::json__transaction_emits_ts_in_seconds_from_event ... ok [INFO] [stdout] test store::config::tests::file_store_config__default_is_valid ... ok [INFO] [stdout] test store::config::tests::file_store_config__disabled_is_valid ... ok [INFO] [stdout] test store::config::tests::file_store_config__empty_name_is_error ... ok [INFO] [stdout] test store::config::tests::file_store_config__empty_path_is_error ... ok [INFO] [stdout] test store::duration::tests::parse_duration__days ... ok [INFO] [stdout] test store::config::tests::file_store_config__parses_from_toml ... ok [INFO] [stdout] test store::duration::tests::parse_duration__empty_string ... ok [INFO] [stdout] test store::duration::tests::parse_duration__minutes ... ok [INFO] [stdout] test store::duration::tests::parse_duration__hours ... ok [INFO] [stdout] test store::duration::tests::parse_duration__seconds ... ok [INFO] [stdout] test store::duration::tests::parse_duration__invalid_number ... ok [INFO] [stdout] test store::duration::tests::parse_duration__weeks ... ok [INFO] [stdout] test store::duration::tests::parse_duration__whitespace_handling ... ok [INFO] [stdout] test store::path::tests::ensure_parent_dir__creates_dirs ... ok [INFO] [stdout] test store::path::tests::resolve_db_path__explicit_config_wins ... ok [INFO] [stdout] test store::path::tests::resolve_db_path__platform_default_returns_some ... ok [INFO] [stdout] test store::query::stats::tests::percentile__basic ... ok [INFO] [stdout] test store::query::stats::tests::percentile__empty ... ok [INFO] [stdout] test store::query::stats::tests::percentile__single ... ok [INFO] [stdout] test store::duration::tests::parse_duration__invalid_suffix ... ok [INFO] [stdout] test store::query::tests::client_row__serializes_to_json ... ok [INFO] [stdout] test store::query::tests::latest_schema_row__none_when_missing ... ok [INFO] [stdout] test store::query::tests::clients__aggregates_by_client ... ok [INFO] [stdout] test store::query::tests::log_row__latency_us_field ... ok [INFO] [stdout] test store::query::tests::log_row__serialization_uses_us_field ... ok [INFO] [stdout] test store::query::tests::clients__proxy_none_returns_all ... ok [INFO] [stdout] test sinks::sqlite_sink::tests::name__is_sqlite ... ok [INFO] [stdout] test store::query::tests::logs__error_code_present_in_row ... ok [INFO] [stdout] test store::query::tests::log_row__serializes_to_json ... ok [INFO] [stdout] test store::query::tests::logs__empty_proxy ... ok [INFO] [stdout] test store::db::tests::init_schema__fresh_db_creates_all_tables ... ok [INFO] [stdout] test store::db::tests::init_schema__idempotent_on_repeat_call ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_status ... ok [INFO] [stdout] test sinks::sqlite_sink::tests::on_event__forwards_request_to_store_with_proxy_tag ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_method ... ok [INFO] [stdout] test store::engine::tests::store__open_record_shutdown ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_session ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_error_code_no_match ... ok [INFO] [stdout] test store::query::tests::logs__filter_combined_session_and_method ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_session_prefix ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_error_code ... ok [INFO] [stdout] test store::query::tests::logs__proxy_filter_excludes_other ... ok [INFO] [stdout] test store::query::tests::logs__filter_by_tool ... ok [INFO] [stdout] test store::query::tests::logs__since_returns_newer ... ok [INFO] [stdout] test store::query::tests::logs__proxy_none_returns_all ... ok [INFO] [stdout] test store::query::tests::schema_status__unknown ... ok [INFO] [stdout] test store::query::tests::logs__returns_all_rows ... ok [INFO] [stdout] test store::query::tests::schema_unused__empty_when_no_schema ... ok [INFO] [stdout] test store::query::tests::session_detail__nonexistent_returns_none ... ok [INFO] [stdout] test store::query::tests::session_detail__closed_session ... ok [INFO] [stdout] test store::query::tests::session_detail__requests_ordered_oldest_first ... ok [INFO] [stdout] test store::query::tests::session_detail__serializes_to_json ... ok [INFO] [stdout] test store::query::tests::session_detail__returns_with_requests ... ok [INFO] [stdout] test store::query::tests::sessions__filter_by_client ... ok [INFO] [stdout] test store::query::tests::sessions__returns_all ... ok [INFO] [stdout] test store::query::tests::sessions__proxy_none_returns_all ... ok [INFO] [stdout] test store::query::tests::slow__exact_threshold_boundary ... ok [INFO] [stdout] test store::query::tests::slow__filter_by_tool ... ok [INFO] [stdout] test store::query::tests::slow__high_threshold_returns_empty ... ok [INFO] [stdout] test store::query::tests::slow__threshold_us_precision ... ok [INFO] [stdout] test store::query::tests::slow__returns_above_threshold ... ok [INFO] [stdout] test store::query::tests::slow__proxy_none_returns_all ... ok [INFO] [stdout] test store::query::tests::slow_since__respects_tool_filter ... ok [INFO] [stdout] test store::query::tests::slow_since__returns_newer_rows ... ok [INFO] [stdout] test store::query::tests::slow_since__respects_threshold ... ok [INFO] [stdout] test store::query::tests::stats__empty_proxy ... ok [INFO] [stdout] test store::query::tests::slow_since__returns_empty_when_no_new ... ok [INFO] [stdout] test store::query::tests::stats__aggregates_correctly ... ok [INFO] [stdout] test store::query::tests::stats__latency_us_values ... ok [INFO] [stdout] test store::query::tests::stats__proxy_filter_scopes_to_one ... ok [INFO] [stdout] test store::query::tests::stats__proxy_none_aggregates_all ... ok [INFO] [stdout] test store::query::tests::stats__serializes_to_json ... ok [INFO] [stdout] test store::query::tests::slow_since__excludes_at_boundary ... ok [INFO] [stdout] test store::writer::tests::flush_batch__duplicate_request_id_is_ignored ... ok [INFO] [stdout] test store::query::tests::vacuum__dry_run_counts_correctly ... ok [INFO] [stdout] test store::query::tests::stats__serialization_uses_us_field_names ... ok [INFO] [stdout] test store::writer::tests::flush_batch__bare_jsonrpc_error_drops_response_row ... ok [INFO] [stdout] test store::writer::tests::flush_batch__inserts_request_row_for_mcp ... ok [INFO] [stdout] test store::writer::tests::flush_batch__inserts_response_ok ... ok [INFO] [stdout] test store::writer::tests::flush_batch__orphan_transaction_writes_request_only ... ok [INFO] [stdout] test store::writer::tests::flush_batch__schema_identical_payload_does_not_log_change ... ok [INFO] [stdout] test store::query::tests::vacuum__actually_deletes ... ok [INFO] [stdout] test store::writer::tests::method_str__known_variants_use_static_str ... ok [INFO] [stdout] test store::writer::tests::method_str__unknown_uses_owned_string ... ok [INFO] [stdout] test store::writer::tests::flush_batch__schema_first_seen_writes_item_and_change_with_null_old_hash ... ok [INFO] [stdout] test wire::tests::encode_envelope__batch_attaches_same_openai_to_each_envelope ... ok [INFO] [stdout] test store::writer::tests::flush_batch__skips_http_request_silently ... ok [INFO] [stdout] test wire::tests::encode_envelope__http_orphan_zero_status_and_response_size ... ok [INFO] [stdout] test wire::tests::encode_envelope__includes_openai_block_when_present ... ok [INFO] [stdout] test wire::tests::encode_envelope__http_carries_method_uri_status_and_sizes ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_batch_flattens_to_one_per_rpc_with_paired_result ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_batch_orphan_emits_no_result_per_rpc ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_carries_full_result_envelope_and_timing ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_error_carries_full_error_envelope ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_payload_carries_full_rpc_envelope ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_session_id_falls_back_to_response_header ... ok [INFO] [stdout] test store::writer::tests::flush_batch__schema_payload_change_appends_change_row ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_session_id_from_request_header ... ok [INFO] [stdout] test wire::tests::encode_envelope__mcp_session_id_is_empty_when_absent_everywhere ... ok [INFO] [stdout] test wire::tests::encode_envelope__omits_openai_key_when_event_has_none ... ok [INFO] [stdout] test wire::tests::encode_envelope__ts_comes_from_event_not_encode_time ... ok [INFO] [stdout] test wire::tests::encode_envelopes__orphan_emits_one_envelope_without_result ... ok [INFO] [stdout] test wire::tests::encode_envelopes__transaction_emits_one_merged_envelope ... ok [INFO] [stdout] test wire::tests::encode_envelope__partial_openai_omits_none_fields ... ok [INFO] [stdout] test store::writer::tests::flush_batch__unfolds_mcp_batch_into_n_rows ... ok [INFO] [stdout] test wire::tests::encode_schema__tool_carries_full_definition ... ok [INFO] [stdout] test wire::tests::encode_session__active_with_client_info ... ok [INFO] [stdout] test wire::tests::envelope__includes_auth_block_when_credential_present ... ok [INFO] [stdout] test store::writer::tests::request_log_view__pending_when_response_session_unknown ... ok [INFO] [stdout] test wire::tests::envelope__includes_www_authenticate_when_challenged ... ok [INFO] [stdout] test wire::tests::envelope__omits_auth_keys_when_absent ... ok [INFO] [stdout] test wire::tests::encode_heartbeat__carries_status_and_address ... ok [INFO] [stdout] test wire::tests::encode_schema__prompt_resource_template_kinds ... ok [INFO] [stdout] test store::writer::tests::flush_batch__upsert_preserves_created_at ... ok [INFO] [stdout] test store::writer::tests::flush_batch__upserts_session_active ... ok [INFO] [stdout] test store::writer::tests::request_log_view__joins_when_session_ids_match ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 158 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mcpr-30df29a5b5ec1a7c) [INFO] [stdout] [INFO] [stdout] running 60 tests [INFO] [stdout] test cmd::setup::tests::build_config__no_port_omits_line ... ok [INFO] [stdout] test cmd::setup::tests::build_config__with_explicit_port ... ok [INFO] [stdout] test cmd::setup::tests::build_config__custom_cloud_url ... ok [INFO] [stdout] test cmd::setup::tests::cached_auth__serialization_roundtrip ... ok [INFO] [stdout] test cmd::setup::tests::default_local_name__fallback_on_empty ... ok [INFO] [stdout] test cmd::setup::tests::build_config__local_only ... ok [INFO] [stdout] test cmd::setup::tests::is_jwt_expired__future_token ... ok [INFO] [stdout] test cmd::setup::tests::default_local_name__derives_from_url ... ok [INFO] [stdout] test cmd::setup::tests::default_local_name__strips_path ... ok [INFO] [stdout] test cmd::setup::tests::is_jwt_expired__garbage_input ... ok [INFO] [stdout] test cmd::setup::tests::is_jwt_expired__missing_exp_claim ... ok [INFO] [stdout] test cmd::setup::tests::is_jwt_expired__past_token ... ok [INFO] [stdout] test cmd::setup::tests::is_jwt_expired__within_5min_buffer ... ok [INFO] [stdout] test cmd::setup::tests::load_existing_config__invalid_toml ... ok [INFO] [stdout] test cmd::setup::tests::load_existing_config__missing_fields ... ok [INFO] [stdout] test cmd::setup::tests::is_port_available__bound_port_is_unavailable ... ok [INFO] [stdout] test cmd::setup::tests::default_local_name__uses_existing_name ... ok [INFO] [stdout] test cmd::setup::tests::load_existing_config__valid_toml ... ok [INFO] [stdout] test cmd::setup::tests::build_config__cloud_only ... ok [INFO] [stdout] test cmd::setup::tests::next_available_config__no_existing ... ok [INFO] [stdout] test cmd::setup::tests::next_available_config__one_existing ... ok [INFO] [stdout] test cmd::setup::tests::is_port_available__free_port ... ok [INFO] [stdout] test cmd::setup::tests::load_existing_config__missing_file ... ok [INFO] [stdout] test cmd::setup::tests::slugify__mixed_case ... ok [INFO] [stdout] test cmd::setup::tests::slugify__special_chars ... ok [INFO] [stdout] test cmd::setup::tests::slugify__already_slug ... ok [INFO] [stdout] test config::tests::cloud_config__coexists_with_other_sections ... ok [INFO] [stdout] test cmd::setup::tests::slugify__simple_name ... ok [INFO] [stdout] test config::tests::cloud_config__defaults_to_none ... ok [INFO] [stdout] test cmd::setup::tests::is_jwt_expired__just_outside_buffer ... ok [INFO] [stdout] test cmd::setup::tests::next_available_config__gap_in_sequence ... ok [INFO] [stdout] test config::tests::csp_config__domain_parses ... ok [INFO] [stdout] test config::tests::cloud_config__parses_all_fields ... ok [INFO] [stdout] test config::tests::cloud_config__empty_section_uses_defaults ... ok [INFO] [stdout] test config::tests::csp_config__legacy_flat_shape_populates_connect_and_resource ... ok [INFO] [stdout] test config::tests::csp_config__empty_defaults_strict_frames ... ok [INFO] [stdout] test config::tests::csp_config__domain_whitespace_is_trimmed_and_empty_ignored ... ok [INFO] [stdout] test config::tests::csp_config__legacy_override_maps_to_replace ... ok [INFO] [stdout] test cmd::setup::tests::slugify__leading_trailing_hyphens ... ok [INFO] [stdout] test config::tests::file_config__body_size_defaults_to_none ... ok [INFO] [stdout] test config::tests::file_config__max_request_body_size ... ok [INFO] [stdout] test config::tests::file_config__max_concurrent_upstream ... ok [INFO] [stdout] test config::tests::parse_mode__accepts_known_values ... ok [INFO] [stdout] test config::tests::cloud_config__partial_fields ... ok [INFO] [stdout] test config::tests::file_config__max_response_body_size ... ok [INFO] [stdout] test config::tests::parse_mode__rejects_unknown ... ok [INFO] [stdout] test config::tests::csp_config__canonical_overrides_legacy_when_both_present ... ok [INFO] [stdout] test config::tests::file_config__name_from_toml ... ok [INFO] [stdout] test config::tests::resolve_proxy_name__explicit_wins ... ok [INFO] [stdout] test config::tests::resolve_proxy_name__from_filename_stem ... ok [INFO] [stdout] test config::tests::csp_config__canonical_shape_parses ... ok [INFO] [stdout] test config::tests::resolve_proxy_name__no_config_becomes_default ... ok [INFO] [stdout] test logic::query::tests::parse_since__invalid ... ok [INFO] [stdout] test logic::query::tests::parse_since__valid ... ok [INFO] [stdout] test render::tests::format_bytes__units ... ok [INFO] [stdout] test config::tests::resolve_proxy_name__preserves_hyphens ... ok [INFO] [stdout] test config::tests::resolve_proxy_name__sanitizes_special_chars ... ok [INFO] [stdout] test render::tests::format_ts__zero ... ok [INFO] [stdout] test config::tests::resolve_proxy_name__mcpr_toml_becomes_default ... ok [INFO] [stdout] test render::tests::format_ts__valid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 60 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests mcpr_core [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test crates/mcpr-core/src/config.rs - config::ModuleConfig (line 107) ... ignored [INFO] [stdout] test crates/mcpr-core/src/config.rs - config::ModuleConfig (line 76) ... ignored [INFO] [stdout] test crates/mcpr-core/src/event/manager.rs - event::manager (line 3) ... ignored [INFO] [stdout] test crates/mcpr-core/src/event/mod.rs - event (line 13) ... ignored [INFO] [stdout] test crates/mcpr-core/src/event/sink.rs - event::sink::EventSink (line 10) ... ignored [INFO] [stdout] test crates/mcpr-core/src/utils/time.rs - utils::time::format_latency_us (line 12) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.20s; merged doctests compilation took 1.15s [INFO] [stderr] Doc-tests mcpr_integrations [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test crates/mcpr-integrations/src/store/engine.rs - store::engine (line 13) ... ignored [INFO] [stdout] test crates/mcpr-integrations/src/store/duration.rs - store::duration::parse_duration (line 25) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.47s; merged doctests compilation took 1.40s [INFO] running `Command { std: "docker" "inspect" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea", kill_on_drop: false }` [INFO] [stdout] 4ae13d2d549247f6c4b74c0554dac268bc9ff47c50e1b77f443185aea590c0ea