[INFO] cloning repository https://github.com/doublewordai/onwards [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/doublewordai/onwards" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoublewordai%2Fonwards", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoublewordai%2Fonwards'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fab006976f9c5164e7ece66fc0a013aa2654ee7f [INFO] testing doublewordai/onwards against master#c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af for pr-154756 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoublewordai%2Fonwards" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/doublewordai/onwards [INFO] finished tweaking git repo https://github.com/doublewordai/onwards [INFO] tweaked toml for git repo https://github.com/doublewordai/onwards written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/doublewordai/onwards on toolchain c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/doublewordai/onwards 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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "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 wasm-bindgen v0.2.114 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.114 [INFO] [stderr] Downloaded wiremock v0.6.5 [INFO] [stderr] Downloaded fsevent-sys v4.1.0 [INFO] [stderr] Downloaded num-conv v0.2.0 [INFO] [stderr] Downloaded expect-json-macros v1.10.1 [INFO] [stderr] Downloaded deadpool v0.12.3 [INFO] [stderr] Downloaded sketches-ddsketch v0.3.1 [INFO] [stderr] Downloaded bytesize v2.3.1 [INFO] [stderr] Downloaded axum-prometheus v0.10.0 [INFO] [stderr] Downloaded metrics-util v0.20.1 [INFO] [stderr] Downloaded uuid v1.22.0 [INFO] [stderr] Downloaded security-framework v3.7.0 [INFO] [stderr] Downloaded bon-macros v3.9.0 [INFO] [stderr] Downloaded tonic v0.14.5 [INFO] [stderr] Downloaded iri-string v0.7.10 [INFO] [stderr] Downloaded governor v0.10.4 [INFO] [stderr] Downloaded clap_builder v4.5.60 [INFO] [stderr] Downloaded reqwest v0.12.28 [INFO] [stderr] Downloaded tracing-opentelemetry v0.32.1 [INFO] [stderr] Downloaded zerocopy-derive v0.8.42 [INFO] [stderr] Downloaded opentelemetry_sdk v0.31.0 [INFO] [stderr] Downloaded zerocopy v0.8.42 [INFO] [stderr] Downloaded rstest_macros v0.26.1 [INFO] [stderr] Downloaded opentelemetry v0.31.0 [INFO] [stderr] Downloaded js-sys v0.3.91 [INFO] [stderr] Downloaded toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Downloaded pretty_assertions v1.4.1 [INFO] [stderr] Downloaded darling_core v0.23.0 [INFO] [stderr] Downloaded bon v3.9.0 [INFO] [stderr] Downloaded clap v4.5.60 [INFO] [stderr] Downloaded opentelemetry-proto v0.31.0 [INFO] [stderr] Downloaded cc v1.2.56 [INFO] [stderr] Downloaded rustls-webpki v0.103.9 [INFO] [stderr] Downloaded rstest v0.26.1 [INFO] [stderr] Downloaded axum-test v18.7.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.114 [INFO] [stderr] Downloaded metrics-exporter-prometheus v0.18.1 [INFO] [stderr] Downloaded expect-json v1.10.1 [INFO] [stderr] Downloaded darling v0.23.0 [INFO] [stderr] Downloaded clap_derive v4.5.55 [INFO] [stderr] Downloaded tempfile v3.26.0 [INFO] [stderr] Downloaded notify v8.2.0 [INFO] [stderr] Downloaded pin-project-internal v1.1.11 [INFO] [stderr] Downloaded web-sys v0.3.91 [INFO] [stderr] Downloaded pin-project v1.1.11 [INFO] [stderr] Downloaded prost v0.14.3 [INFO] [stderr] Downloaded opentelemetry-otlp v0.31.0 [INFO] [stderr] Downloaded toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Downloaded tokio-stream v0.1.18 [INFO] [stderr] Downloaded metrics v0.24.3 [INFO] [stderr] Downloaded inotify v0.11.1 [INFO] [stderr] Downloaded notify-types v2.1.0 [INFO] [stderr] Downloaded opentelemetry-http v0.31.0 [INFO] [stderr] Downloaded toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Downloaded native-tls v0.2.18 [INFO] [stderr] Downloaded kqueue v1.1.1 [INFO] [stderr] Downloaded prost-derive v0.14.3 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.64 [INFO] [stderr] Downloaded inventory v0.3.22 [INFO] [stderr] Downloaded rust-multipart-rfc7578_2 v0.8.0 [INFO] [stderr] Downloaded darling_macro v0.23.0 [INFO] [stderr] Downloaded clap_lex v1.0.0 [INFO] [stderr] Downloaded schannel v0.1.29 [INFO] [stderr] Downloaded security-framework-sys v2.17.0 [INFO] [stderr] Downloaded reserve-port v2.4.0 [INFO] [stderr] Downloaded kqueue-sys v1.0.4 [INFO] [stderr] Downloaded tonic-prost v0.14.5 [INFO] [stderr] Downloaded proc-macro-crate v3.5.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.114 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d62e4dbf6f5b145875b48114aa3362b9e600a6e8bf88689cd5d6e40bdfcc316e [INFO] running `Command { std: "docker" "start" "-a" "d62e4dbf6f5b145875b48114aa3362b9e600a6e8bf88689cd5d6e40bdfcc316e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d62e4dbf6f5b145875b48114aa3362b9e600a6e8bf88689cd5d6e40bdfcc316e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d62e4dbf6f5b145875b48114aa3362b9e600a6e8bf88689cd5d6e40bdfcc316e", kill_on_drop: false }` [INFO] [stdout] d62e4dbf6f5b145875b48114aa3362b9e600a6e8bf88689cd5d6e40bdfcc316e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 173a9655854cfeb5c56304733be0e4ced1dee803f79601e3be11ae63d0edf1d9 [INFO] running `Command { std: "docker" "start" "-a" "173a9655854cfeb5c56304733be0e4ced1dee803f79601e3be11ae63d0edf1d9", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling raw-cpuid v11.6.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling sketches-ddsketch v0.3.1 [INFO] [stderr] Compiling metrics-exporter-prometheus v0.18.1 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling rand_xoshiro v0.7.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling quanta v0.12.6 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling inotify v0.11.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling prost-derive v0.14.3 [INFO] [stderr] Compiling metrics v0.24.3 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling metrics-util v0.20.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling opentelemetry v0.31.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling pin-project v1.1.11 [INFO] [stderr] Compiling prost v0.14.3 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling bon-macros v3.9.0 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling tracing-opentelemetry v0.32.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling governor v0.10.4 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tonic v0.14.5 [INFO] [stderr] Compiling opentelemetry_sdk v0.31.0 [INFO] [stderr] Compiling bon v3.9.0 [INFO] [stderr] Compiling tonic-prost v0.14.5 [INFO] [stderr] Compiling opentelemetry-proto v0.31.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling opentelemetry-http v0.31.0 [INFO] [stderr] Compiling opentelemetry-otlp v0.31.0 [INFO] [stderr] Compiling axum-prometheus v0.10.0 [INFO] [stderr] Compiling onwards v0.22.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s [INFO] running `Command { std: "docker" "inspect" "173a9655854cfeb5c56304733be0e4ced1dee803f79601e3be11ae63d0edf1d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "173a9655854cfeb5c56304733be0e4ced1dee803f79601e3be11ae63d0edf1d9", kill_on_drop: false }` [INFO] [stdout] 173a9655854cfeb5c56304733be0e4ced1dee803f79601e3be11ae63d0edf1d9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 080791113ae5985a5eb5b93e9796fd48d5eb73acdddbd47e2eb2599a67b61fa4 [INFO] running `Command { std: "docker" "start" "-a" "080791113ae5985a5eb5b93e9796fd48d5eb73acdddbd47e2eb2599a67b61fa4", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling erased-serde v0.4.10 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling typetag v0.2.21 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling rstest_macros v0.26.1 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling typetag-impl v0.2.21 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling inventory v0.3.22 [INFO] [stderr] Compiling opentelemetry v0.31.0 [INFO] [stderr] Compiling metrics-exporter-prometheus v0.18.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling expect-json-macros v1.10.1 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling reserve-port v2.4.0 [INFO] [stderr] Compiling bytesize v2.3.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling governor v0.10.4 [INFO] [stderr] Compiling rust-multipart-rfc7578_2 v0.8.0 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling opentelemetry_sdk v0.31.0 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling expect-json v1.10.1 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling opentelemetry-proto v0.31.0 [INFO] [stderr] Compiling tracing-opentelemetry v0.32.1 [INFO] [stderr] Compiling opentelemetry-http v0.31.0 [INFO] [stderr] Compiling rstest v0.26.1 [INFO] [stderr] Compiling opentelemetry-otlp v0.31.0 [INFO] [stderr] Compiling axum-prometheus v0.10.0 [INFO] [stderr] Compiling axum-test v18.7.0 [INFO] [stderr] Compiling onwards v0.22.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 24s [INFO] running `Command { std: "docker" "inspect" "080791113ae5985a5eb5b93e9796fd48d5eb73acdddbd47e2eb2599a67b61fa4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "080791113ae5985a5eb5b93e9796fd48d5eb73acdddbd47e2eb2599a67b61fa4", kill_on_drop: false }` [INFO] [stdout] 080791113ae5985a5eb5b93e9796fd48d5eb73acdddbd47e2eb2599a67b61fa4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 873630ae82478118afc5700f6e32939bc15aa84f52d5bc90effe9e75f953f907 [INFO] running `Command { std: "docker" "start" "-a" "873630ae82478118afc5700f6e32939bc15aa84f52d5bc90effe9e75f953f907", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.66s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/onwards-99ac540e1ee0bed5) [INFO] [stdout] [INFO] [stdout] running 306 tests [INFO] [stdout] test errors::tests::test_error_response_no_body ... ok [INFO] [stdout] test errors::tests::test_error_response_has_openai_envelope ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_preserves_provider_specific_headers ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_custom_auth_header_name ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_empty_auth_header_prefix ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_keeps_safe_headers ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_custom_header_name_and_prefix ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_no_authorization_when_onwards_key_absent ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_all_sec_ch_ua_variants ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_auth_headers ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_caching_headers ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_browser_security_headers ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_model_override_header ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_custom_auth_header_prefix ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_browser_context_headers ... ok [INFO] [stdout] test handlers::tests::test_path_stripping_false_positive ... ok [INFO] [stdout] test handlers::tests::test_gateway_timeout_error_body ... ok [INFO] [stdout] test handlers::tests::test_path_stripping_with_different_prefix ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_strips_hop_by_hop_headers ... ok [INFO] [stdout] test handlers::tests::test_path_stripping_with_duplicate_prefix ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_adds_x_forwarded_proto ... ok [INFO] [stdout] test handlers::tests::test_path_stripping_with_query_params ... ok [INFO] [stdout] test handlers::tests::test_gateway_timeout_error_response ... ok [INFO] [stdout] test errors::tests::test_forbidden_response_uses_forbidden_message_and_code ... ok [INFO] [stdout] test handlers::tests::test_pool_with_fallback_enabled ... ok [INFO] [stdout] test handlers::tests::test_timeout_config_can_be_set ... ok [INFO] [stdout] test load_balancer::tests::test_adopt_provider_state_new_provider_starts_at_zero ... ok [INFO] [stdout] test load_balancer::tests::test_empty_pool_returns_none ... ok [INFO] [stdout] test load_balancer::tests::test_adopt_provider_state_preserves_active_counts ... ok [INFO] [stdout] test handlers::tests::test_path_stripping_without_duplicate ... ok [INFO] [stdout] test load_balancer::tests::test_concurrency_limit_skips_full_provider ... ok [INFO] [stdout] test load_balancer::tests::test_evaluate_routing_rules_multiple_label_conditions ... ok [INFO] [stdout] test load_balancer::tests::test_adopt_provider_state_preserves_pool_concurrency_limiter ... ok [INFO] [stdout] test load_balancer::tests::test_evaluate_routing_rules_no_rules ... ok [INFO] [stdout] test load_balancer::tests::test_first_target ... ok [INFO] [stdout] test load_balancer::tests::test_adopt_provider_state_removed_provider_ignored ... ok [INFO] [stdout] test load_balancer::tests::test_evaluate_routing_rules_deny ... ok [INFO] [stdout] test load_balancer::tests::test_evaluate_routing_rules_redirect ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_comprehensive_browser_request ... ok [INFO] [stdout] test load_balancer::tests::test_all_at_capacity_returns_none ... ok [INFO] [stdout] test load_balancer::tests::test_least_connections_prefers_less_loaded ... ok [INFO] [stdout] test load_balancer::tests::test_providers_accessor ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_max_attempts_controls_length ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_max_attempts_with_priority ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_priority_strategy ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_priority_with_replacement_still_advances ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_single_provider ... ok [INFO] [stdout] test handlers::tests::test_timeout_defaults_to_none ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_weighted_random_includes_all ... ok [INFO] [stdout] test handlers::tests::test_filter_headers_adds_authorization_when_onwards_key_present ... ok [INFO] [stdout] test load_balancer::tests::test_evaluate_routing_rules_first_match_wins ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_defaults_preserve_behavior ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_empty_pool ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_with_replacement_respects_weights ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_with_replacement_single_provider ... ok [INFO] [stdout] test load_balancer::tests::test_single_provider_pool ... ok [INFO] [stdout] test load_balancer::tests::test_weighted_least_connections_respects_weights ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_with_replacement_allows_duplicates ... ok [INFO] [stdout] test response_sanitizer::tests::test_no_model_rewrite ... ok [INFO] [stdout] test load_balancer::tests::test_weighted_selection_distribution ... ok [INFO] [stdout] test response_sanitizer::tests::test_non_streaming_sanitization ... ok [INFO] [stdout] test load_balancer::tests::test_select_iter_weighted_random_distribution ... ok [INFO] [stdout] test response_sanitizer::tests::test_openrouter_response_sanitization ... ok [INFO] [stdout] test sse::tests::test_complete_event_passes_through ... ok [INFO] [stdout] test sse::tests::test_event_split_at_newline ... ok [INFO] [stdout] test response_sanitizer::tests::test_streaming_sanitization ... ok [INFO] [stdout] test response_sanitizer::tests::test_path_filtering ... ok [INFO] [stdout] test sse::tests::test_empty_stream ... ok [INFO] [stdout] test sse::tests::test_incomplete_event_at_stream_end ... ok [INFO] [stdout] test sse::tests::test_split_event_is_buffered ... ok [INFO] [stdout] test sse::tests::test_preserves_multiline_data ... ok [INFO] [stdout] test sse::tests::test_multiple_events_in_one_chunk ... ok [INFO] [stdout] test sse::tests::test_json_split_across_many_chunks ... ok [INFO] [stdout] test sse::tests::test_multiple_events_across_chunks ... ok [INFO] [stdout] test sse::tests::test_handles_crlf_events ... ok [INFO] [stdout] test response_sanitizer::tests::test_streaming_multiple_chunks ... ok [INFO] [stdout] test strict::adapter::tests::test_message_to_items ... ok [INFO] [stdout] test strict::adapter::tests::test_adapter_simple_request ... ok [INFO] [stdout] test strict::adapter::tests::test_server_tool_routing ... ok [INFO] [stdout] test strict::adapter::tests::test_token_accumulation_across_iterations ... ok [INFO] [stdout] test strict::adapter::tests::test_stream_options_none_when_not_streaming ... ok [INFO] [stdout] test strict::adapter::tests::test_to_responses_response_with_usage_overrides_token_counts ... ok [INFO] [stdout] test strict::adapter::tests::test_determine_response_status ... ok [INFO] [stdout] test strict::adapter::tests::test_items_to_messages ... ok [INFO] [stdout] test sse::tests::test_buffer_overflow_terminates_stream ... ok [INFO] [stdout] test strict::adapter::tests::test_message_with_tool_calls_to_items ... ok [INFO] [stdout] test strict::adapter::tests::test_stream_options_set_when_streaming ... ok [INFO] [stdout] test strict::adapter::tests::test_input_text_to_messages ... ok [INFO] [stdout] test strict::adapter::tests::test_to_responses_response_with_usage_none_preserves_none ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_array_prompt_accepted ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_trusted_success_still_sanitized ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_untrusted_error_sanitized ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_rejects_missing_model ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_trusted_error_passed_through ... ok [INFO] [stdout] test strict::handlers::tests::test_chat_sanitization_updates_content_length_header ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_accepts_missing_prompt ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_sanitization_updates_content_length_header ... ok [INFO] [stdout] test strict::adapter::tests::test_generate_item_id_unique ... ok [INFO] [stdout] test strict::handlers::tests::test_error_response_format ... ok [INFO] [stdout] test strict::handlers::tests::test_embeddings_sanitization_updates_content_length_header ... ok [INFO] [stdout] test sse::tests::test_buffer_at_limit_still_works ... ok [INFO] [stdout] test strict::handlers::tests::test_error_response_matches_openai_format ... ok [INFO] [stdout] test strict::handlers::tests::test_error_types_match_openai_conventions ... ok [INFO] [stdout] test strict::handlers::tests::test_completions_forwards_to_completions_endpoint ... ok [INFO] [stdout] test strict::handlers::tests::test_model_override_header_prevents_trust_bypass ... ok [INFO] [stdout] test strict::handlers::tests::test_provider_trusted_overrides_untrusted_pool ... ok [INFO] [stdout] test strict::handlers::tests::test_provider_untrusted_overrides_trusted_pool ... ok [INFO] [stdout] test strict::handlers::tests::test_responses_api_omitted_fields_not_injected_as_null ... ok [INFO] [stdout] test strict::handlers::tests::test_streaming_chat_forwards_trusted_error_in_sse ... ok [INFO] [stdout] test strict::handlers::tests::test_streaming_chat_sanitizes_untrusted_error_in_sse ... ok [INFO] [stdout] test strict::handlers::tests::test_responses_sanitization_updates_content_length_header ... ok [INFO] [stdout] test strict::handlers::tests::test_streaming_sse_comments_dont_leak_metadata ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_completions_uses_streaming_sanitizer_when_body_transform_enables_streaming_after_validation ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_error_500_returns_standard_message ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_error_returns_standard_message ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_completions_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_responses_api_unknown_item_types_preserved ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_handle_malformed_error_response ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_responses_uses_streaming_sanitizer_when_body_transform_enables_streaming_after_validation ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_completions_rewrites_model ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_embeddings_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_completions_streaming_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_chat_uses_streaming_sanitizer_when_body_transform_enables_streaming_after_validation ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_completions_streaming_rewrites_model ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_mode_ignores_target_sanitize_response_flag ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_non_streaming_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_responses_error ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_responses_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_embeddings_rewrites_model ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_bypasses_error_sanitization_responses ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_sanitizes_success_embeddings ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_responses_streaming_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_rewrites_model_field ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_bypasses_streaming_error_sanitization ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_responses_rewrites_model ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_bypasses_error_sanitization ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_streaming_success_responses_still_sanitized ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_sanitizes_success_responses ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_sanitizes_success_responses_api ... ok [INFO] [stdout] test strict::handlers::tests::test_try_format_sse_error_ignores_non_json ... ok [INFO] [stdout] test strict::handlers::tests::test_try_format_sse_error_ignores_valid_chunk ... ok [INFO] [stdout] test strict::handlers::tests::test_trusted_target_bypasses_error_sanitization_embeddings ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_streaming_removes_unknown_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_try_format_sse_error_trusted_forwards_verbatim ... ok [INFO] [stdout] test strict::schemas::chat_completions::tests::test_deserialize_simple_request ... ok [INFO] [stdout] test strict::schemas::chat_completions::tests::test_serialize_response ... ok [INFO] [stdout] test strict::handlers::tests::test_strict_sanitize_streaming_rewrites_model ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_reject_mixed_token_array_prompt ... ok [INFO] [stdout] test strict::schemas::chat_completions::tests::test_deserialize_multimodal_content ... ok [INFO] [stdout] test strict::schemas::embeddings::tests::test_deserialize_multiple_inputs ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_deserialize_string_prompt ... ok [INFO] [stdout] test strict::schemas::embeddings::tests::test_deserialize_with_options ... ok [INFO] [stdout] test strict::schemas::embeddings::tests::test_serialize_response ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_deserialize_with_all_fields ... ok [INFO] [stdout] test strict::handlers::tests::test_untrusted_target_still_sanitized ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_deserialize_token_array_prompt ... ok [INFO] [stdout] test strict::schemas::embeddings::tests::test_deserialize_simple_request ... ok [INFO] [stdout] test strict::schemas::chat_completions::tests::test_deserialize_with_tools ... ok [INFO] [stdout] test strict::handlers::tests::test_try_format_sse_error_untrusted_sanitizes ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_deserialize_token_array_of_arrays_prompt ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_deserialize_simple_request ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_deserialize_with_previous_response_id ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_function_tool_missing_description_is_rejected ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_function_tool_with_empty_parameters_is_valid ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_item_status_serialization ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_nested_openai_format_tool_is_rejected ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_request_missing_input_is_rejected ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_streaming_event_parses_delta_without_response ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_streaming_event_parses_response_created ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_serialize_response ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_function_tool_missing_name_is_rejected ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_streaming_event_model_rewrite_roundtrips ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_function_tool_missing_parameters_is_rejected ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_streaming_event_rejects_missing_required_fields ... ok [INFO] [stdout] test strict::streaming::tests::test_event_sse_format ... ok [INFO] [stdout] test strict::streaming::tests::test_parse_chat_chunk ... ok [INFO] [stdout] test strict::streaming::tests::test_multi_iteration_item_ids_are_unique ... ok [INFO] [stdout] test strict::streaming::tests::test_parse_done_marker ... ok [INFO] [stdout] test strict::streaming::tests::test_streaming_state_completion_events ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_deserialize_request_with_items ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_deserialize_function_call_output_item ... ok [INFO] [stdout] test strict::schemas::responses::tests::test_valid_function_tool_with_all_required_fields ... ok [INFO] [stdout] test strict::streaming::tests::test_streaming_state_content_events ... ok [INFO] [stdout] test strict::streaming::tests::test_extract_tool_calls_empty_when_no_tools ... ok [INFO] [stdout] test strict::streaming::tests::test_extract_tool_calls ... ok [INFO] [stdout] test strict::streaming::tests::test_prepare_next_iteration ... ok [INFO] [stdout] test strict::streaming::tests::test_streaming_state_finalize ... ok [INFO] [stdout] test strict::tests::test_adapter_converts_responses_to_chat_completions ... ok [INFO] [stdout] test strict::streaming::tests::test_streaming_state_initial_events ... ok [INFO] [stdout] test strict::streaming::tests::test_multi_iteration_final_response_includes_all_items ... ok [INFO] [stdout] test strict::streaming::tests::test_sequence_numbers_increase ... ok [INFO] [stdout] test strict::streaming::tests::test_multi_iteration_output_indices ... ok [INFO] [stdout] test strict::handlers::tests::test_streaming_multiline_sse_events_are_sanitized ... ok [INFO] [stdout] test strict::tests::test_adapter_with_instructions ... ok [INFO] [stdout] test strict::tests::test_strict_router_rejects_unknown_paths ... ok [INFO] [stdout] test target::tests::test_backwards_compat_single_target_config ... ok [INFO] [stdout] test target::tests::test_backwards_compat_list_format_config ... ok [INFO] [stdout] test strict::tests::test_completions_accepts_missing_prompt ... ok [INFO] [stdout] test strict::tests::test_completions_streaming_response_format ... ok [INFO] [stdout] test target::tests::test_concurrency_limiter_allows_requests ... ok [INFO] [stdout] test strict::tests::test_duplicate_tool_name_returns_400 ... ok [INFO] [stdout] test strict::tests::test_completions_proxied_to_upstream_completions ... ok [INFO] [stdout] test strict::tests::test_streaming_adapter_mode ... ok [INFO] [stdout] test strict::tests::test_strict_router_accepts_completions_endpoint ... ok [INFO] [stdout] test target::tests::test_concurrency_limiter_blocks_at_capacity ... ok [INFO] [stdout] test target::tests::test_fallback_config_disabled_ignores_status ... ok [INFO] [stdout] test target::tests::test_fallback_config_two_digit_wildcard ... ok [INFO] [stdout] test target::tests::test_fallback_config_wildcard_status_codes ... ok [INFO] [stdout] test target::tests::test_from_config_no_global_keys ... ok [INFO] [stdout] test target::tests::test_from_config_merges_global_keys_with_target_keys ... ok [INFO] [stdout] test target::tests::test_concurrency_limiter_releases_on_drop ... ok [INFO] [stdout] test strict::tests::test_strict_router_accepts_models_endpoint ... ok [INFO] [stdout] test target::tests::test_into_pool_preserves_sanitize_response ... ok [INFO] [stdout] test target::tests::test_into_pool_preserves_sanitize_response_disabled ... ok [INFO] [stdout] test target::tests::test_key_labels_wired_through_config ... ok [INFO] [stdout] test target::tests::test_from_config_target_without_keys_gets_global_keys ... ok [INFO] [stdout] test target::tests::test_per_key_concurrency_limiting_not_configured ... ok [INFO] [stdout] test target::tests::test_normalize_url_adds_trailing_slash ... ok [INFO] [stdout] test target::tests::test_per_key_concurrency_limiting_configured ... ok [INFO] [stdout] test target::tests::test_per_key_rate_limiting_no_rate_limit_configured ... ok [INFO] [stdout] test target::tests::test_per_key_rate_limiting_with_literal_key ... ok [INFO] [stdout] test target::tests::test_pool_config_mixed_timeouts ... ok [INFO] [stdout] test target::tests::test_per_provider_trusted_parsed_from_config ... ok [INFO] [stdout] test target::tests::test_pool_config_weighted_random_strategy ... ok [INFO] [stdout] test target::tests::test_per_key_rate_limiting_with_actual_key ... ok [INFO] [stdout] test target::tests::test_pool_config_with_strategy ... ok [INFO] [stdout] test target::tests::test_pool_config_with_timeout ... ok [INFO] [stdout] test target::tests::test_provider_spec_trusted_some_false ... ok [INFO] [stdout] test target::tests::test_legacy_list_mixed_trusted_values_rejected ... ok [INFO] [stdout] test target::tests::test_provider_spec_trusted_defaults_to_none ... ok [INFO] [stdout] test target::tests::test_rate_limiter_trait_can_change_state ... ok [INFO] [stdout] test target::tests::test_provider_spec_trusted_some_true ... ok [INFO] [stdout] test target::tests::test_routing_rules_deserialized_from_config ... ok [INFO] [stdout] test target::tests::test_routing_rules_empty_by_default ... ok [INFO] [stdout] test target::tests::test_single_target_config_without_timeout ... ok [INFO] [stdout] test target::tests::test_single_target_config_with_timeout ... ok [INFO] [stdout] test target::tests::test_target_from_provider_spec_propagates_trusted ... ok [INFO] [stdout] test target::tests::test_target_from_provider_spec_trusted_none ... ok [INFO] [stdout] test target::tests::test_target_spec_conversion_normalizes_url ... ok [INFO] [stdout] test target::tests::test_target_with_concurrency_limit_config ... ok [INFO] [stdout] test target::tests::test_target_with_rate_limit_config ... ok [INFO] [stdout] test target::tests::test_target_without_concurrency_limit_config ... ok [INFO] [stdout] test target::tests::test_target_without_rate_limit_config ... ok [INFO] [stdout] test handlers::tests::test_path_stripping_with_actual_duplicate_paths ... ok [INFO] [stdout] test target::tests::test_trusted_field_defaults_to_false ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_reject_float_token_array_prompt ... ok [INFO] [stdout] test strict::schemas::completions::tests::test_deserialize_array_of_strings_prompt ... ok [INFO] [stdout] test target::tests::test_trusted_field_set_to_true ... ok [INFO] [stdout] test target::tests::test_trusted_field_in_pool_config ... ok [INFO] [stdout] test target::tests::test_url_joining_after_normalization ... ok [INFO] [stdout] test target::tests::test_trusted_field_preserved_in_pool_conversion ... ok [INFO] [stdout] test tests::load_balancing::test_single_provider_pool_behaves_like_single_target ... ok [INFO] [stdout] test target::tests::test_rate_limiter_trait_allows_requests ... ok [INFO] [stdout] test target::tests::test_rate_limiter_trait_blocks_requests ... ok [INFO] [stdout] test tests::response_headers_pricing::test_no_pricing_headers_when_not_configured ... ok [INFO] [stdout] test tests::response_headers_pricing::test_pricing_header_with_only_input_price ... ok [INFO] [stdout] test tests::response_headers_pricing::test_pricing_added_to_response_headers_when_configured ... ok [INFO] [stdout] test tests::load_balancing::test_load_balancing_with_multiple_providers ... ok [INFO] [stdout] test tests::response_headers_pricing::test_pricing_header_with_only_output_price ... ok [INFO] [stdout] test tests::response_sanitization::test_error_sanitization_disabled_passes_through ... ok [INFO] [stdout] test tests::response_sanitization::test_error_sanitization_replaces_4xx_body ... ok [INFO] [stdout] test tests::response_sanitization::test_pool_level_sanitization_applies_to_all_providers ... ok [INFO] [stdout] test tests::response_sanitization::test_error_sanitization_preserves_5xx_status ... ok [INFO] [stdout] test strict::tests::test_passthrough_mode_without_adapter ... ok [INFO] [stdout] test strict::tests::test_streaming_adapter_tool_calls_unhandled ... ok [INFO] [stdout] test tests::response_headers_pricing::test_pricing_headers_with_different_models ... ok [INFO] [stdout] test tests::response_headers_pricing::test_pricing_preserved_in_error_response_headers ... ok [INFO] [stdout] test tests::response_sanitization::test_sanitization_disabled_passes_through ... ok [INFO] [stdout] test tests::response_sanitization::test_sanitize_non_streaming_removes_unknown_fields ... ok [INFO] [stdout] test tests::response_sanitization::test_sanitize_rewrites_model_field ... ok [INFO] [stdout] test tests::test_body_transformation_applied ... ok [INFO] [stdout] test tests::response_sanitization::test_sanitize_streaming_removes_unknown_fields ... ok [INFO] [stdout] test tests::response_sanitization::test_sanitize_streaming_rewrites_model ... ok [INFO] [stdout] test tests::test_body_transformation_not_applied_when_none ... ok [INFO] [stdout] test tests::response_sanitization::test_sanitization_only_applies_to_chat_completions ... ok [INFO] [stdout] test tests::load_balancing::test_load_balancing_with_weighted_providers ... ok [INFO] [stdout] test tests::test_body_transformation_returns_none ... ok [INFO] [stdout] test tests::test_models_endpoint_filters_by_bearer_token ... ok [INFO] [stdout] test tests::test_model_override_header_takes_precedence ... ok [INFO] [stdout] test tests::test_empty_targets_returns_404 ... ok [INFO] [stdout] test tests::test_concurrency_limiting_below_limits ... ok [INFO] [stdout] test tests::test_models_endpoint_returns_proper_model_list ... ok [INFO] [stdout] test tests::test_openai_streaming_include_usage_transformation ... ok [INFO] [stdout] test tests::test_openai_non_streaming_not_transformed ... ok [INFO] [stdout] test tests::test_multiple_targets_routing ... ok [INFO] [stdout] test tests::test_rate_limiting_allows_requests ... ok [INFO] [stdout] test tests::test_rate_limiting_blocks_requests ... ok [INFO] [stdout] test tests::test_rate_limiting_with_mixed_targets ... ok [INFO] [stdout] test tests::test_request_and_response_details ... ok [INFO] [stdout] test traits::tool_executor::tests::test_noop_executor_returns_not_found ... ok [INFO] [stdout] test traits::tool_executor::tests::test_noop_executor_returns_no_tools ... ok [INFO] [stdout] test traits::response_store::tests::test_noop_store_generates_id ... ok [INFO] [stdout] test traits::response_store::tests::test_noop_store_returns_none ... ok [INFO] [stdout] test tests::test_transformation_path_filtering ... ok [INFO] [stdout] test traits::tool_executor::tests::test_request_context_builder ... ok [INFO] [stdout] test tests::test_concurrency_limiting_at_limits ... ok [INFO] [stdout] test target::tests::test_config_watcher_updates_targets ... ok [INFO] [stdout] test target::tests::test_config_watcher_updates_target_properties ... ok [INFO] [stdout] test target::tests::test_config_watcher_removes_deleted_targets ... ok [INFO] [stdout] test target::tests::test_config_watcher_handles_errors ... ok [INFO] [stdout] test tests::test_per_key_concurrency_limiting ... ok [INFO] [stdout] test target::tests::test_config_watcher_multiple_updates ... ok [INFO] [stdout] test client::tests::test_create_hyper_client_accepts_https_uris ... ok [INFO] [stdout] test tests::metrics::test_metrics_server_for_v1_models ... ok [INFO] [stdout] test tests::metrics::test_metrics_server_for_missing_targets ... ok [INFO] [stdout] test handlers::tests::test_mock_client_timeout_fires ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/onwards-9e7d955114820d3d) [INFO] [stdout] [INFO] [stderr] Doc-tests onwards [INFO] [stdout] test result: ok. 306 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test src/lib.rs - AppState (line 176) - compile ... ok [INFO] [stdout] test src/lib.rs - build_metrics_layer_and_handle (line 528) - compile ... ok [INFO] [stdout] test src/lib.rs - build_router (line 444) - compile ... ok [INFO] [stdout] test src/lib.rs - create_openai_sanitizer (line 404) - compile ... ok [INFO] [stdout] test src/strict/mod.rs - strict (line 14) ... ignored [INFO] [stdout] test src/strict/mod.rs - strict::build_strict_router (line 55) ... ignored [INFO] [stdout] test src/traits/response_store.rs - traits::response_store::ResponseStore (line 40) ... ignored [INFO] [stdout] test src/traits/tool_executor.rs - traits::tool_executor::ToolExecutor (line 104) ... ignored [INFO] [stdout] test src/lib.rs - build_metrics_router (line 484) - compile ... ok [INFO] [stdout] test src/lib.rs - AppState (line 163) - compile ... ok [INFO] [stdout] test src/lib.rs - extract_model_from_request (line 348) ... ok [INFO] [stdout] test src/lib.rs - extract_model_from_request (line 361) ... ok [INFO] [stdout] test src/lib.rs - (line 8) - compile ... ok [INFO] [stdout] test src/response_sanitizer.rs - response_sanitizer (line 16) ... ok [INFO] [stdout] test src/lib.rs - BodyTransformFn (line 87) ... ok [INFO] [stdout] test src/lib.rs - ResponseTransformFn (line 131) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] all doctests ran in 4.37s; merged doctests compilation took 4.19s [INFO] running `Command { std: "docker" "inspect" "873630ae82478118afc5700f6e32939bc15aa84f52d5bc90effe9e75f953f907", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "873630ae82478118afc5700f6e32939bc15aa84f52d5bc90effe9e75f953f907", kill_on_drop: false }` [INFO] [stdout] 873630ae82478118afc5700f6e32939bc15aa84f52d5bc90effe9e75f953f907