[INFO] fetching crate opendev-http 0.1.4...
[INFO] testing opendev-http-0.1.4 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate opendev-http 0.1.4 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate opendev-http 0.1.4
[INFO] finished tweaking crates.io crate opendev-http 0.1.4
[INFO] tweaked toml for crates.io crate opendev-http 0.1.4 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate opendev-http 0.1.4 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate opendev-http 0.1.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c7d82e33172a38e81a7ffd4d392c2d6013b94f87c28730b85e481d5e14c9e46e
[INFO] running `Command { std: "docker" "start" "-a" "c7d82e33172a38e81a7ffd4d392c2d6013b94f87c28730b85e481d5e14c9e46e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c7d82e33172a38e81a7ffd4d392c2d6013b94f87c28730b85e481d5e14c9e46e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7d82e33172a38e81a7ffd4d392c2d6013b94f87c28730b85e481d5e14c9e46e", kill_on_drop: false }`
[INFO] [stdout] c7d82e33172a38e81a7ffd4d392c2d6013b94f87c28730b85e481d5e14c9e46e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9cc9878c9f674fc700b0fb9afbfbc9a5ff76d8a448e440b1cadf42056f508044
[INFO] running `Command { std: "docker" "start" "-a" "9cc9878c9f674fc700b0fb9afbfbc9a5ff76d8a448e440b1cadf42056f508044", 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 pin-project-lite v0.2.17
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling aws-lc-sys v0.39.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling ts-rs-macros v10.1.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerofrom v0.1.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 strum v0.28.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ts-rs v10.1.0
[INFO] [stderr]    Compiling opendev-models v0.1.4
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling opendev-config v0.1.4
[INFO] [stderr]    Compiling opendev-http v0.1.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] running `Command { std: "docker" "inspect" "9cc9878c9f674fc700b0fb9afbfbc9a5ff76d8a448e440b1cadf42056f508044", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cc9878c9f674fc700b0fb9afbfbc9a5ff76d8a448e440b1cadf42056f508044", kill_on_drop: false }`
[INFO] [stdout] 9cc9878c9f674fc700b0fb9afbfbc9a5ff76d8a448e440b1cadf42056f508044
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 08ccb6fc08c3f2065bec4b5170006ca2996dca8610625cb55c0a869d7f1d054e
[INFO] running `Command { std: "docker" "start" "-a" "08ccb6fc08c3f2065bec4b5170006ca2996dca8610625cb55c0a869d7f1d054e", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling tempfile v3.27.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 tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[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 reqwest v0.13.2
[INFO] [stderr]    Compiling opendev-config v0.1.4
[INFO] [stderr]    Compiling opendev-http v0.1.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.10s
[INFO] running `Command { std: "docker" "inspect" "08ccb6fc08c3f2065bec4b5170006ca2996dca8610625cb55c0a869d7f1d054e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08ccb6fc08c3f2065bec4b5170006ca2996dca8610625cb55c0a869d7f1d054e", kill_on_drop: false }`
[INFO] [stdout] 08ccb6fc08c3f2065bec4b5170006ca2996dca8610625cb55c0a869d7f1d054e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6c1adc5e31c461ab253402c418737ba16b533282c95c4ea0e5f7d93f9f713a0e
[INFO] running `Command { std: "docker" "start" "-a" "6c1adc5e31c461ab253402c418737ba16b533282c95c4ea0e5f7d93f9f713a0e", kill_on_drop: false }`
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/opendev_http-e59315c5914e185f)
[INFO] [stdout] 
[INFO] [stdout] running 231 tests
[INFO] [stdout] test adapted_client::tests::test_adapter_for_provider_gemini ... ok
[INFO] [stdout] test adapted_client::tests::test_adapter_for_provider_unknown_is_none ... ok
[INFO] [stdout] test adapted_client::tests::test_resolve_provider_explicit ... ok
[INFO] [stdout] test adapted_client::tests::test_resolve_provider_fallback_to_openai ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_add_cache_control_string_content ... ok
[INFO] [stdout] test adapted_client::tests::test_adapter_for_provider_anthropic ... ok
[INFO] [stdout] test adapted_client::tests::test_adapter_for_provider_groq_is_none ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_api_url_default ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_api_url_custom ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_image_blocks ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_adaptive_thinking_low ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_thinking_unsupported_model ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_with_thinking ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_tool_messages_echoes_thinking ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_extract_system ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_extra_headers ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_extra_headers_no_caching ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_response_to_chat_completions ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_response_no_thinking_blocks ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_adaptive_thinking_high ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_response_tool_use_finish_reason ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_adaptive_thinking_medium ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_supports_thinking ... ok
[INFO] [stdout] test adapters::azure::tests::test_api_url_default_version ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_thinking_blocks_signature_roundtrip ... ok
[INFO] [stdout] test adapted_client::tests::test_adapter_for_provider_openai ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_supports_adaptive_thinking ... ok
[INFO] [stdout] test adapters::azure::tests::test_api_url_custom_version ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_response_extracts_thinking_blocks ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_thinking_blocks_signature_preserved_in_response ... ok
[INFO] [stdout] test adapters::azure::tests::test_api_url_trailing_slash ... ok
[INFO] [stdout] test adapted_client::tests::test_resolve_provider_auto_detect ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_thinking_ensures_min_max_tokens ... ok
[INFO] [stdout] test adapters::azure::tests::test_build_azure_url ... ok
[INFO] [stdout] test adapters::azure::tests::test_convert_request_strips_model ... ok
[INFO] [stdout] test adapters::azure::tests::test_convert_request_with_tools ... ok
[INFO] [stdout] test adapted_client::tests::test_adapter_for_provider_google ... ok
[INFO] [stdout] test adapters::azure::tests::test_convert_response_passthrough ... ok
[INFO] [stdout] test adapters::azure::tests::test_extra_headers ... ok
[INFO] [stdout] test adapters::azure::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_convert_tool_messages ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_convert_tools ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_convert_tool_messages_merge_consecutive ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_ensure_max_tokens_converts_max_completion_tokens ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_extract_system_none ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_convert_request_converts_max_completion_tokens ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_convert_request_preserves_custom_max_tokens ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_extract_system ... ok
[INFO] [stdout] test adapters::bedrock::response::tests::test_response_to_chat_completions_text ... ok
[INFO] [stdout] test adapters::bedrock::response::tests::test_response_to_chat_completions_tool_use ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_extract_system_multiple ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_api_url_format ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_model_id ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_region ... ok
[INFO] [stdout] test adapters::gemini::tests::test_api_url ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_request_with_tool_calls ... ok
[INFO] [stdout] test adapters::anthropic::tests::test_convert_request_removes_unsupported ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_request_with_tools ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_extra_headers ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_response_safety ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_response_max_tokens ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_request_basic ... ok
[INFO] [stdout] test adapters::gemini::tests::test_custom_base_url ... ok
[INFO] [stdout] test adapters::bedrock::response::tests::test_response_max_tokens_finish_reason ... ok
[INFO] [stdout] test adapters::gemini::tests::test_default_model ... ok
[INFO] [stdout] test adapters::groq::tests::test_api_url_custom ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_convert_request_removes_unsupported_fields ... ok
[INFO] [stdout] test adapters::gemini::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::groq::tests::test_convert_response_passthrough ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_response_function_call ... ok
[INFO] [stdout] test adapters::groq::tests::test_extra_headers_empty ... ok
[INFO] [stdout] test adapters::gemini::tests::test_gemini_api_url_builder ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_convert_request_sets_max_tokens ... ok
[INFO] [stdout] test adapters::groq::tests::test_api_url_default ... ok
[INFO] [stdout] test adapters::groq::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::groq::tests::test_rate_limit_info_empty_headers ... ok
[INFO] [stdout] test adapters::groq::tests::test_rate_limit_info_from_headers ... ok
[INFO] [stdout] test adapters::gemini::tests::test_convert_response_text ... ok
[INFO] [stdout] test adapters::groq::tests::test_rate_limit_info_partial_headers ... ok
[INFO] [stdout] test adapters::groq::tests::test_rate_limit_info_to_json ... ok
[INFO] [stdout] test adapters::groq::tests::test_convert_request_removes_unsupported ... ok
[INFO] [stdout] test adapters::groq::tests::test_convert_response_with_tool_calls ... ok
[INFO] [stdout] test adapters::mistral::tests::test_api_url_custom ... ok
[INFO] [stdout] test adapters::mistral::tests::test_convert_request_passthrough ... ok
[INFO] [stdout] test adapters::mistral::tests::test_convert_response_passthrough ... ok
[INFO] [stdout] test adapters::mistral::tests::test_extra_headers_empty ... ok
[INFO] [stdout] test adapters::mistral::tests::test_convert_request_removes_unsupported ... ok
[INFO] [stdout] test adapters::mistral::tests::test_normalize_tool_calls_missing_type ... ok
[INFO] [stdout] test adapters::mistral::tests::test_normalize_tool_calls_object_arguments ... ok
[INFO] [stdout] test adapters::mistral::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::ollama::tests::test_api_url_custom ... ok
[INFO] [stdout] test adapters::ollama::tests::test_convert_request_max_completion_tokens ... ok
[INFO] [stdout] test adapters::ollama::tests::test_api_url_default ... ok
[INFO] [stdout] test adapters::ollama::tests::test_convert_request_max_completion_tokens_no_override ... ok
[INFO] [stdout] test adapters::ollama::tests::test_convert_request_removes_unsupported ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_request_basic ... ok
[INFO] [stdout] test adapters::ollama::tests::test_extra_headers_empty ... ok
[INFO] [stdout] test adapters::ollama::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::mistral::tests::test_api_url_default ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_content_blocks_with_image ... ok
[INFO] [stdout] test adapters::ollama::tests::test_convert_request_passthrough ... ok
[INFO] [stdout] test adapters::openai::tests::test_api_url_default ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_response_incomplete ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_request_with_tools ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_ensure_max_tokens_default ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_response_reasoning ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_api_url_default_region ... ok
[INFO] [stdout] test adapters::openai::tests::test_provider_name ... ok
[INFO] [stdout] test adapters::openai::tests::test_is_reasoning_model ... ok
[INFO] [stdout] test adapters::groq::tests::test_convert_request_passthrough ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_request_reasoning_model_strips_temperature ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_empty_schemas ... ok
[INFO] [stdout] test adapters::bedrock::request::tests::test_ensure_max_tokens_preserves_existing ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_does_not_mutate_input ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_gemini_strips_additional_properties ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_gemini_strips_nested_keys ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_google_alias_for_gemini ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_general_cleanup_adds_properties ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_grok_alias_for_xai ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_mistral_flattens_any_of ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_no_adaptation_for_anthropic ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_mistral_merges_all_of ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_no_adaptation_for_openai ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_xai_filters_web_search ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_xai_no_web_search_unchanged ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_mistral_flattens_one_of ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_general_cleanup_adds_type ... ok
[INFO] [stdout] test adapters::tests::test_detect_gemini ... ok
[INFO] [stdout] test adapters::tests::test_detect_groq ... ok
[INFO] [stdout] test adapters::tests::test_detect_openai ... ok
[INFO] [stdout] test adapters::tests::test_detect_anthropic ... ok
[INFO] [stdout] test adapters::tests::test_anthropic_before_openai ... ok
[INFO] [stdout] test adapters::tests::test_detect_unknown ... ok
[INFO] [stdout] test auth::tests::test_env_var_for_provider ... ok
[INFO] [stdout] test circuit_breaker::tests::test_circuit_breaker_config_default ... ok
[INFO] [stdout] test circuit_breaker::tests::test_circuit_breaker_config_from_json ... ok
[INFO] [stdout] test circuit_breaker::tests::test_circuit_breaker_from_config ... ok
[INFO] [stdout] test circuit_breaker::tests::test_circuit_breaker_config_serde_roundtrip ... ok
[INFO] [stdout] test circuit_breaker::tests::test_debug_format ... ok
[INFO] [stdout] test circuit_breaker::tests::test_half_open_after_cooldown ... ok
[INFO] [stdout] test auth::tests::test_nonexistent_file ... ok
[INFO] [stdout] test circuit_breaker::tests::test_initial_state_is_closed ... ok
[INFO] [stdout] test circuit_breaker::tests::test_opens_after_threshold ... ok
[INFO] [stdout] test circuit_breaker::tests::test_open_circuit_error_message ... ok
[INFO] [stdout] test auth::tests::test_list_providers ... ok
[INFO] [stdout] test circuit_breaker::tests::test_partial_failures_dont_open ... ok
[INFO] [stdout] test circuit_breaker::tests::test_reset ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_response_text ... ok
[INFO] [stdout] test adapters::openai::tests::test_convert_response_tool_calls ... ok
[INFO] [stdout] test adapters::openai::tests::test_extra_headers_empty ... ok
[INFO] [stdout] test auth::tests::test_credential_store_tokens ... ok
[INFO] [stdout] test auth::tests::test_credential_store_set_get ... ok
[INFO] [stdout] test circuit_breaker::tests::test_success_after_half_open_closes_circuit ... ok
[INFO] [stdout] test circuit_breaker::tests::test_success_resets ... ok
[INFO] [stdout] test circuit_breaker::tests::test_failure_after_half_open_reopens ... ok
[INFO] [stdout] test client::tests::test_http_result_default_no_request_id ... ok
[INFO] [stdout] test auth::tests::test_credential_store_remove ... ok
[INFO] [stdout] test client::tests::test_http_result_interrupted_with_request_id ... ok
[INFO] [stdout] test client::tests::test_http_result_with_request_id ... ok
[INFO] [stdout] test client::tests::test_http_result_fail_with_request_id ... ok
[INFO] [stdout] test auth::tests::test_credential_store_persistence ... ok
[INFO] [stdout] test client::tests::test_timeout_config_default ... ok
[INFO] [stdout] test models::retry::tests::test_classify_404_not_retryable ... ok
[INFO] [stdout] test models::retry::tests::test_classify_429_generic ... ok
[INFO] [stdout] test models::retry::tests::test_classify_429_rate_limited ... ok
[INFO] [stdout] test models::retry::tests::test_classify_500 ... ok
[INFO] [stdout] test models::retry::tests::test_classify_502 ... ok
[INFO] [stdout] test adapters::schema_adapter::tests::test_case_insensitive_provider ... ok
[INFO] [stdout] test adapters::bedrock::tests::test_build_url ... ok
[INFO] [stdout] test models::retry::tests::test_classify_504 ... ok
[INFO] [stdout] test models::retry::tests::test_classify_503_overloaded ... ok
[INFO] [stdout] test adapters::ollama::tests::test_convert_response_passthrough ... ok
[INFO] [stdout] test adapters::ollama::tests::test_convert_response_with_tool_calls ... ok
[INFO] [stdout] test adapters::openai::tests::test_api_url_custom ... ok
[INFO] [stdout] test models::retry::tests::test_classify_503_generic ... ok
[INFO] [stdout] test models::retry::tests::test_extract_openai_error ... ok
[INFO] [stdout] test models::retry::tests::test_extract_generic_message ... ok
[INFO] [stdout] test models::retry::tests::test_extract_anthropic_error ... ok
[INFO] [stdout] test models::retry::tests::test_extract_no_message ... ok
[INFO] [stdout] test models::retry::tests::test_parse_retry_after_invalid ... ok
[INFO] [stdout] test models::retry::tests::test_classify_body_overloaded_no_status ... ok
[INFO] [stdout] test models::retry::tests::test_parse_retry_after_none ... ok
[INFO] [stdout] test models::retry::tests::test_parse_retry_after_zero ... ok
[INFO] [stdout] test models::retry::tests::test_retry_config_default ... ok
[INFO] [stdout] test models::retry::tests::test_retry_config_exponential_backoff_capped ... ok
[INFO] [stdout] test models::retry::tests::test_retry_config_legacy_fallback ... ok
[INFO] [stdout] test models::retry::tests::test_retry_config_serde_roundtrip ... ok
[INFO] [stdout] test models::tests::test_http_result_fail ... ok
[INFO] [stdout] test models::tests::test_http_result_interrupted ... ok
[INFO] [stdout] test models::tests::test_http_result_ok ... ok
[INFO] [stdout] test models::tests::test_http_result_retryable_status ... ok
[INFO] [stdout] test models::tests::test_http_result_retryable_status_with_retry_after ... ok
[INFO] [stdout] test rotation::tests::test_all_keys_in_cooldown ... ok
[INFO] [stdout] test rotation::tests::test_cooldown_seconds ... ok
[INFO] [stdout] test rotation::tests::test_debug_format ... ok
[INFO] [stdout] test rotation::tests::test_from_config_api_keys ... ok
[INFO] [stdout] test rotation::tests::test_from_config_empty ... ok
[INFO] [stdout] test models::retry::tests::test_parse_retry_after_seconds ... ok
[INFO] [stdout] test models::retry::tests::test_classify_529_overloaded ... ok
[INFO] [stdout] test models::retry::tests::test_retry_config_exponential_backoff ... ok
[INFO] [stdout] test models::retry::tests::test_parse_retry_after_float_seconds ... ok
[INFO] [stdout] test rotation::tests::test_mark_success ... ok
[INFO] [stdout] test rotation::tests::test_get_active_key ... ok
[INFO] [stdout] test rotation::tests::test_mark_failure_and_rotate ... ok
[INFO] [stdout] test rotation::tests::test_new_empty ... ok
[INFO] [stdout] test rotation::tests::test_new_filters_empty_keys ... ok
[INFO] [stdout] test rotation::tests::test_get_active_key_empty ... ok
[INFO] [stdout] test rotation::tests::test_success_resets_cooldown ... ok
[INFO] [stdout] test user_store::tests::test_create_and_get_user ... ok
[INFO] [stdout] test rotation::tests::test_from_config_single_key ... ok
[INFO] [stdout] test user_store::tests::test_get_nonexistent_user ... ok
[INFO] [stdout] test user_store::tests::test_list_and_count ... ok
[INFO] [stdout] test user_store::tests::test_delete_user ... ok
[INFO] [stdout] test user_store::tests::test_get_by_id ... ok
[INFO] [stdout] test user_store::tests::test_create_duplicate_user_fails ... ok
[INFO] [stdout] test user_store::tests::test_update_user ... ok
[INFO] [stdout] test user_store::tests::test_persistence_across_instances ... ok
[INFO] [stdout] test user_store::tests::test_empty_dir_creates_file ... ok
[INFO] [stdout] test models::retry::tests::test_parse_retry_after_ms_takes_precedence ... ok
[INFO] [stdout] test client::tests::test_circuit_breaker_rejects_when_open ... ok
[INFO] [stdout] test client::tests::test_get_retry_delay_with_ms_header ... ok
[INFO] [stdout] test client::tests::test_get_retry_delay_with_header ... ok
[INFO] [stdout] test client::tests::test_http_client_debug ... ok
[INFO] [stdout] test client::tests::test_cancellation_before_request ... ok
[INFO] [stdout] test client::tests::test_interruptible_sleep_cancel ... ok
[INFO] [stdout] test client::tests::test_get_retry_delay_fallback ... ok
[INFO] [stdout] test client::tests::test_http_client_debug_with_circuit_breaker ... ok
[INFO] [stdout] test client::tests::test_get_retry_delay_capped ... ok
[INFO] [stdout] test client::tests::test_interruptible_sleep_completes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 231 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests opendev_http
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6c1adc5e31c461ab253402c418737ba16b533282c95c4ea0e5f7d93f9f713a0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c1adc5e31c461ab253402c418737ba16b533282c95c4ea0e5f7d93f9f713a0e", kill_on_drop: false }`
[INFO] [stdout] 6c1adc5e31c461ab253402c418737ba16b533282c95c4ea0e5f7d93f9f713a0e
