[INFO] fetching crate blixt 0.5.0... [INFO] testing blixt-0.5.0 against beta-2026-04-21 for beta-1.96-1 [INFO] extracting crate blixt 0.5.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate blixt 0.5.0 [INFO] finished tweaking crates.io crate blixt 0.5.0 [INFO] tweaked toml for crates.io crate blixt 0.5.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate blixt 0.5.0 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 blixt 0.5.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] 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] 73b777fded0e3f850e060a826e349445280e3c885897778d2b6f75c9e753261a [INFO] running `Command { std: "docker" "start" "-a" "73b777fded0e3f850e060a826e349445280e3c885897778d2b6f75c9e753261a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73b777fded0e3f850e060a826e349445280e3c885897778d2b6f75c9e753261a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73b777fded0e3f850e060a826e349445280e3c885897778d2b6f75c9e753261a", kill_on_drop: false }` [INFO] [stdout] 73b777fded0e3f850e060a826e349445280e3c885897778d2b6f75c9e753261a [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] 0d615639f36eaef9a2d22f779c6ab6988f3d2c45ca138daaa49a00c7f2dc09af [INFO] running `Command { std: "docker" "start" "-a" "0d615639f36eaef9a2d22f779c6ab6988f3d2c45ca138daaa49a00c7f2dc09af", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling cc v1.2.59 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling indexmap v2.13.1 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling crc v3.4.0 [INFO] [stderr] Compiling tinyvec v1.11.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling tokio v1.51.1 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling unicode-properties v0.1.4 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling hdrhistogram v7.5.4 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling compression-core v0.4.31 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling compression-codecs v0.4.37 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling hybrid-array v0.4.10 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling rustc-hash v2.1.2 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling const-oid v0.10.2 [INFO] [stderr] Compiling inotify v0.11.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling digest v0.11.2 [INFO] [stderr] Compiling axum-macros v0.5.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling jiff v0.2.23 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling email-encoding v0.4.1 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling quoted_printable v0.5.2 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling tagptr v0.2.0 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling sha2 v0.11.0 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling askama_parser v0.15.6 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling moka v0.12.15 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling rsa v0.9.10 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling jsonwebtoken v10.3.0 [INFO] [stderr] Compiling askama_derive v0.15.6 [INFO] [stderr] Compiling sqlx-postgres v0.8.6 [INFO] [stderr] Compiling askama_macros v0.15.6 [INFO] [stderr] Compiling askama v0.15.6 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling async-compression v0.4.41 [INFO] [stderr] Compiling backon v1.6.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling lettre v0.11.21 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling opendal v0.55.0 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling blixt v0.5.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 14s [INFO] running `Command { std: "docker" "inspect" "0d615639f36eaef9a2d22f779c6ab6988f3d2c45ca138daaa49a00c7f2dc09af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d615639f36eaef9a2d22f779c6ab6988f3d2c45ca138daaa49a00c7f2dc09af", kill_on_drop: false }` [INFO] [stdout] 0d615639f36eaef9a2d22f779c6ab6988f3d2c45ca138daaa49a00c7f2dc09af [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] c8612b640e58908c8b4dd83f9ef0d62a375703e3e0ad8d0f9069c3bb30c5ae6e [INFO] running `Command { std: "docker" "start" "-a" "c8612b640e58908c8b4dd83f9ef0d62a375703e3e0ad8d0f9069c3bb30c5ae6e", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling inotify v0.11.1 [INFO] [stderr] Compiling sqlx-postgres v0.8.6 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling opendal v0.55.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling lettre v0.11.21 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling blixt v0.5.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 47.71s [INFO] running `Command { std: "docker" "inspect" "c8612b640e58908c8b4dd83f9ef0d62a375703e3e0ad8d0f9069c3bb30c5ae6e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8612b640e58908c8b4dd83f9ef0d62a375703e3e0ad8d0f9069c3bb30c5ae6e", kill_on_drop: false }` [INFO] [stdout] c8612b640e58908c8b4dd83f9ef0d62a375703e3e0ad8d0f9069c3bb30c5ae6e [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] 6d1b70a322c93d7125594128d46c43805106d026667e185e565cbe4e75c67837 [INFO] running `Command { std: "docker" "start" "-a" "6d1b70a322c93d7125594128d46c43805106d026667e185e565cbe4e75c67837", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/blixt-d9dae4b115e4af49) [INFO] [stdout] [INFO] [stdout] running 262 tests [INFO] [stdout] test app::tests::response_includes_all_security_headers ... ok [INFO] [stdout] test app::tests::path_traversal_returns_404 ... ok [INFO] [stdout] test app::tests::is_dotfile_path_detects_dotfiles ... ok [INFO] [stdout] test auth::cookie::tests::clear_cookie_sets_max_age_zero ... ok [INFO] [stdout] test auth::cookie::tests::set_cookie_with_secure_flag ... ok [INFO] [stdout] test auth::cookie::tests::set_cookie_adds_httponly_header ... ok [INFO] [stdout] test auth::extractor::tests::cookie_takes_priority_over_bearer ... ok [INFO] [stdout] test app::tests::dotfile_request_returns_404 ... ok [INFO] [stdout] test auth::extractor::tests::missing_token_returns_401 ... ok [INFO] [stdout] test auth::extractor::tests::optional_auth_without_token_returns_none ... ok [INFO] [stdout] test auth::extractor::tests::optional_auth_reads_cookie ... ok [INFO] [stdout] test auth::jwt::tests::create_and_validate_roundtrip ... ok [INFO] [stdout] test auth::jwt::tests::short_secret_is_rejected ... ok [INFO] [stdout] test auth::jwt::tests::tampered_payload_is_rejected ... ok [INFO] [stdout] test auth::extractor::tests::valid_cookie_token_extracts_user ... ok [INFO] [stdout] test app::tests::valid_static_file_returns_200 ... ok [INFO] [stdout] test auth::jwt::tests::wrong_secret_is_rejected ... ok [INFO] [stdout] test cache::memory::tests::delete_removes_key ... ok [INFO] [stdout] test auth::tests::sha256_hex_empty_input ... ok [INFO] [stdout] test auth::tests::sha256_hex_known_digest ... ok [INFO] [stdout] test cache::memory::tests::exists_reflects_presence ... ok [INFO] [stdout] test cache::memory::tests::expired_entry_returns_none ... ok [INFO] [stdout] test cache::memory::tests::set_and_get_roundtrip ... ok [INFO] [stdout] test cache::memory::tests::complex_type_roundtrip ... ok [INFO] [stdout] test cache::memory::tests::expired_entry_not_exists ... ok [INFO] [stdout] test cache::memory::tests::get_missing_key_returns_none ... ok [INFO] [stdout] test auth::extractor::tests::valid_bearer_token_extracts_user ... ok [INFO] [stdout] test config::tests::debug_output_redacts_secrets ... ok [INFO] [stdout] test cache::memory::tests::overwrite_replaces_value ... ok [INFO] [stdout] test auth::tests::sha256_hex_returns_lowercase_hex ... ok [INFO] [stdout] test config::tests::is_production_returns_true_only_for_production ... ok [INFO] [stdout] test config::tests::expose_secret_accessors_return_values ... ok [INFO] [stdout] test context::tests::app_context_wraps_config_in_arc ... ok [INFO] [stdout] test datastar::gate_tests::hmr_module_available_in_debug ... ok [INFO] [stdout] test datastar::hmr::tests::create_event_detected ... ok [INFO] [stdout] test datastar::hmr::tests::css_reload_script_is_static_constant ... ok [INFO] [stdout] test datastar::hmr::tests::css_reload_script_no_user_input_interpolation ... ok [INFO] [stdout] test datastar::hmr::tests::hmr_handler_rejects_non_loopback ... ok [INFO] [stdout] test datastar::hmr::tests::hmr_handler_returns_event_stream_content_type ... ok [INFO] [stdout] test cache::tests::from_env_explicit_memory ... ok [INFO] [stdout] test datastar::hmr::tests::loopback_ipv4_detected ... ok [INFO] [stdout] test datastar::hmr::tests::loopback_ipv6_detected ... ok [INFO] [stdout] test datastar::hmr::tests::non_loopback_ipv4_rejected ... ok [INFO] [stdout] test datastar::hmr::tests::non_loopback_ipv6_rejected ... ok [INFO] [stdout] test datastar::hmr::tests::remove_event_not_detected_as_modify ... ok [INFO] [stdout] test datastar::hmr::tests::unspecified_ipv4_is_not_loopback ... ok [INFO] [stdout] test datastar::hmr::tests::unspecified_ipv6_is_not_loopback ... ok [INFO] [stdout] test datastar::hmr::tests::modify_event_detected ... ok [INFO] [stdout] test datastar::responses::tests::format_sse_event_signals ... ok [INFO] [stdout] test datastar::responses::tests::format_sse_event_multiline_collapses_to_single_line ... ok [INFO] [stdout] test datastar::responses::tests::format_sse_event_single_line ... ok [INFO] [stdout] test datastar::responses::tests::sse_fragment_from_html_has_cache_control ... ok [INFO] [stdout] test datastar::responses::tests::sse_fragment_from_html_has_correct_content_type ... ok [INFO] [stdout] test cache::tests::from_env_redis_without_feature_errors ... ok [INFO] [stdout] test cache::tests::from_env_unknown_backend_errors ... ok [INFO] [stdout] test cache::tests::from_env_defaults_to_memory ... ok [INFO] [stdout] test config::tests::empty_blixt_env_defaults_to_development ... ok [INFO] [stdout] test config::tests::defaults_to_development_when_blixt_env_unset ... ok [INFO] [stdout] test config::tests::environment_from_env_var_parses_variants ... ok [INFO] [stdout] test config::tests::dotenv_loads_before_reading_blixt_env ... ok [INFO] [stdout] test config::tests::production_env_skips_dotenv_loading ... ok [INFO] [stdout] test config::tests::production_does_not_load_dotenv ... ok [INFO] [stdout] test datastar::responses::tests::sse_signals_cache_control ... ok [INFO] [stdout] test datastar::responses::tests::sse_signals_produces_valid_sse ... ok [INFO] [stdout] test datastar::signals::tests::get_opt_returns_some_for_existing_key ... ok [INFO] [stdout] test datastar::signals::tests::get_typed_i64 ... ok [INFO] [stdout] test datastar::responses::tests::sse_stream_has_event_stream_content_type ... ok [INFO] [stdout] test datastar::signals::tests::body_over_max_size_returns_error ... ok [INFO] [stdout] test datastar::signals::tests::get_typed_string ... ok [INFO] [stdout] test datastar::signals::tests::get_missing_key_returns_bad_request ... ok [INFO] [stdout] test datastar::responses::tests::sse_fragment_multiline_html ... ok [INFO] [stdout] test datastar::responses::tests::sse_fragment_from_html_produces_correct_body ... ok [INFO] [stdout] test datastar::signals::tests::get_opt_returns_none_for_missing_key ... ok [INFO] [stdout] test datastar::signals::tests::has_returns_false_for_missing_key ... ok [INFO] [stdout] test datastar::signals::tests::has_returns_true_for_existing_key ... ok [INFO] [stdout] test datastar::signals::tests::invalid_json_returns_bad_request ... ok [INFO] [stdout] test datastar::signals::tests::key_longer_than_limit_returns_error ... ok [INFO] [stdout] test datastar::signals::tests::keys_iterator_returns_all_keys ... ok [INFO] [stdout] test datastar::signals::tests::parse_signals_from_post_json_body ... ok [INFO] [stdout] test datastar::signals::tests::parse_signals_from_query_string ... ok [INFO] [stdout] test datastar::signals::tests::nested_datastar_key_unwrapped ... ok [INFO] [stdout] test datastar::signals::tests::value_exceeding_max_size_returns_error ... ok [INFO] [stdout] test datastar::sse_response::tests::combined_patch_and_signals ... ok [INFO] [stdout] test datastar::signals_builder::tests::chaining_multiple_sets ... ok [INFO] [stdout] test datastar::sse_response::tests::default_and_new_are_equivalent ... ok [INFO] [stdout] test datastar::signals_builder::tests::set_accepts_bool ... ok [INFO] [stdout] test datastar::signals::tests::too_many_signals_returns_error ... ok [INFO] [stdout] test datastar::signals_builder::tests::clear_sets_all_keys_to_empty_string ... ok [INFO] [stdout] test datastar::signals_builder::tests::clear_with_empty_slice ... ok [INFO] [stdout] test datastar::signals_builder::tests::set_accepts_string ... ok [INFO] [stdout] test datastar::sse_response::tests::empty_response_has_sse_headers ... ok [INFO] [stdout] test datastar::sse_response::tests::is_empty_on_new ... ok [INFO] [stdout] test datastar::sse_response::tests::patch_html_sends_raw_html ... ok [INFO] [stdout] test datastar::sse_response::tests::is_not_empty_after_patch_html ... ok [INFO] [stdout] test datastar::sse_response::tests::each_event_terminated_by_double_newline ... ok [INFO] [stdout] test datastar::sse_response::tests::multiple_patches_preserve_order ... ok [INFO] [stdout] test datastar::sse_response::tests::patch_renders_template ... ok [INFO] [stdout] test datastar::sse_response::tests::empty_response_has_empty_body ... ok [INFO] [stdout] test datastar::sse_response::tests::multiline_html_collapsed_to_single_line ... ok [INFO] [stdout] test db::builder::tests::update_generates_sql ... ok [INFO] [stdout] test db::builder::tests::value_from_bool ... ok [INFO] [stdout] test datastar::signals_builder::tests::set_accepts_f64 ... ok [INFO] [stdout] test db::builder::tests::value_from_f64 ... ok [INFO] [stdout] test db::builder::tests::value_from_i64 ... ok [INFO] [stdout] test db::builder::tests::value_from_i32 ... ok [INFO] [stdout] test datastar::sse_response::tests::signals_sends_json ... ok [INFO] [stdout] test datastar::signals_builder::tests::set_accepts_i64 ... ok [INFO] [stdout] test db::builder::tests::insert_generates_sql ... ok [INFO] [stdout] test db::builder::tests::select_generates_sql ... ok [INFO] [stdout] test db::macros::tests::query_as_macro_accepts_literal ... ok [INFO] [stdout] test db::macros::tests::query_macro_accepts_literal ... ok [INFO] [stdout] test db::macros::tests::query_scalar_macro_accepts_literal ... ok [INFO] [stdout] test db::builder::tests::value_from_str ... ok [INFO] [stdout] test error::tests::bad_request_shows_user_message ... ok [INFO] [stdout] test error::tests::forbidden_returns_403 ... ok [INFO] [stdout] test error::tests::internal_error_does_not_leak_details ... ok [INFO] [stdout] test error::tests::io_error_does_not_leak_details ... ok [INFO] [stdout] test db::tests::create_pool_fails_without_database_url ... ok [INFO] [stdout] test flash::tests::flash_cookie_roundtrip ... ok [INFO] [stdout] test error::tests::validation_error_returns_422_with_json ... ok [INFO] [stdout] test flash::tests::flash_error_has_correct_level ... ok [INFO] [stdout] test error::tests::database_error_does_not_leak_sql ... ok [INFO] [stdout] test flash::tests::flash_info_has_correct_level ... ok [INFO] [stdout] test flash::tests::flash_parse_handles_colons_in_message ... ok [INFO] [stdout] test flash::tests::flash_parse_rejects_invalid_format ... ok [INFO] [stdout] test db::tests::migrate_fails_with_missing_directory ... ok [INFO] [stdout] test flash::tests::redirect_returns_303_with_location ... ok [INFO] [stdout] test flash::tests::redirect_without_flash_has_no_cookie ... ok [INFO] [stdout] test flash::tests::redirect_with_flash_sets_cookie ... ok [INFO] [stdout] test form::tests::form_rejects_missing_csrf ... ok [INFO] [stdout] test form::tests::form_rejects_invalid_body ... ok [INFO] [stdout] test form::tests::form_rejects_mismatched_csrf ... ok [INFO] [stdout] test health::tests::health_without_db_returns_not_configured ... ok [INFO] [stdout] test form::tests::form_extracts_urlencoded_body ... ok [INFO] [stdout] test error::tests::rate_limited_includes_retry_after_header ... ok [INFO] [stdout] test error::tests::rate_limited_without_retry_after ... ok [INFO] [stdout] test error::tests::unauthorized_returns_401 ... ok [INFO] [stdout] test error::tests::validation_error_does_not_leak_field_values ... ok [INFO] [stdout] test health::tests::ping_returns_pong ... ok [INFO] [stdout] test mailer::tests::debug_output_redacts_smtp_password ... ok [INFO] [stdout] test logging::tests::init_tracing_returns_ok_on_first_call ... ok [INFO] [stdout] test mailer::tests::askama_template_renders_for_email ... ok [INFO] [stdout] test mailer::tests::from_env_fails_when_any_required_var_missing ... ok [INFO] [stdout] test mailer::tests::from_env_fails_with_invalid_port ... ok [INFO] [stdout] test mailer::tests::from_env_succeeds_with_all_vars_set ... ok [INFO] [stdout] test middleware::csrf::tests::constant_time_eq_matches_equal_strings ... ok [INFO] [stdout] test middleware::csrf::tests::constant_time_eq_rejects_different_lengths ... ok [INFO] [stdout] test middleware::csrf::tests::constant_time_eq_rejects_different_strings ... ok [INFO] [stdout] test middleware::csrf::tests::extract_cookie_returns_none_when_missing ... ok [INFO] [stdout] test middleware::csrf::tests::extract_cookie_finds_named_value ... ok [INFO] [stdout] test mailer::tests::build_mailbox_rejects_invalid_email ... ok [INFO] [stdout] test middleware::csrf::tests::get_response_includes_csrf_cookie_and_header ... ok [INFO] [stdout] test mailer::tests::build_message_produces_valid_html_email ... ok [INFO] [stdout] test mailer::tests::from_env_fails_when_smtp_host_missing ... ok [INFO] [stdout] test mailer::tests::invalid_recipient_address_is_rejected ... ok [INFO] [stdout] test error::tests::not_found_returns_404 ... ok [INFO] [stdout] test form::tests::form_accepts_csrf_from_hidden_field ... ok [INFO] [stdout] test flash::tests::flash_success_has_correct_level ... ok [INFO] [stdout] test middleware::csrf::tests::origin_does_not_match_different_host ... ok [INFO] [stdout] test middleware::csrf::tests::get_response_includes_secure_flag_in_production ... ok [INFO] [stdout] test mailer::tests::build_message_produces_valid_text_email ... ok [INFO] [stdout] test middleware::csrf::tests::origin_matches_host_with_scheme ... ok [INFO] [stdout] 2026-04-24T13:51:07.596004Z  WARN blixt::middleware::csrf: CSRF token validation failed [INFO] [stdout] at src/middleware/csrf.rs:110 [INFO] [stdout] [INFO] [stdout] test middleware::rate_limit::tests::allows_requests_within_limit ... ok [INFO] [stdout] test middleware::rate_limit::tests::default_limit_is_100_per_60s ... ok [INFO] [stdout] 2026-04-24T13:51:07.605617Z  INFO blixt::middleware::rate_limit: rate limiter eviction pass, evicted: 5, remaining: 0 [INFO] [stdout] at src/middleware/rate_limit.rs:106 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.605902Z  WARN blixt::middleware::csrf: CSRF token validation failed [INFO] [stdout] at src/middleware/csrf.rs:110 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.606190Z  WARN blixt::middleware::csrf: CSRF origin mismatch, origin: https://evil.com, host: myapp.com [INFO] [stdout] at src/middleware/csrf.rs:85 [INFO] [stdout] [INFO] [stdout] test middleware::rate_limit::tests::different_ips_have_independent_limits ... ok [INFO] [stdout] test middleware::csrf::tests::post_with_matching_origin_passes ... ok [INFO] [stdout] test middleware::csrf::tests::post_with_matching_token_passes ... ok [INFO] [stdout] test middleware::csrf::tests::post_with_mismatched_token_returns_403 ... ok [INFO] [stdout] test middleware::rate_limit::tests::does_not_evict_active_entries ... ok [INFO] [stdout] test middleware::rate_limit::tests::empty_trusted_proxies_always_uses_connect_info ... ok [INFO] [stdout] test middleware::rate_limit::tests::extract_client_ip_defaults_to_localhost ... ok [INFO] [stdout] test middleware::rate_limit::tests::evicts_stale_entries_when_over_capacity ... ok [INFO] [stdout] test middleware::rate_limit::tests::extract_client_ip_uses_connect_info_when_not_trusted ... ok [INFO] [stdout] test middleware::csrf::tests::post_without_csrf_token_returns_403 ... ok [INFO] [stdout] test middleware::csrf::tests::post_with_mismatched_origin_returns_403 ... ok [INFO] [stdout] test middleware::rate_limit::tests::rejects_request_exceeding_limit ... ok [INFO] [stdout] test middleware::rate_limit::tests::strict_limit_is_10_per_60s ... ok [INFO] [stdout] test middleware::rate_limit::tests::tokens_replenish_after_time_elapses ... ok [INFO] [stdout] test middleware::rate_limit::tests::untrusted_connection_ignores_forwarded_for ... ok [INFO] [stdout] test paginate::tests::defaults_page_to_one ... ok [INFO] [stdout] test paginate::tests::extract_query_param_finds_value ... ok [INFO] [stdout] test paginate::tests::extract_query_param_handles_empty_string ... ok [INFO] [stdout] test paginate::tests::offset_defaults_to_zero ... ok [INFO] [stdout] test paginate::tests::page_minimum_is_one ... ok [INFO] [stdout] test paginate::tests::paginated_metadata_middle_page ... ok [INFO] [stdout] test middleware::security_headers::tests::sets_all_security_headers ... ok [INFO] [stdout] test paginate::tests::paginated_metadata_single_page ... ok [INFO] [stdout] test paginate::tests::per_page_clamps_to_maximum_100 ... ok [INFO] [stdout] test paginate::tests::defaults_per_page_to_25 ... ok [INFO] [stdout] test redact::tests::clone_produces_equal_copy ... ok [INFO] [stdout] test paginate::tests::per_page_clamps_to_minimum_one ... ok [INFO] [stdout] test redact::tests::debug_never_leaks_inner_value ... ok [INFO] [stdout] test redact::tests::debug_prints_redacted ... ok [INFO] [stdout] test redact::tests::deserialize_numeric_value ... ok [INFO] [stdout] test middleware::rate_limit::tests::trusted_proxy_uses_forwarded_for ... ok [INFO] [stdout] test redact::tests::display_never_leaks_inner_value ... ok [INFO] [stdout] test redact::tests::display_prints_redacted ... ok [INFO] [stdout] test redact::tests::expose_returns_inner_value ... ok [INFO] [stdout] test redact::tests::from_trait_wraps_value ... ok [INFO] [stdout] test redact::tests::serialize_emits_redacted_string ... ok [INFO] [stdout] test redact::tests::into_inner_unwraps_value ... ok [INFO] [stdout] test middleware::request_id::tests::adds_request_id_header ... ok [INFO] [stdout] test redact::tests::serialize_never_leaks_inner_value ... ok [INFO] [stdout] test render_tests::render_macro_escapes_html ... ok [INFO] [stdout] test middleware::request_id::tests::each_request_gets_unique_id ... ok [INFO] [stdout] test paginate::tests::extract_query_param_returns_none_for_missing ... ok [INFO] [stdout] test render_tests::render_macro_produces_html_response ... ok [INFO] [stdout] test storage::tests::from_env_s3_without_feature_errors ... ok [INFO] [stdout] test storage::tests::from_env_unknown_backend_errors ... ok [INFO] [stdout] test paginate::tests::extract_query_param_returns_none_for_non_numeric ... ok [INFO] [stdout] test paginate::tests::offset_calculation ... ok [INFO] [stdout] test redact::tests::deserialize_passes_through_to_inner ... ok [INFO] [stdout] 2026-04-24T13:51:07.620456Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmp8n4Eot [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.620583Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmpFaDsC2 [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.620700Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmpPYlssm [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.620456Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmpvVVXo8 [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.621679Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmpEOfLGG [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.622244Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmp95R5Vw [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] 2026-04-24T13:51:07.622499Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmpJa5pOo [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] test test_helpers::client_tests::assert_status_passes_on_match ... ok [INFO] [stdout] test test_helpers::client_tests::get_json_response ... ok [INFO] [stdout] test test_helpers::client_tests::custom_header_sent ... ok [INFO] [stdout] test storage::tests::delete_nonexistent_is_ok ... ok [INFO] [stdout] test storage::tests::get_missing_file_returns_not_found ... ok [INFO] [stdout] test upload::tests::uploaded_file_into_bytes ... ok [INFO] [stdout] test test_helpers::client_tests::post_with_json_body ... ok [INFO] [stdout] test storage::tests::delete_removes_file ... ok [INFO] [stdout] test upload::tests::uploaded_file_accessors ... ok [INFO] [stdout] test storage::tests::exists_reflects_presence ... ok [INFO] [stdout] test upload::tests::validator_allowed_types_passes ... ok [INFO] [stdout] test upload::tests::validator_chain_stops_at_first_error ... ok [INFO] [stdout] test upload::tests::validator_allowed_types_rejects ... ok [INFO] [stdout] test upload::tests::validator_max_size_rejects ... ok [INFO] [stdout] test upload::tests::validator_max_size_passes ... ok [INFO] [stdout] test upload::tests::validator_no_content_type_treated_as_octet_stream ... ok [INFO] [stdout] test validate::tests::chained_string_rules ... ok [INFO] [stdout] test validate::tests::check_returns_ok_when_no_errors ... ok [INFO] [stdout] test validate::tests::error_messages_reference_field_names ... ok [INFO] [stdout] test validate::tests::max_length_at_boundary ... ok [INFO] [stdout] test validate::tests::max_length_over_boundary ... ok [INFO] [stdout] test validate::tests::min_length_at_boundary ... ok [INFO] [stdout] test storage::tests::put_and_get_roundtrip ... ok [INFO] [stdout] test validate::tests::not_empty_rejects_whitespace_only ... ok [INFO] [stdout] test validate::tests::multiple_fields_collect_errors ... ok [INFO] [stdout] test validate::tests::not_empty_accepts_valid_string ... ok [INFO] [stdout] test validate::tests::not_empty_rejects_empty_string ... ok [INFO] [stdout] test validate::tests::min_length_under_boundary ... ok [INFO] [stdout] test validate::tests::positive_accepts_one ... ok [INFO] [stdout] test validate::tests::positive_rejects_negative ... ok [INFO] [stdout] test validate::tests::pattern_invalid_regex_adds_error ... ok [INFO] [stdout] test storage::tests::overwrite_replaces_content ... ok [INFO] [stdout] test test_helpers::client_tests::not_found_for_unknown_route ... ok [INFO] [stdout] test storage::tests::from_env_defaults_to_local ... ok [INFO] [stdout] 2026-04-24T13:51:07.632618Z  INFO blixt::storage: Local file storage initialized, root: /tmp/.tmpG4SwqL [INFO] [stdout] at src/storage.rs:60 [INFO] [stdout] [INFO] [stdout] test validate::tests::pattern_invalid_email ... ok [INFO] [stdout] test validate::tests::positive_rejects_zero ... ok [INFO] [stdout] test validate::tests::range_above_upper_boundary ... ok [INFO] [stdout] test validate::tests::range_at_upper_boundary ... ok [INFO] [stdout] test validate::tests::range_at_lower_boundary ... ok [INFO] [stdout] test validate::tests::range_below_lower_boundary ... ok [INFO] [stdout] test validate::tests::slug_pattern_invalid ... ok [INFO] [stdout] test validate::tests::slug_pattern_valid ... ok [INFO] [stdout] test validate::tests::pattern_valid_email ... ok [INFO] [stdout] test storage::tests::nested_paths_work ... ok [INFO] [stdout] test test_helpers::client_tests::get_returns_status_and_body ... ok [INFO] [stdout] test auth::extractor::tests::expired_token_returns_401 ... ok [INFO] [stdout] test auth::jwt::tests::expired_token_is_rejected ... ok [INFO] [stdout] test auth::password::tests::hash_uses_argon2id ... ok [INFO] [stdout] test auth::password::tests::hash_then_verify_succeeds ... ok [INFO] [stdout] test auth::password::tests::wrong_password_fails ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 262 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.95s [INFO] [stdout] [INFO] [stderr] Doc-tests blixt [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/datastar/sse_response.rs - datastar::sse_response::SseResponse (line 14) ... ignored [INFO] [stdout] test src/db/macros.rs - db::macros::query (line 8) ... ignored [INFO] [stdout] test src/db/macros.rs - db::macros::query_as (line 36) ... ignored [INFO] [stdout] test src/db/macros.rs - db::macros::query_scalar (line 57) ... ignored [INFO] [stdout] test src/lib.rs - paginate (line 66) ... ignored [INFO] [stdout] test src/lib.rs - render (line 80) ... ignored [INFO] [stdout] test src/lib.rs - validate (line 78) ... ignored [INFO] [stdout] test src/middleware/rate_limit.rs - middleware::rate_limit::rate_limit_middleware (line 137) ... ignored [INFO] [stdout] test src/lib.rs - (line 9) - compile ... ok [INFO] [stdout] test src/middleware/csrf.rs - middleware::csrf::csrf_protection (line 23) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/db/macros.rs - db::macros::query (line 19) - compile fail ... ok [INFO] [stdout] test src/db/macros.rs - db::macros::query_scalar (line 63) - compile fail ... ok [INFO] [stdout] test src/db/macros.rs - db::macros::query_as (line 42) - compile fail ... ok [INFO] [stdout] test src/lib.rs - validate (line 90) - compile fail ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.33s; merged doctests compilation took 1.97s [INFO] running `Command { std: "docker" "inspect" "6d1b70a322c93d7125594128d46c43805106d026667e185e565cbe4e75c67837", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d1b70a322c93d7125594128d46c43805106d026667e185e565cbe4e75c67837", kill_on_drop: false }` [INFO] [stdout] 6d1b70a322c93d7125594128d46c43805106d026667e185e565cbe4e75c67837