[INFO] cloning repository https://github.com/mrauhala/meteocore [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mrauhala/meteocore" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrauhala%2Fmeteocore", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrauhala%2Fmeteocore'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e2d104639bfaea7a290a877d4762d6cde31dfab7 [INFO] testing mrauhala/meteocore against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrauhala%2Fmeteocore" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mrauhala/meteocore [INFO] finished tweaking git repo https://github.com/mrauhala/meteocore [INFO] tweaked toml for git repo https://github.com/mrauhala/meteocore written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mrauhala/meteocore on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mrauhala/meteocore 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 847da31d148b8dcdc040e2ec03919f48a285ddb8a9ed099f03460a28a7352d86 [INFO] running `Command { std: "docker" "start" "-a" "847da31d148b8dcdc040e2ec03919f48a285ddb8a9ed099f03460a28a7352d86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "847da31d148b8dcdc040e2ec03919f48a285ddb8a9ed099f03460a28a7352d86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "847da31d148b8dcdc040e2ec03919f48a285ddb8a9ed099f03460a28a7352d86", kill_on_drop: false }` [INFO] [stdout] 847da31d148b8dcdc040e2ec03919f48a285ddb8a9ed099f03460a28a7352d86 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 115e8e5ac84949abc07bc4f841a728d6d80352d9071a145313c95af307fc2cd0 [INFO] running `Command { std: "docker" "start" "-a" "115e8e5ac84949abc07bc4f841a728d6d80352d9071a145313c95af307fc2cd0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling mio v1.2.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling unicode-segmentation v1.13.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling zerocopy-derive v0.8.47 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling rand_core v0.10.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling tinyvec v1.11.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling arc-swap v1.9.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling hybrid-array v0.4.10 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling quick_cache v0.6.23 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling ds-core v0.1.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling cmov v0.5.3 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling ctutils v0.4.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling libwebp-sys v0.9.6 [INFO] [stderr] Compiling compression-core v0.4.32 [INFO] [stderr] Compiling const-oid v0.10.2 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling compression-codecs v0.4.38 [INFO] [stderr] Compiling digest v0.11.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling monostate-impl v1.0.2 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling link-cplusplus v1.0.12 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling monostate v1.0.2 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling async-compression v0.4.42 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling snafu-derive v0.8.9 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling toml_edit v0.25.10+spec-1.1.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling png v0.17.16 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling zarrs_metadata v0.7.5 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling libz-sys v1.1.29 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling snappy_src v0.2.5+snappy.1.2.2 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling unicode-properties v0.1.4 [INFO] [stderr] Compiling bindgen v0.70.1 [INFO] [stderr] Compiling jpeg-encoder v0.6.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling webp v0.3.1 [INFO] [stderr] Compiling rand v0.10.1 [INFO] [stderr] Compiling ds-render v0.1.0 (/opt/rustwide/workdir/crates/render) [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling zarrs_plugin v0.4.1 [INFO] [stderr] Compiling snafu v0.8.9 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling sha2 v0.11.0 [INFO] [stderr] Compiling hmac v0.13.0 [INFO] [stderr] Compiling md-5 v0.11.0 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling inventory v0.3.24 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling unsafe_cell_slice v0.2.2 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling fallible-iterator v0.2.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling zarrs_storage v0.4.3 [INFO] [stderr] Compiling postgres-protocol v0.6.11 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling object_store v0.11.2 [INFO] [stderr] Compiling blosc-src v0.3.8 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling phf_shared v0.13.1 [INFO] [stderr] Compiling prost-derive v0.14.3 [INFO] [stderr] Compiling grib-build v0.4.4 [INFO] [stderr] Compiling postgres-types v0.2.13 [INFO] [stderr] Compiling ndarray v0.17.2 [INFO] [stderr] Compiling crc32c v0.6.8 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling lru v0.16.4 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling heapless v0.8.0 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling num_enum_derive v0.7.6 [INFO] [stderr] Compiling grib v0.15.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling zarrs v0.23.13 [INFO] [stderr] Compiling prost v0.14.3 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling phf v0.13.1 [INFO] [stderr] Compiling zarrs_chunk_grid v0.5.1 [INFO] [stderr] Compiling zarrs_data_type v0.9.0 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Compiling positioned-io v0.3.5 [INFO] [stderr] Compiling hash32 v0.3.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling pointy v0.8.0 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling whoami v2.1.1 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling grib-template-helpers v0.1.2 [INFO] [stderr] Compiling pathdiff v0.2.3 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Compiling zune-core v0.5.1 [INFO] [stderr] Compiling tagptr v0.2.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling twox-hash v2.1.2 [INFO] [stderr] Compiling moka v0.12.15 [INFO] [stderr] Compiling lz4_flex v0.11.6 [INFO] [stderr] Compiling zune-jpeg v0.5.14 [INFO] [stderr] Compiling grib-template-derive v0.1.3 [INFO] [stderr] Compiling zarrs_filesystem v0.3.9 [INFO] [stderr] Compiling tokio-postgres v0.7.17 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling mvt v0.13.0 [INFO] [stderr] Compiling fax v0.2.6 [INFO] [stderr] Compiling zarrs_metadata_ext v0.4.4 [INFO] [stderr] Compiling zarrs_codec v0.2.1 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling num_enum v0.7.6 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling rust-embed-utils v8.11.0 [INFO] [stderr] Compiling libaec-sys v0.1.3 [INFO] [stderr] Compiling zarrs_chunk_key_encoding v0.2.0 [INFO] [stderr] Compiling rayon_iter_concurrent_limit v0.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling quick-error v2.0.1 [INFO] [stderr] Compiling weezl v0.1.12 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Compiling tiff v0.11.3 [INFO] [stderr] Compiling inotify v0.11.2 [INFO] [stderr] Compiling rust-embed-impl v8.11.0 [INFO] [stderr] Compiling rstar v0.12.2 [INFO] [stderr] Compiling deadpool-postgres v0.14.1 [INFO] [stderr] Compiling ds-mvt v0.1.0 (/opt/rustwide/workdir/crates/ds-mvt) [INFO] [stderr] Compiling hdf5-reader v0.6.1 [INFO] [stderr] Compiling postgis v0.9.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling ds-3dtiles v0.1.0 (/opt/rustwide/workdir/crates/ds-3dtiles) [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling api-3dtiles v0.1.0 (/opt/rustwide/workdir/crates/api-3dtiles) [INFO] [stderr] Compiling ds-storage v0.1.0 (/opt/rustwide/workdir/crates/storage) [INFO] [stderr] Compiling engine-odim v0.1.0 (/opt/rustwide/workdir/crates/engine-odim) [INFO] [stderr] Compiling engine-grib v0.1.0 (/opt/rustwide/workdir/crates/engine-grib) [INFO] [stderr] Compiling engine-geotiff v0.1.0 (/opt/rustwide/workdir/crates/engine-geotiff) [INFO] [stderr] Compiling engine-postgis v0.1.0 (/opt/rustwide/workdir/crates/engine-postgis) [INFO] [stderr] Compiling api-tiles v0.1.0 (/opt/rustwide/workdir/crates/api-tiles) [INFO] [stderr] Compiling engine-geojson v0.1.0 (/opt/rustwide/workdir/crates/engine-geojson) [INFO] [stderr] Compiling rust-embed v8.11.0 [INFO] [stderr] Compiling engine-csv v0.1.0 (/opt/rustwide/workdir/crates/engine-csv) [INFO] [stderr] Compiling engine-querydata v0.1.0 (/opt/rustwide/workdir/crates/engine-querydata) [INFO] [stderr] Compiling api-wms v0.1.0 (/opt/rustwide/workdir/crates/api-wms) [INFO] [stderr] Compiling api-edr v0.1.0 (/opt/rustwide/workdir/crates/api-edr) [INFO] [stderr] Compiling api-maps v0.1.0 (/opt/rustwide/workdir/crates/api-maps) [INFO] [stderr] Compiling api-features v0.1.0 (/opt/rustwide/workdir/crates/api-features) [INFO] [stderr] Compiling engine-zarr v0.1.0 (/opt/rustwide/workdir/crates/engine-zarr) [INFO] [stderr] Compiling server v0.6.0 (/opt/rustwide/workdir/crates/server) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7m 01s [INFO] running `Command { std: "docker" "inspect" "115e8e5ac84949abc07bc4f841a728d6d80352d9071a145313c95af307fc2cd0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "115e8e5ac84949abc07bc4f841a728d6d80352d9071a145313c95af307fc2cd0", kill_on_drop: false }` [INFO] [stdout] 115e8e5ac84949abc07bc4f841a728d6d80352d9071a145313c95af307fc2cd0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 89ef6151bc66ddb18726768062774b6d1b8d3a2ba6358f06bb9a62003ea0fc4d [INFO] running `Command { std: "docker" "start" "-a" "89ef6151bc66ddb18726768062774b6d1b8d3a2ba6358f06bb9a62003ea0fc4d", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling borrow-or-share v0.2.4 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling libaec-sys v0.1.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling quick_cache v0.6.23 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling zarrs_metadata v0.7.5 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling fluent-uri v0.3.2 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling zarrs_plugin v0.4.1 [INFO] [stderr] Compiling zarrs_data_type v0.9.0 [INFO] [stderr] Compiling object_store v0.11.2 [INFO] [stderr] Compiling zarrs_chunk_grid v0.5.1 [INFO] [stderr] Compiling ds-core v0.1.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling outref v0.5.2 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling vsimd v0.8.0 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling zarrs_codec v0.2.1 [INFO] [stderr] Compiling zarrs_chunk_key_encoding v0.2.0 [INFO] [stderr] Compiling uuid-simd v0.8.0 [INFO] [stderr] Compiling referencing v0.28.3 [INFO] [stderr] Compiling fancy-regex v0.14.0 [INFO] [stderr] Compiling zarrs_metadata_ext v0.4.4 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling fraction v0.15.3 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling num-cmp v0.1.0 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling ds-render v0.1.0 (/opt/rustwide/workdir/crates/render) [INFO] [stderr] Compiling jsonschema v0.28.3 [INFO] [stderr] Compiling grib v0.15.0 [INFO] [stderr] Compiling ds-3dtiles v0.1.0 (/opt/rustwide/workdir/crates/ds-3dtiles) [INFO] [stderr] Compiling api-edr v0.1.0 (/opt/rustwide/workdir/crates/api-edr) [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling zarrs v0.23.13 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling postgres-types v0.2.13 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling ds-mvt v0.1.0 (/opt/rustwide/workdir/crates/ds-mvt) [INFO] [stderr] Compiling tokio-postgres v0.7.17 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling postgis v0.9.0 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling api-tiles v0.1.0 (/opt/rustwide/workdir/crates/api-tiles) [INFO] [stderr] Compiling api-3dtiles v0.1.0 (/opt/rustwide/workdir/crates/api-3dtiles) [INFO] [stderr] Compiling api-wms v0.1.0 (/opt/rustwide/workdir/crates/api-wms) [INFO] [stderr] Compiling api-maps v0.1.0 (/opt/rustwide/workdir/crates/api-maps) [INFO] [stderr] Compiling deadpool-postgres v0.14.1 [INFO] [stderr] Compiling api-features v0.1.0 (/opt/rustwide/workdir/crates/api-features) [INFO] [stderr] Compiling inotify v0.11.2 [INFO] [stderr] Compiling rust-embed-utils v8.11.0 [INFO] [stderr] Compiling engine-geojson v0.1.0 (/opt/rustwide/workdir/crates/engine-geojson) [INFO] [stderr] Compiling engine-csv v0.1.0 (/opt/rustwide/workdir/crates/engine-csv) [INFO] [stderr] Compiling engine-querydata v0.1.0 (/opt/rustwide/workdir/crates/engine-querydata) [INFO] [stderr] Compiling engine-postgis v0.1.0 (/opt/rustwide/workdir/crates/engine-postgis) [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling rust-embed v8.11.0 [INFO] [stderr] Compiling ds-storage v0.1.0 (/opt/rustwide/workdir/crates/storage) [INFO] [stderr] Compiling engine-odim v0.1.0 (/opt/rustwide/workdir/crates/engine-odim) [INFO] [stderr] Compiling engine-zarr v0.1.0 (/opt/rustwide/workdir/crates/engine-zarr) [INFO] [stderr] Compiling engine-grib v0.1.0 (/opt/rustwide/workdir/crates/engine-grib) [INFO] [stderr] Compiling engine-geotiff v0.1.0 (/opt/rustwide/workdir/crates/engine-geotiff) [INFO] [stderr] Compiling server v0.6.0 (/opt/rustwide/workdir/crates/server) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4m 17s [INFO] running `Command { std: "docker" "inspect" "89ef6151bc66ddb18726768062774b6d1b8d3a2ba6358f06bb9a62003ea0fc4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89ef6151bc66ddb18726768062774b6d1b8d3a2ba6358f06bb9a62003ea0fc4d", kill_on_drop: false }` [INFO] [stdout] 89ef6151bc66ddb18726768062774b6d1b8d3a2ba6358f06bb9a62003ea0fc4d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a137ccb8cfba543ebae4172bde1517ab81e9e0b4bd06525a02d7d56592c613b0 [INFO] running `Command { std: "docker" "start" "-a" "a137ccb8cfba543ebae4172bde1517ab81e9e0b4bd06525a02d7d56592c613b0", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.00s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_3dtiles-28e9e772a5444e3c) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test handlers::tests::pct_encode_passes_unreserved_and_escapes_specials ... ok [INFO] [stdout] test cache::tests::capacity_zero_disables_storage_but_still_serves ... ok [INFO] [stdout] test cache::tests::caches_and_serves_without_recompute ... ok [INFO] [stdout] test cache::tests::error_is_not_cached_and_gate_is_released ... ok [INFO] [stdout] test cache::tests::version_change_is_a_new_entry ... ok [INFO] [stdout] test handlers::tests::only_the_root_voxel_tile_is_accepted ... ok [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-da283c029efca668) [INFO] [stdout] test cache::tests::concurrent_same_key_coalesces_to_one_compute ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 30 tests [INFO] [stdout] test datetime_offset_normalised_to_utc_z_in_content_uri ... ok [INFO] [stdout] test content_pnts_is_valid_and_etagged ... ok [INFO] [stdout] test exact_time_entry_survives_new_volume_arrival ... ok [INFO] [stdout] test glb_rejects_points_representation ... ok [INFO] [stdout] test etag_round_trips_to_304 ... ok [INFO] [stdout] test bad_datetime_is_400 ... ok [INFO] [stdout] test if_none_match_wildcard_is_304 ... ok [INFO] [stdout] test isosurface_on_unsupported_collection_is_400 ... ok [INFO] [stdout] test isosurface_tileset_has_transform_and_glb_content ... ok [INFO] [stdout] test collections_list_and_doc ... ok [INFO] [stdout] test non_finite_threshold_is_400 ... ok [INFO] [stdout] test bad_threshold_lists_are_400 ... ok [INFO] [stdout] test non_finite_min_value_is_400 ... ok [INFO] [stdout] test pinned_datetime_gets_immutable_cache_control ... ok [INFO] [stdout] test tileset_carries_min_value_into_content_uri ... ok [INFO] [stdout] test non_manifest_datetime_is_not_immutable ... ok [INFO] [stdout] test repeated_pnts_request_is_served_from_cache_without_recompute ... ok [INFO] [stdout] test tileset_json_has_region_and_content_uri ... ok [INFO] [stdout] test tileset_carries_resolution_tier_into_glb_content_uri ... ok [INFO] [stdout] test unknown_collection_is_404 ... ok [INFO] [stdout] test unknown_representation_is_400 ... ok [INFO] [stdout] test unknown_quantity_is_400 ... ok [INFO] [stdout] test viewer_page_is_served ... ok [INFO] [stdout] test voxels_not_advertised_without_coverage ... ok [INFO] [stdout] test echotop_tileset_and_content_is_valid_glb ... ok [INFO] [stdout] test voxel_tileset_subtree_and_content_are_well_formed ... ok [INFO] [stdout] test glb_revalidation_304_does_not_recompute ... ok [INFO] [stdout] test content_glb_is_valid_gltf_and_etagged ... ok [INFO] [stdout] test isosurface_threshold_at_or_below_floor_is_400 ... ok [INFO] [stdout] test nested_isosurface_thresholds_yield_blended_primitives has been running for over 60 seconds [INFO] [stdout] test nested_isosurface_thresholds_yield_blended_primitives ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 70.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_edr-577c0a099250f4cb) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test params::tests::multipoint_rejects_wrong_arity ... ok [INFO] [stdout] test params::tests::parse_z_interval_orders_endpoints ... ok [INFO] [stdout] test params::tests::parse_z_rejects_bad_interval_and_values ... ok [INFO] [stdout] test params::tests::multipoint_case_insensitive ... ok [INFO] [stdout] test params::tests::multipoint_nested_form ... ok [INFO] [stdout] test params::tests::multipoint_rejects_non_numeric ... ok [INFO] [stdout] test params::tests::rejects_polygon ... ok [INFO] [stdout] test params::tests::resolve_z_levels_expands_interval_against_extent ... ok [INFO] [stdout] test params::tests::resolve_z_levels_interval_outside_extent_is_error ... ok [INFO] [stdout] test params::tests::point_case_insensitive ... ok [INFO] [stdout] test params::tests::resolve_z_levels_passes_through_list ... ok [INFO] [stdout] test plot_convert::tests::collection_overlays_one_series_per_coverage ... ok [INFO] [stdout] test plot_convert::tests::point_series_is_time_axis ... ok [INFO] [stdout] test params::tests::single_point_passthrough ... ok [INFO] [stdout] test plot_convert::tests::grid_domain_is_rejected ... ok [INFO] [stdout] test plot_convert::tests::heterogeneous_collection_is_rejected ... ok [INFO] [stdout] test plot_convert::tests::pressure_profile_inverts_y ... ok [INFO] [stdout] test plot_convert::tests::section_colormap_falls_back_to_data_range ... ok [INFO] [stdout] test plot_convert::tests::section_colormap_sorts_descending_color_stops ... ok [INFO] [stdout] test plot_convert::tests::section_heatmap_rejects_non_section ... ok [INFO] [stdout] test plot_convert::tests::section_to_heatmap_builds_distance_axis_and_shape ... ok [INFO] [stdout] test plot_convert::tests::vertical_profile_maps_value_x_level_y ... ok [INFO] [stdout] test plot_convert::tests::section_colormap_uses_builtin_when_configured ... ok [INFO] [stdout] test params::tests::parse_z_none_and_blank ... ok [INFO] [stdout] test params::tests::multipoint_flat_form ... ok [INFO] [stderr] Running tests/covjson_validation.rs (/opt/rustwide/target/debug/deps/covjson_validation-505be2bcf84d0265) [INFO] [stdout] test params::tests::parse_z_single_and_list ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test coverage_time_axis_matches_values_count ... ok [INFO] [stdout] test coverage_ndarray_shape_matches_values ... ok [INFO] [stdout] test coverage_collection_empty_validates ... ok [INFO] [stdout] test coverage_with_multiple_params_validates ... ok [INFO] [stdout] test coverage_required_fields_present ... ok [INFO] [stdout] test coverage_with_all_nulls_validates ... ok [INFO] [stdout] test coverage_with_blank_units_validates ... ok [INFO] [stdout] test area_query_single_result_validates ... ok [INFO] [stdout] test coverage_collection_single_station_validates ... ok [INFO] [stdout] test coverage_collection_validates ... ok [INFO] [stdout] test grid_domain_structure ... ok [INFO] [stdout] test grid_ndarray_shape_matches_values ... ok [INFO] [stdout] test coverage_with_single_param_validates ... ok [INFO] [stdout] test coverage_with_single_timestep_validates ... ok [INFO] [stdout] test coverage_with_non_finite_values_encodes_null_not_zero ... ok [INFO] [stdout] test grid_coverage_with_nulls_validates ... ok [INFO] [stdout] test grid_coverage_with_time_validates ... ok [INFO] [stdout] test grid_with_z_validates ... ok [INFO] [stdout] test coverage_with_null_values_validates ... ok [INFO] [stdout] test grid_coverage_without_time_validates ... ok [INFO] [stdout] test section_coverage_validates_against_schema ... ok [INFO] [stdout] test point_series_with_z_validates ... ok [INFO] [stdout] test vertical_profile_collection_validates ... ok [INFO] [stdout] test vertical_profile_validates ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.77s [INFO] [stdout] [INFO] [stderr] Running tests/instances_tests.rs (/opt/rustwide/target/debug/deps/instances_tests-1b84444054bbd460) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test instances_list_has_both_runs ... ok [INFO] [stderr] Running tests/ogc_edr_api_tests.rs (/opt/rustwide/target/debug/deps/ogc_edr_api_tests-c3177633b09ddcdf) [INFO] [stdout] test instance_metadata_scopes_extent_and_links ... ok [INFO] [stdout] test collection_advertises_instances_data_query ... ok [INFO] [stdout] test unknown_instance_is_404_bad_id_is_400 ... ok [INFO] [stdout] test instance_position_query_hits_the_pinned_run ... ok [INFO] [stdout] test instance_query_on_non_forecast_collection_is_404 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 83 tests [INFO] [stdout] test collections::detail_has_required_data_queries ... ok [INFO] [stdout] test collections::detail_data_queries_has_locations ... ok [INFO] [stdout] test collections::detail_extent_has_temporal ... ok [INFO] [stdout] test collections::detail_has_required_extent ... ok [INFO] [stdout] test collections::detail_extent_has_spatial ... ok [INFO] [stdout] test collections::detail_has_required_crs ... ok [INFO] [stdout] test collections::collection_omits_nonstandard_apis_field ... ok [INFO] [stdout] test collections::detail_has_required_id ... ok [INFO] [stdout] test collections::detail_has_required_links ... ok [INFO] [stdout] test collections::detail_parameter_names_match_engine ... ok [INFO] [stdout] test collections::detail_has_required_output_formats ... ok [INFO] [stdout] test collections::detail_has_required_parameter_names ... ok [INFO] [stdout] test collections::detail_parameters_have_type_and_observed_property ... ok [INFO] [stdout] test collections::listing_has_required_links ... ok [INFO] [stdout] test collections::listing_returns_200 ... ok [INFO] [stdout] test collections::listing_each_collection_has_id ... ok [INFO] [stdout] test conformance::conforms_to_contains_strings ... ok [INFO] [stdout] test conformance::declares_covjson_conformance ... ok [INFO] [stdout] test conformance::has_required_conforms_to_field ... ok [INFO] [stdout] test conformance::declares_edr_core_conformance ... ok [INFO] [stdout] test conformance::returns_200 ... ok [INFO] [stdout] test error_responses::error_code_is_string ... ok [INFO] [stdout] test error_responses::error_description_is_string ... ok [INFO] [stdout] test error_responses::invalid_datetime_returns_400 ... ok [INFO] [stdout] test error_responses::collection_not_found_returns_404 ... ok [INFO] [stdout] test error_responses::z_against_non_vertical_collection_returns_400 ... ok [INFO] [stdout] test error_responses::nonexistent_route_returns_404 ... ok [INFO] [stdout] test landing_page::has_conformance_link ... ok [INFO] [stdout] test error_responses::locations_unknown_collection_returns_404 ... ok [INFO] [stdout] test landing_page::has_data_link ... ok [INFO] [stdout] test landing_page::has_required_links_field ... ok [INFO] [stdout] test error_responses::location_not_found_returns_404 ... ok [INFO] [stdout] test landing_page::has_title ... ok [INFO] [stdout] test landing_page::has_self_link ... ok [INFO] [stdout] test collections::listing_collections_not_empty ... ok [INFO] [stdout] test landing_page::returns_200 ... ok [INFO] [stdout] test location_data::domain_has_axes_and_referencing ... ok [INFO] [stdout] test location_data::axes_have_x_y_t ... ok [INFO] [stdout] test location_data::has_required_parameters ... ok [INFO] [stdout] test location_data::has_required_domain ... ok [INFO] [stdout] test location_data::null_values_represented_as_json_null ... ok [INFO] [stdout] test location_data::domain_type_is_point_series ... ok [INFO] [stdout] test location_data::has_required_ranges ... ok [INFO] [stdout] test location_data::range_values_length_matches_shape ... ok [INFO] [stdout] test location_data::referencing_has_spatial_and_temporal ... ok [INFO] [stdout] test location_data::parameter_structure ... ok [INFO] [stdout] test location_data::range_ndarray_structure ... ok [INFO] [stdout] test location_data::returns_coverage_json_type ... ok [INFO] [stdout] test location_data::with_parameter_name_filter ... ok [INFO] [stdout] test location_data::returns_200 ... ok [INFO] [stdout] test locations::feature_geometry_is_point ... ok [INFO] [stdout] test locations::features_have_required_edr_properties ... ok [INFO] [stdout] test location_data::with_datetime_parameter ... ok [INFO] [stdout] test locations::features_match_mock_locations ... ok [INFO] [stdout] test locations::has_features_array ... ok [INFO] [stdout] test locations::returns_200 ... ok [INFO] [stdout] test location_data::x_and_y_are_single_value ... ok [INFO] [stdout] test locations::unknown_collection_returns_404 ... ok [INFO] [stdout] test locations::returns_geojson_feature_collection ... ok [INFO] [stdout] test metadata_extras::keywords_and_license_surface_in_json ... ok [INFO] [stdout] test metadata_extras::keyword_is_matched_by_q_search ... ok [INFO] [stdout] test unimplemented_queries::area_query ... ok [INFO] [stdout] test unimplemented_queries::area_query_bbox_format ... ok [INFO] [stdout] test metadata_extras::no_keywords_or_license_when_unset ... ok [INFO] [stdout] test unimplemented_queries::area_query_no_match ... ok [INFO] [stdout] test unimplemented_queries::corridor_query ... ignored, corridor query not yet implemented [INFO] [stdout] test unimplemented_queries::cube_query ... ignored, cube query not yet implemented [INFO] [stdout] test unimplemented_queries::instances_listing ... ignored, instances endpoint not yet implemented [INFO] [stdout] test unimplemented_queries::items_query ... ignored, items query not yet implemented [INFO] [stdout] test unimplemented_queries::collection_has_crs_field ... ok [INFO] [stdout] test unimplemented_queries::position_query_multipoint_returns_coverage_collection ... ok [INFO] [stdout] test unimplemented_queries::position_query_multipoint_flat_form ... ok [INFO] [stdout] test unimplemented_queries::position_query_point_returns_single_coverage ... ok [INFO] [stdout] test unimplemented_queries::radius_query ... ignored, radius query not yet implemented [INFO] [stdout] test unimplemented_queries::position_query_rejects_polygon ... ok [INFO] [stdout] test unimplemented_queries::trajectory_query_unsupported_engine_returns_404 ... ok [INFO] [stdout] test collections::detail_returns_200 ... ok [INFO] [stdout] test collections::listing_has_required_collections_array ... ok [INFO] [stdout] test landing_page::links_have_required_href_and_rel ... ok [INFO] [stdout] test locations::features_have_required_geojson_structure ... ok [INFO] [stdout] test unimplemented_queries::trajectory_query_returns_section_and_png ... ok [INFO] [stdout] test locations::validates_against_edr_locations_schema ... ok [INFO] [stdout] test collections::listing_validates_against_ogc_edr_schema ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 78 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 2.26s [INFO] [stdout] [INFO] [stderr] Running tests/performance_tests.rs (/opt/rustwide/target/debug/deps/performance_tests-a8280456817000fe) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test error_response_has_json_content_type ... ok [INFO] [stdout] test invalid_datetime_filter_returns_400 ... ok [INFO] [stdout] test locations_empty_collection_returns_empty_feature_collection ... ok [INFO] [stdout] test datetime_filter_is_accepted ... ok [INFO] [stdout] test location_query_response_has_covjson_content_type ... ok [INFO] [stdout] test locations_response_has_geojson_content_type ... ok [INFO] [stdout] test concurrent_location_queries_all_succeed ... ok [INFO] [stdout] test concurrent_mixed_endpoint_requests_all_succeed ... ok [INFO] [stdout] test parameter_name_filter_is_accepted ... ok [INFO] [stdout] test location_query_many_parameters_returns_all_ranges ... ok [INFO] [stdout] test response_size_baseline_for_regression_tracking ... ok [INFO] [stdout] test locations_endpoint_returns_all_results_without_pagination ... ok [INFO] [stdout] test location_query_large_timeseries_returns_valid_covjson ... ok [INFO] [stderr] Running tests/png_plot_tests.rs (/opt/rustwide/target/debug/deps/png_plot_tests-dc2a872ae6dd3d6f) [INFO] [stdout] test locations_10000_features_returns_valid_geojson ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.86s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test png_on_area_is_400 ... ok [INFO] [stdout] test unknown_format_is_400 ... ok [INFO] [stdout] test default_format_is_still_coveragejson ... ok [INFO] [stdout] test custom_dimensions_are_honored ... ok [INFO] [stdout] test format_token_is_case_insensitive ... ok [INFO] [stdout] test position_series_png_returns_valid_image ... ok [INFO] [stderr] Running tests/security_tests.rs (/opt/rustwide/target/debug/deps/security_tests-c103c36c6a6d4681) [INFO] [stdout] test position_profile_png_returns_valid_image ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test error_404_does_not_expose_internal_paths ... ok [INFO] [stdout] test delete_requests_are_rejected ... ok [INFO] [stdout] test error_404_location_does_not_expose_internals ... ok [INFO] [stdout] test error_400_datetime_does_not_expose_internals ... ok [INFO] [stdout] test extremely_long_datetime_param_returns_400 ... ok [INFO] [stdout] test extremely_long_parameter_name_list ... ok [INFO] [stdout] test extreme_datetime_range ... ok [INFO] [stdout] test extremely_long_location_id_returns_404 ... ok [INFO] [stdout] test large_datetime_range_does_not_cause_issues ... ok [INFO] [stdout] test error_response_format_is_consistent ... ok [INFO] [stdout] test extremely_long_collection_id_returns_404 ... ok [INFO] [stdout] test no_sensitive_headers_in_error_responses ... ok [INFO] [stdout] test null_bytes_in_collection_id ... ok [INFO] [stdout] test no_server_version_header_leaked ... ok [INFO] [stdout] test nonexistent_location_returns_quickly ... ok [INFO] [stdout] test content_type_is_set_for_success_responses ... ok [INFO] [stdout] test adversarial_datetime_inputs ... ok [INFO] [stdout] test put_requests_are_rejected ... ok [INFO] [stdout] test post_requests_are_rejected ... ok [INFO] [stdout] test xss_payloads_in_datetime_param ... ok [INFO] [stdout] test xss_payloads_in_collection_id ... ok [INFO] [stdout] test xss_payloads_in_location_id ... ok [INFO] [stdout] test path_traversal_in_collection_id_returns_404 ... ok [INFO] [stdout] test path_traversal_in_location_id_returns_404 ... ok [INFO] [stdout] test sql_injection_in_collection_id ... ok [INFO] [stdout] test sql_injection_in_location_id ... ok [INFO] [stdout] test unicode_in_collection_id ... ok [INFO] [stdout] test many_nonexistent_locations_sequentially ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running tests/spec_compliance_tests.rs (/opt/rustwide/target/debug/deps/spec_compliance_tests-2a3c29c000bd95fe) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test content_negotiation::unknown_f_is_400 ... ok [INFO] [stdout] test content_negotiation::accept_header_selects_html ... ok [INFO] [stdout] test content_negotiation::f_json_serves_json ... ok [INFO] [stdout] test content_negotiation::no_accept_defaults_to_json ... ok [INFO] [stdout] test declares_ogcapi_common_part2_classes ... ok [INFO] [stdout] test data_queries_default_output_format_set_for_all_query_types ... ok [INFO] [stdout] test finding_01_collection_has_crs_field ... ok [INFO] [stdout] test content_negotiation::f_html_serves_html_on_all_metadata_endpoints ... ok [INFO] [stdout] test finding_03_landing_page_links_are_relative ... ok [INFO] [stdout] test finding_06_landing_page_accepts_f_param ... ok [INFO] [stdout] test finding_04_landing_page_has_service_desc_link ... ok [INFO] [stdout] test content_negotiation::negotiated_responses_set_vary_accept ... ok [INFO] [stdout] test finding_07_locations_returns_geojson_content_type ... ok [INFO] [stdout] test finding_08_locations_geojson_has_links ... ok [INFO] [stdout] test finding_05_collections_bbox_filtering ... ok [INFO] [stdout] test finding_09_location_features_have_data_links ... ok [INFO] [stdout] test finding_10_collection_id_hardcoded ... ok [INFO] [stdout] test finding_11_position_query_returns_400_for_unsupported_engine ... ok [INFO] [stdout] test finding_07b_coverage_returns_covjson_content_type ... ok [INFO] [stdout] test finding_06b_conformance_accepts_f_param ... ok [INFO] [stdout] test finding_11b_radius_query_not_implemented ... ok [INFO] [stdout] test finding_15_parameter_names_missing_units ... ok [INFO] [stdout] test finding_11c_area_query_returns_400_for_unsupported_engine ... ok [INFO] [stdout] test finding_13_error_response_format ... ok [INFO] [stdout] test finding_12_temporal_trs_is_uri ... ok [INFO] [stdout] test finding_16_data_queries_link_structure ... ok [INFO] [stdout] test finding_20_instances_endpoint_present ... ok [INFO] [stdout] test finding_22_landing_page_links_have_titles ... ok [INFO] [stdout] test finding_02_spatial_extent_crs_is_uri ... ok [INFO] [stdout] test finding_24_items_not_implemented ... ok [INFO] [stdout] test finding_22b_collection_self_link_has_title ... ok [INFO] [stdout] test finding_17_collections_have_count_fields ... ok [INFO] [stdout] test finding_26_temporal_interval_format ... ok [INFO] [stdout] test finding_27_conformance_valid ... ok [INFO] [stdout] test finding_25_bbox_format_correct ... ok [INFO] [stdout] test finding_18_conformance_has_ogc_common_classes ... ok [INFO] [stdout] test finding_30_404_error_format ... ok [INFO] [stdout] test finding_30b_400_error_format ... ok [INFO] [stdout] test finding_28_landing_page_valid_structure ... ok [INFO] [stdout] test finding_30c_404_location_not_found ... ok [INFO] [stdout] test part4_searchable::collections_has_match_counts ... ok [INFO] [stdout] test finding_29_collections_valid_structure ... ok [INFO] [stdout] test part4_searchable::conformance_declares_searchable_collections ... ok [INFO] [stdout] test part4_searchable::invalid_limit_is_400 ... ok [INFO] [stdout] test part4_searchable::q_no_match_returns_empty ... ok [INFO] [stdout] test finding_21_location_query_params_incomplete ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_features-81718e78e2286d07) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test params::tests::parse_bbox_wrong_count ... ok [INFO] [stdout] test params::tests::parse_bbox_reversed_lat ... ok [INFO] [stdout] test params::tests::parse_bbox_6_values ... ok [INFO] [stdout] test params::tests::parse_bbox_antimeridian ... ok [INFO] [stdout] test params::tests::parse_datetime_fully_open ... ok [INFO] [stdout] test params::tests::parse_bbox_nan ... ok [INFO] [stdout] test params::tests::parse_bbox_with_spaces ... ok [INFO] [stdout] test params::tests::parse_datetime_instant ... ok [INFO] [stdout] test params::tests::parse_datetime_interval ... ok [INFO] [stdout] test params::tests::parse_datetime_open_end ... ok [INFO] [stdout] test params::tests::parse_valid_bbox ... ok [INFO] [stdout] test params::tests::parse_datetime_open_start ... ok [INFO] [stdout] test params::tests::parse_datetime_invalid ... ok [INFO] [stdout] test response::tests::feature_geojson_structure ... ok [INFO] [stdout] test response::tests::feature_page_no_next_link_on_last_page ... ok [INFO] [stdout] test response::tests::feature_page_geojson_structure ... ok [INFO] [stdout] test response::tests::empty_feature_page ... ok [INFO] [stdout] test response::tests::feature_page_prev_link_when_offset ... ok [INFO] [stderr] Running tests/ogc_features_api_tests.rs (/opt/rustwide/target/debug/deps/ogc_features_api_tests-29105d0540085af8) [INFO] [stdout] test params::tests::parse_bbox_not_a_number ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 70 tests [INFO] [stdout] test collections::collection_detail_returns_200 ... ok [INFO] [stdout] test collections::collection_detail_has_id ... ok [INFO] [stdout] test collections::collection_detail_omits_nonstandard_apis_field ... ok [INFO] [stdout] test collections::collection_has_crs ... ok [INFO] [stdout] test collections::collection_has_links ... ok [INFO] [stdout] test collections::collection_has_extent ... ok [INFO] [stdout] test collections::collections_not_empty ... ok [INFO] [stdout] test collections::each_collection_has_id_and_title ... ok [INFO] [stdout] test api_definition::has_openapi_version ... ok [INFO] [stdout] test collections::has_collections_array ... ok [INFO] [stdout] test collections::unknown_collection_returns_404 ... ok [INFO] [stdout] test collections::returns_200 ... ok [INFO] [stdout] test api_definition::returns_200 ... ok [INFO] [stdout] test api_definition::has_collection_item_paths ... ok [INFO] [stdout] test api_definition::has_info ... ok [INFO] [stdout] test api_definition::has_paths ... ok [INFO] [stdout] test conformance::declares_core ... ok [INFO] [stdout] test conformance::has_conforms_to ... ok [INFO] [stdout] test conformance::returns_200 ... ok [INFO] [stdout] test conformance::declares_oas30 ... ok [INFO] [stdout] test conformance::declares_geojson ... ok [INFO] [stdout] test content_negotiation::accept_header_selects_html ... ok [INFO] [stdout] test items::bbox_filter ... ok [INFO] [stdout] test errors::invalid_datetime_returns_400 ... ok [INFO] [stdout] test errors::error_responses_have_code_and_description ... ok [INFO] [stdout] test items::bbox_no_match ... ok [INFO] [stdout] test content_negotiation::negotiated_responses_set_vary_accept ... ok [INFO] [stdout] test items::has_features_array ... ok [INFO] [stdout] test items::has_links ... ok [INFO] [stdout] test items::feature_links_include_self_and_collection ... ok [INFO] [stdout] test items::has_number_matched ... ok [INFO] [stdout] test items::has_number_returned ... ok [INFO] [stdout] test items::invalid_bbox_returns_400 ... ok [INFO] [stdout] test content_negotiation::collection_detail_serves_html ... ok [INFO] [stdout] test items::has_timestamp ... ok [INFO] [stdout] test content_negotiation::f_html_serves_html ... ok [INFO] [stdout] test items::limit_zero_clamped_to_one ... ok [INFO] [stdout] test items::null_geometry_serialized_as_null ... ok [INFO] [stdout] test items::is_feature_collection ... ok [INFO] [stdout] test items::pagination_limit ... ok [INFO] [stdout] test items::returns_200 ... ok [INFO] [stdout] test items::pagination_offset ... ok [INFO] [stdout] test items::limit_clamped_to_max ... ok [INFO] [stdout] test content_negotiation::unknown_f_is_400 ... ok [INFO] [stdout] test items::unknown_collection_returns_404 ... ok [INFO] [stdout] test items::returns_geojson_content_type ... ok [INFO] [stdout] test errors::bad_bbox_returns_400_with_error_body ... ok [INFO] [stdout] test landing_page::has_title ... ok [INFO] [stdout] test landing_page::returns_200 ... ok [INFO] [stdout] test items::features_have_required_structure ... ok [INFO] [stdout] test landing_page::service_desc_link_has_openapi_type ... ok [INFO] [stdout] test landing_page::has_required_links ... ok [INFO] [stdout] test metadata_extras::keywords_and_license_surface_in_json ... ok [INFO] [stdout] test metadata_extras::keyword_is_matched_by_q_search ... ok [INFO] [stdout] test part4_searchable::collections_has_match_counts ... ok [INFO] [stdout] test metadata_extras::no_keywords_or_license_when_unset ... ok [INFO] [stdout] test part4_searchable::conformance_declares_searchable_collections ... ok [INFO] [stdout] test part4_searchable::invalid_bbox_is_400 ... ok [INFO] [stdout] test single_item::has_links ... ok [INFO] [stdout] test single_item::not_found_returns_404 ... ok [INFO] [stdout] test single_item::has_geometry ... ok [INFO] [stdout] test landing_page::links_have_href_and_rel ... ok [INFO] [stdout] test single_item::is_feature ... ok [INFO] [stdout] test single_item::has_properties ... ok [INFO] [stdout] test single_item::null_geometry_feature ... ok [INFO] [stdout] test single_item::returns_200 ... ok [INFO] [stdout] test vector_tile_discovery::collection_without_tiles_api_does_not_emit_tileset_link ... ok [INFO] [stdout] test single_item::returns_geojson_content_type ... ok [INFO] [stdout] test vector_tile_discovery::collection_with_tiles_api_emits_tileset_link ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_maps-8b0108718305a7af) [INFO] [stdout] test vector_tile_discovery::collection_with_tiles_api_still_omits_apis_array ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test params::tests::test_parse_bbox_nan ... ok [INFO] [stdout] test params::tests::test_parse_bbox_invalid_order ... ok [INFO] [stdout] test error::tests::into_response_attaches_error_reason_extension ... ok [INFO] [stdout] test params::tests::test_parse_time_rfc3339 ... ok [INFO] [stdout] test params::tests::test_parse_bbox_valid ... ok [INFO] [stdout] test params::tests::validate_wgs84_and_webmercator_unchanged ... ok [INFO] [stdout] test error::tests::into_response_redacts_internal_message_in_reason ... ok [INFO] [stdout] test error::tests::into_response_redacts_service_unavailable_message ... ok [INFO] [stdout] test params::tests::test_parse_time_invalid ... ok [INFO] [stdout] test params::tests::validate_projected_output_crs_3067 ... ok [INFO] [stdout] test params::tests::test_parse_bbox_invalid_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-7d75420ca616d008) [INFO] [stdout] [INFO] [stdout] running 94 tests [INFO] [stdout] test collections::collection_advertises_tilesets_map_link_with_tiles_api ... ok [INFO] [stdout] test collections::collection_advertises_storage_crs ... ok [INFO] [stdout] test collections::collection_detail_returns_200 ... ok [INFO] [stdout] test collections::collection_has_crs_and_styles ... ok [INFO] [stdout] test collections::collection_detail_has_id ... ok [INFO] [stdout] test collections::collection_has_temporal_extent ... ok [INFO] [stdout] test collections::collection_has_extent ... ok [INFO] [stdout] test collections::collection_omits_tilesets_map_link_without_tiles_api ... ok [INFO] [stdout] test collections::collection_omits_nonstandard_apis_field ... ok [INFO] [stdout] test collections::collection_has_links ... ok [INFO] [stdout] test collections::each_collection_has_id_and_title ... ok [INFO] [stdout] test collections::temporal_extent_has_regular_grid_resolution ... ok [INFO] [stdout] test collections::unknown_collection_returns_404 ... ok [INFO] [stdout] test collections::returns_200 ... ok [INFO] [stdout] test collections::spatial_extent_has_grid_resolution ... ok [INFO] [stdout] test collections::has_collections_array ... ok [INFO] [stdout] test conformance::declares_common_html_class ... ok [INFO] [stdout] test conformance::declares_png ... ok [INFO] [stdout] test conformance::declares_collection_map ... ok [INFO] [stdout] test conformance::returns_200 ... ok [INFO] [stdout] test conformance::declares_ogcapi_common_part1_and_part2 ... ok [INFO] [stdout] test conformance::declares_core ... ok [INFO] [stdout] test conformance::declares_styled_map ... ok [INFO] [stdout] test content_negotiation::accept_header_selects_html ... ok [INFO] [stdout] test conformance::omits_map_tilesets_conformance_class ... ok [INFO] [stdout] test conformance::has_conforms_to ... ok [INFO] [stdout] test content_negotiation::f_html_serves_html ... ok [INFO] [stdout] test content_negotiation::collection_detail_serves_html ... ok [INFO] [stdout] test extent_edge_cases::storage_crs_and_spatial_grid_omitted_for_projected_native_crs ... ok [INFO] [stdout] test extent_edge_cases::temporal_grid_treats_jittered_series_as_regular ... ok [INFO] [stdout] test extent_edge_cases::spatial_grid_resolution_positive_across_antimeridian ... ok [INFO] [stdout] test errors::bad_request_has_error_body ... ok [INFO] [stdout] test content_negotiation::unknown_f_is_400 ... ok [INFO] [stdout] test errors::error_responses_have_code_and_description ... ok [INFO] [stdout] test get_map::dimension_too_large_returns_400 ... ok [INFO] [stdout] test get_map::elevation_against_non_vertical_collection_returns_400 ... ok [INFO] [stdout] test content_negotiation::negotiated_responses_set_vary_accept ... ok [INFO] [stdout] test get_map::custom_dimensions ... ok [INFO] [stdout] test get_map::empty_tile_forces_png_content_type_even_when_jpeg_requested ... ok [INFO] [stdout] test get_map::invalid_bbox_returns_400 ... ok [INFO] [stdout] test get_map::empty_tile_forces_png_content_type_even_when_webp_requested ... ok [INFO] [stdout] test get_map::explicit_time_immutable_cache ... ok [INFO] [stdout] test get_map::if_none_match_after_cache_warm_returns_304_via_cache_hit ... ok [INFO] [stdout] test get_map::missing_bbox_returns_400 ... ok [INFO] [stdout] test get_map::if_none_match_on_empty_tile_returns_304_with_x_cache_empty ... ok [INFO] [stdout] test get_map::known_parameter_name_is_accepted_by_multi_param_engine ... ok [INFO] [stdout] test get_map::jpeg_format ... ok [INFO] [stdout] test get_map::no_time_short_cache ... ok [INFO] [stdout] test get_map::unknown_collection_returns_404 ... ok [INFO] [stdout] test get_map::unknown_parameter_name_returns_400_for_multi_param_engine ... ok [INFO] [stdout] test get_map::unsupported_crs_returns_400 ... ok [INFO] [stdout] test get_map::render_invalid_parameter_is_400_with_message ... ok [INFO] [stdout] test get_map::unsupported_format_returns_400 ... ok [INFO] [stdout] test get_map::parameter_name_changes_content_etag_on_multi_param_engine ... ok [INFO] [stdout] test landing_page::returns_200 ... ok [INFO] [stdout] test landing_page::has_required_links ... ok [INFO] [stdout] test metadata_extras::freetext_license_shows_name_in_html_but_no_json_link ... ok [INFO] [stdout] test metadata_extras::keywords_appear_in_collection_json ... ok [INFO] [stdout] test metadata_extras::license_link_synthesizes_spdx_url ... ok [INFO] [stdout] test metadata_extras::keyword_is_matched_by_q_search ... ok [INFO] [stdout] test metadata_extras::license_link_uses_explicit_url ... ok [INFO] [stdout] test metadata_extras::no_keywords_field_when_empty ... ok [INFO] [stdout] test metadata_extras::no_license_link_without_license ... ok [INFO] [stdout] test landing_page::has_title ... ok [INFO] [stdout] test searchable::conformance_declares_searchable_collections ... ok [INFO] [stdout] test get_map::has_cache_headers ... ok [INFO] [stdout] test searchable::bbox_disjoint_excludes ... ok [INFO] [stdout] test searchable::bbox_intersecting_includes ... ok [INFO] [stdout] test searchable::datetime_outside_extent_excludes ... ok [INFO] [stdout] test get_map::parameter_name_query_is_accepted_for_single_param_engine ... ok [INFO] [stdout] test searchable::datetime_within_extent_includes ... ok [INFO] [stdout] test get_map::returns_png ... ok [INFO] [stdout] test searchable::pagination_first_page_has_next_not_prev ... ok [INFO] [stdout] test searchable::non_crs84_bbox_crs_is_400 ... ok [INFO] [stdout] test searchable::q_matches_title_word ... ok [INFO] [stdout] test get_map::etag_is_content_derived_over_response_body ... ok [INFO] [stdout] test searchable::pagination_second_page_has_prev_not_next ... ok [INFO] [stdout] test searchable::q_no_match_excludes ... ok [INFO] [stdout] test searchable::self_link_preserves_query ... ok [INFO] [stdout] test searchable::invalid_limit_is_400 ... ok [INFO] [stdout] test searchable::unfiltered_has_match_counts ... ok [INFO] [stdout] test styled_map::unknown_style_returns_404 ... ok [INFO] [stdout] test searchable::invalid_bbox_is_400 ... ok [INFO] [stdout] test styled_map::unknown_collection_returns_404 ... ok [INFO] [stdout] test styles_endpoint::default_style_present ... ok [INFO] [stdout] test styles_endpoint::grayscale_style_present ... ok [INFO] [stdout] test vertical_extent::empty_vertical_dimension_omits_extent ... ok [INFO] [stdout] test styles_endpoint::unknown_collection_returns_404 ... ok [INFO] [stdout] test styles_endpoint::returns_200 ... ok [INFO] [stdout] test vertical_extent::vertical_extent_has_common_part2_form ... ok [INFO] [stdout] test styles_endpoint::has_styles_array ... ok [INFO] [stdout] test styled_map::grayscale_style_returns_png ... ok [INFO] [stdout] test styled_map::default_style_returns_png ... ok [INFO] [stdout] test get_map::if_none_match_against_fresh_router_returns_304_via_miss_branch ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 94 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_tiles-cf9387c5d91ba53d) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test error::tests::into_response_attaches_error_reason_extension ... ok [INFO] [stdout] test error::tests::into_response_redacts_internal_message ... ok [INFO] [stdout] test tilematrixset::tests::every_supported_tms_resolves ... ok [INFO] [stdout] test tilematrixset::tests::test_crs84_out_of_range ... ok [INFO] [stdout] test params::tests::test_validate_default_format ... ok [INFO] [stdout] test tilematrixset::tests::test_crs84_z0_two_tiles ... ok [INFO] [stdout] test params::tests::test_validate_jpeg_format ... ok [INFO] [stdout] test params::tests::test_validate_invalid_format ... ok [INFO] [stdout] test tilematrixset::tests::test_crs84_z1_four_tiles ... ok [INFO] [stdout] test params::tests::test_parse_time_invalid ... ok [INFO] [stdout] test tilematrixset::tests::test_limits_for_extent ... ok [INFO] [stdout] test tilematrixset::tests::test_web_mercator_known_tile ... ok [INFO] [stdout] test tilematrixset::tests::test_web_mercator_out_of_range ... ok [INFO] [stdout] test tilematrixset::tests::test_web_mercator_z0_single_tile ... ok [INFO] [stdout] test params::tests::test_parse_time_rfc3339 ... ok [INFO] [stdout] test tilematrixset::tests::test_matrix_dimensions ... ok [INFO] [stdout] test tilematrixset::tests::test_tile_adjacency_no_gaps ... ok [INFO] [stdout] test tilematrixset::tests::test_web_mercator_z1_quadrants ... ok [INFO] [stdout] test error::tests::into_response_redacts_service_unavailable_message ... ok [INFO] [stdout] test tilematrixset::tests::test_validate_coords ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-ede979dc0c255e27) [INFO] [stdout] [INFO] [stdout] running 86 tests [INFO] [stdout] test collections::collection_omits_nonstandard_apis_field ... ok [INFO] [stdout] test collections::each_collection_has_id_and_title ... ok [INFO] [stdout] test collections::collection_has_tile_matrix_set_links ... ok [INFO] [stdout] test api_definition::has_paths ... ok [INFO] [stdout] test collections::has_collections_array ... ok [INFO] [stdout] test api_definition::has_openapi_field ... ok [INFO] [stdout] test collections::returns_200 ... ok [INFO] [stdout] test collections::temporal_extent_has_regular_grid_resolution ... ok [INFO] [stdout] test api_definition::returns_200 ... ok [INFO] [stdout] test collections::raster_collection_advertises_storage_crs ... ok [INFO] [stdout] test api_definition::has_tile_path_for_collection ... ok [INFO] [stdout] test collections::spatial_extent_has_grid_resolution ... ok [INFO] [stdout] test conformance::declares_core ... ok [INFO] [stdout] test conformance::declares_mvt ... ok [INFO] [stdout] test conformance::declares_tileset ... ok [INFO] [stdout] test conformance::declares_tilematrixset ... ok [INFO] [stdout] test collections::unknown_collection_returns_404 ... ok [INFO] [stdout] test conformance::has_conforms_to ... ok [INFO] [stdout] test conformance::returns_200 ... ok [INFO] [stdout] test conformance::declares_tilesets_list ... ok [INFO] [stdout] test conformance::declares_ogcapi_common_part1_and_part2 ... ok [INFO] [stdout] test content_negotiation::accept_header_selects_html ... ok [INFO] [stdout] test content_negotiation::collection_detail_serves_html ... ok [INFO] [stdout] test content_negotiation::f_html_serves_html ... ok [INFO] [stdout] test conformance::declares_common_html_class ... ok [INFO] [stdout] test get_tile::elevation_against_non_vertical_collection_returns_400 ... ok [INFO] [stdout] test content_negotiation::unknown_f_is_400 ... ok [INFO] [stdout] test content_negotiation::negotiated_responses_set_vary_accept ... ok [INFO] [stdout] test get_tile::has_cache_headers ... ok [INFO] [stdout] test get_tile::explicit_datetime_gets_immutable_cache ... ok [INFO] [stdout] test get_tile::empty_tile_forces_png_content_type_even_when_jpeg_requested ... ok [INFO] [stdout] test get_tile::empty_tile_forces_png_content_type_even_when_webp_requested ... ok [INFO] [stdout] test get_tile::if_none_match_on_empty_tile_returns_304_with_x_cache_empty ... ok [INFO] [stdout] test get_tile::out_of_range_col_returns_404 ... ok [INFO] [stdout] test get_tile::out_of_range_tile_coords_returns_404 ... ok [INFO] [stdout] test get_tile::render_invalid_parameter_is_400_with_message ... ok [INFO] [stdout] test get_tile::known_parameter_name_is_accepted_by_multi_param_engine ... ok [INFO] [stdout] test get_tile::unknown_parameter_name_returns_400_for_multi_param_engine ... ok [INFO] [stdout] test get_tile::unknown_collection_returns_404 ... ok [INFO] [stdout] test get_tile::unknown_tms_returns_400 ... ok [INFO] [stdout] test get_tile::unknown_style_returns_404 ... ok [INFO] [stdout] test get_tile::etag_is_content_derived_over_response_body ... ok [INFO] [stdout] test get_tile::if_none_match_against_fresh_router_returns_304_via_miss_branch ... ok [INFO] [stdout] test landing_page::has_title ... ok [INFO] [stdout] test landing_page::has_required_links ... ok [INFO] [stdout] test landing_page::returns_200 ... ok [INFO] [stdout] test metadata_extras::keywords_and_license_surface_in_json ... ok [INFO] [stdout] test metadata_extras::no_keywords_or_license_when_unset ... ok [INFO] [stdout] test mvt::mvt_via_canonical_mime_token_also_works ... ok [INFO] [stdout] test mvt::pbf_crs84_route_also_works ... ok [INFO] [stdout] test mvt::pbf_out_of_range_tile_returns_404 ... ok [INFO] [stdout] test get_tile::world_crs84_quad_tile_returns_200 ... ok [INFO] [stdout] test get_tile::no_datetime_gets_short_cache ... ok [INFO] [stdout] test mvt::pbf_route_if_none_match_returns_304 ... ok [INFO] [stdout] test mvt::pbf_route_emits_etag_and_cache_control ... ok [INFO] [stdout] test mvt::pbf_route_returns_200_with_mvt_content_type ... ok [INFO] [stdout] test mvt::pbf_unknown_collection_returns_404 ... ok [INFO] [stdout] test mvt::pbf_unsupported_tms_returns_400 ... ok [INFO] [stdout] test mvt::raster_default_path_still_404s_without_map_engine ... ok [INFO] [stdout] test mvt::vector_only_collection_listed_in_collections ... ok [INFO] [stdout] test mvt::vector_only_tilesets_advertises_mvt_item_link ... ok [INFO] [stdout] test metadata_extras::keyword_is_matched_by_q_search ... ok [INFO] [stdout] test part4_searchable::collections_has_match_counts ... ok [INFO] [stdout] test mvt::pbf_tile_too_dense_returns_422 ... ok [INFO] [stdout] test part4_searchable::conformance_declares_searchable_collections ... ok [INFO] [stdout] test styled_tile::unknown_collection_returns_404 ... ok [INFO] [stdout] test part4_searchable::invalid_limit_is_400 ... ok [INFO] [stdout] test styled_tile::unknown_style_returns_404 ... ok [INFO] [stdout] test temporal_grid_jitter::temporal_grid_treats_jittered_series_as_regular ... ok [INFO] [stdout] test tile_matrix_sets::detail_has_tile_matrices ... ok [INFO] [stdout] test tile_matrix_sets::detail_returns_200 ... ok [INFO] [stdout] test get_tile::if_none_match_after_cache_warm_returns_304_via_cache_hit ... ok [INFO] [stdout] test tile_matrix_sets::list_contains_web_mercator_quad ... ok [INFO] [stdout] test tile_matrix_sets::list_contains_world_crs84_quad ... ok [INFO] [stdout] test tile_matrix_sets::list_has_tile_matrix_sets_array ... ok [INFO] [stdout] test tile_matrix_sets::list_returns_200 ... ok [INFO] [stdout] test tile_matrix_sets::unknown_tms_returns_404 ... ok [INFO] [stdout] test styled_tile::grayscale_style_returns_200 ... ok [INFO] [stdout] test tilesets::collection_tilesets_has_tilesets_array ... ok [INFO] [stdout] test tilesets::unknown_collection_returns_404 ... ok [INFO] [stdout] test tilesets::collection_tilesets_returns_200 ... ok [INFO] [stdout] test get_tile::parameter_name_changes_content_etag_on_multi_param_engine ... ok [INFO] [stdout] test get_tile::parameter_name_query_is_accepted_for_single_param_engine ... ok [INFO] [stdout] test styled_tile::valid_style_returns_200 ... ok [INFO] [stdout] test get_tile::valid_tile_returns_200_png ... ok [INFO] [stdout] test mvt::pbf_tile_at_density_cap_returns_200 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 86 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_wms-b5e6c883f9983da2) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test params::tests::parse_image_format_accepts_all_supported_types ... ok [INFO] [stdout] test params::tests::parse_image_format_covers_every_supported_format ... ok [INFO] [stdout] test error::tests::into_response_redacts_internal_message_in_body_and_reason ... ok [INFO] [stdout] test error::tests::into_response_attaches_error_reason_extension ... ok [INFO] [stdout] test params::tests::parse_image_format_defaults_to_png_when_absent ... ok [INFO] [stdout] test error::tests::xml_body_does_not_leak_internal_detail ... ok [INFO] [stdout] test params::tests::test_bbox_crs84 ... ok [INFO] [stdout] test params::tests::test_bbox_epsg3035_projected ... ok [INFO] [stdout] test params::tests::test_parse_time ... ok [INFO] [stdout] test error::tests::invalid_format_message_lists_every_supported_format ... ok [INFO] [stdout] test params::tests::test_bbox_epsg4326_axis_swap ... ok [INFO] [stdout] test params::tests::test_bbox_epsg3857_reprojection ... ok [INFO] [stdout] test params::tests::parse_image_format_rejects_unknown_with_invalid_format ... ok [INFO] [stdout] test params::tests::test_bbox_epsg3067_projected ... ok [INFO] [stdout] test params::tests::test_bbox_invalid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-8e278f27db1fe723) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test child_layer_titles_are_site_prefixed_for_flat_clients ... ok [INFO] [stdout] test capabilities_omit_reference_time_dimension_for_non_forecast ... ok [INFO] [stdout] test capabilities_emit_reference_time_dimension_for_forecast ... ok [INFO] [stdout] test elevation_against_non_vertical_layer_returns_400 ... ok [INFO] [stdout] test empty_tile_forces_png_content_type_even_when_webp_requested ... ok [INFO] [stdout] test error_tile_forces_png_content_type_even_when_jpeg_requested ... ok [INFO] [stdout] test capabilities_single_param_layer_emits_keywords_and_attribution ... ok [INFO] [stdout] test getmap_default_reference_time_is_none ... ok [INFO] [stdout] test capabilities_emit_keywords_and_attribution ... ok [INFO] [stdout] test etag_is_content_derived_over_response_body ... ok [INFO] [stdout] test getmap_unknown_reference_time_returns_400 ... ok [INFO] [stdout] test getmap_explicit_latest_run_normalizes_to_none ... ok [INFO] [stdout] test getmap_reference_time_against_non_forecast_layer_returns_400 ... ok [INFO] [stdout] test empty_tile_forces_png_content_type_even_when_jpeg_requested ... ok [INFO] [stdout] test if_none_match_on_empty_tile_returns_304_with_x_cache_empty ... ok [INFO] [stdout] test if_none_match_on_error_tile_returns_304_with_x_cache_error ... ok [INFO] [stdout] test getmap_selects_pinned_reference_time ... ok [INFO] [stdout] test getmap_unparseable_reference_time_returns_400 ... ok [INFO] [stdout] test if_none_match_after_cache_warm_returns_304_via_cache_hit ... ok [INFO] [stdout] test if_none_match_against_fresh_router_returns_304_via_miss_branch ... ok [INFO] [stdout] test getmap_accepts_compact_instance_id_reference_time ... ok [INFO] [stdout] test timeless_getmap_tracks_new_latest_data ... ok [INFO] [stdout] test non_web_mercator_bypasses_meta_tiling ... ok [INFO] [stdout] test zero_metatile_cache_disables_meta_tiling ... ok [INFO] [stdout] test getmap_metatile_path_selects_pinned_reference_time ... ok [INFO] [stdout] test meta_tiling_reuses_tiles_across_overlapping_viewports ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ds_3dtiles-b43f681b12d95232) [INFO] [stdout] [INFO] [stdout] running 37 tests [INFO] [stdout] test echo_top::tests::non_finite_threshold_is_rejected ... ok [INFO] [stdout] test echo_top::tests::echo_top_height_tracks_the_fill ... ok [INFO] [stdout] test echo_top::tests::echo_top_glb_is_wellformed ... ok [INFO] [stdout] test isosurface::tests::empty_shell_is_skipped_but_others_render ... ok [INFO] [stdout] test echo_top::tests::empty_when_no_column_reaches_threshold ... ok [INFO] [stdout] test isosurface::tests::background_not_below_threshold_is_rejected ... ok [INFO] [stdout] test echo_top::tests::echo_top_columns_glb_is_wellformed_and_grounded ... ok [INFO] [stdout] test isosurface::tests::background_seals_echo_surrounded_by_clear_air ... ok [INFO] [stdout] test isosurface::tests::empty_when_threshold_above_all_data ... ok [INFO] [stdout] test isosurface::tests::isosurface_glb_is_wellformed ... ok [INFO] [stdout] test isosurface::tests::nested_shells_ramp_alpha_outer_translucent_inner_opaque ... ok [INFO] [stdout] test isosurface::tests::nodata_corners_do_not_fabricate_surface_without_background ... ok [INFO] [stdout] test isosurface::tests::non_finite_threshold_or_background_is_rejected ... ok [INFO] [stdout] test isosurface::tests::tileset_glb_rejects_unsafe_uri_and_bad_region ... ok [INFO] [stdout] test isosurface::tests::multi_shell_background_must_be_below_lowest_threshold ... ok [INFO] [stdout] test isosurface::tests::multi_shell_glb_emits_one_blended_primitive_per_shell_innermost_first ... ok [INFO] [stdout] test smoothing::tests::angle_axis_wraps_periodically ... ok [INFO] [stdout] test smoothing::tests::nan_aware_preserves_nan_and_never_bleeds_it ... ok [INFO] [stdout] test smoothing::tests::nan_aware_renormalizes_weights_exactly ... ok [INFO] [stdout] test smoothing::tests::zero_passes_is_identity ... ok [INFO] [stdout] test smoothing::tests::linear_field_is_invariant_away_from_clamped_ends ... ok [INFO] [stdout] test tests::inverted_region_is_rejected ... ok [INFO] [stdout] test isosurface::tests::isosurface_normals_point_outward ... ok [INFO] [stdout] test tests::pnts_header_is_wellformed ... ok [INFO] [stdout] test tests::tileset_has_positive_geometric_error_and_region ... ok [INFO] [stdout] test tests::unsafe_content_uri_is_rejected ... ok [INFO] [stdout] test isosurface::tests::tileset_glb_carries_translation_transform_and_region ... ok [INFO] [stdout] test tests::non_finite_geometry_is_rejected ... ok [INFO] [stdout] test isosurface::tests::isosurface_sits_at_the_expected_height ... ok [INFO] [stdout] test tests::validate_uri_isolates_path_from_query ... ok [INFO] [stdout] test voxels::tests::azimuth_remap_pins_the_render_verified_270_offset ... ok [INFO] [stdout] test voxels::tests::unmeasured_becomes_floor_and_all_unmeasured_is_empty ... ok [INFO] [stdout] test voxels::tests::voxel_glb_matches_the_cesium_cylinder_fixture_shape ... ok [INFO] [stdout] test voxels::tests::voxel_tileset_rejects_unsafe_uris ... ok [INFO] [stdout] test isosurface::tests::open_surface_meshes_crossings_inside_finite_region_only ... ok [INFO] [stdout] test voxels::tests::voxel_tileset_has_cylinder_bv_content_voxels_and_transform ... ok [INFO] [stdout] test tests::empty_cloud_is_rejected ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ds_core-728276aa6f54fa10) [INFO] [stdout] [INFO] [stdout] running 222 tests [INFO] [stdout] test cells::tests::gate_rejects_teleporting_blob_and_births_a_new_track ... ok [INFO] [stdout] test cells::tests::merge_resolves_as_nearest_wins ... ok [INFO] [stdout] test cells::tests::footprint_ring_is_ccw ... ok [INFO] [stdout] test cells::tests::full_annulus_footprint_is_ccw_at_outer_radius ... ok [INFO] [stdout] test cells::tests::extraction_is_deterministic ... ok [INFO] [stdout] test cells::tests::single_voxel_cell_attributes_are_hand_checkable ... ok [INFO] [stdout] test cells::tests::no_echo_grid_yields_empty_set ... ok [INFO] [stdout] test cells::tests::closing_bridges_single_column_gaps_but_not_wide_ones ... ok [INFO] [stdout] test cells::tests::vil_caps_hail_at_56_dbz ... ok [INFO] [stdout] test cells::tests::vertically_stacked_echo_is_one_cell_not_nested_rings ... ok [INFO] [stdout] test cells::tests::death_and_empty_scan_are_handled ... ok [INFO] [stdout] test cells::tests::two_separated_blobs_make_two_cells_ordered_by_volume ... ok [INFO] [stdout] test collection_search::tests::antimeridian_bbox_overlaps ... ok [INFO] [stdout] test collection_search::tests::bbox_filter_includes_and_excludes ... ok [INFO] [stdout] test collection_search::tests::limit_clamped_to_max ... ok [INFO] [stdout] test collection_search::tests::pagination_cursors ... ok [INFO] [stdout] test collection_search::tests::no_prev_exactly_off_the_end ... ok [INFO] [stdout] test collection_search::tests::datetime_overlap_filter ... ok [INFO] [stdout] test collection_search::tests::parse_accepts_crs84_bbox_crs_forms ... ok [INFO] [stdout] test collection_search::tests::parse_bbox_4_and_6 ... ok [INFO] [stdout] test collection_search::tests::parse_defaults ... ok [INFO] [stdout] test collection_search::tests::parse_rejects_inverted_datetime ... ok [INFO] [stdout] test collection_search::tests::prev_suppressed_when_offset_out_of_range ... ok [INFO] [stdout] test collection_search::tests::q_matches_keywords ... ok [INFO] [stdout] test collection_search::tests::parse_rejects_bad_bbox_and_limit_and_crs ... ok [INFO] [stdout] test collection_search::tests::query_string_preserves_format_across_pagination ... ok [INFO] [stdout] test collection_search::tests::query_string_reflects_clamped_limit ... ok [INFO] [stdout] test collection_search::tests::q_whole_word_and_unicode ... ok [INFO] [stdout] test collection_search::tests::query_string_roundtrip ... ok [INFO] [stdout] test collection_search::tests::query_string_with_format_overrides_and_preserves_filters ... ok [INFO] [stdout] test collection_search::tests::parse_rejects_nonfinite_and_inverted_bbox ... ok [INFO] [stdout] test collection_search::tests::unknown_extent_is_unbounded ... ok [INFO] [stdout] test collection_search::tests::phrase_q_does_not_match_across_fields ... ok [INFO] [stdout] test cells::tests::min_volume_filter_and_max_cells_cap ... ok [INFO] [stdout] test cells::tests::moving_blob_tracks_with_expected_motion ... ok [INFO] [stdout] test cells::tests::azimuth_seam_blob_is_one_cell_with_one_ring ... ok [INFO] [stdout] test config::tests::empty_dir_warns ... ok [INFO] [stdout] test config::tests::collections_dir_only_no_inline ... ok [INFO] [stdout] test config::tests::duplicate_style_bundle_id_rejected ... ok [INFO] [stdout] test config::tests::empty_style_bundle_id_rejected ... ok [INFO] [stdout] test config::tests::alphabetical_ordering ... ok [INFO] [stdout] test config::tests::duplicate_extra_name_within_bundle_rejected ... ok [INFO] [stdout] test config::tests::duplicate_id_across_inline_and_dir ... ok [INFO] [stdout] test config::tests::duplicate_id_across_dir_files ... ok [INFO] [stdout] test config::tests::extra_with_empty_name_rejected ... ok [INFO] [stdout] test config::tests::grib_rejects_data_path_with_s3 ... ok [INFO] [stdout] test config::tests::filename_stem_mismatch_warns ... ok [INFO] [stdout] test config::tests::grib_local_data_path_validates ... ok [INFO] [stdout] test config::tests::extra_with_empty_parameter_rejected ... ok [INFO] [stdout] test config::tests::extra_named_default_rejected ... ok [INFO] [stdout] test config::tests::grib_rejects_no_data_source ... ok [INFO] [stdout] test config::tests::is_valid_sql_identifier_cases ... ok [INFO] [stdout] test config::tests::license_freetext_without_url_has_no_link_but_keeps_label ... ok [INFO] [stdout] test config::tests::grib_remote_rejects_missing_prefix_pattern ... ok [INFO] [stdout] test config::tests::from_file_without_collections_dir ... ok [INFO] [stdout] test config::tests::from_file_with_collections_dir ... ok [INFO] [stdout] test config::tests::keywords_and_license_parse_from_toml ... ok [INFO] [stdout] test config::tests::grib_remote_validates_with_prefix_pattern ... ok [INFO] [stdout] test config::tests::license_url_is_trimmed ... ok [INFO] [stdout] test config::tests::license_url_synthesized_from_spdx_id ... ok [INFO] [stdout] test config::tests::malformed_toml_in_dir ... ok [INFO] [stdout] test config::tests::grib_rejects_partial_remote ... ok [INFO] [stdout] test config::tests::non_toml_files_ignored ... ok [INFO] [stdout] test config::tests::postgis_engine_requires_postgis_section ... ok [INFO] [stdout] test config::tests::keywords_and_license_default_absent ... ok [INFO] [stdout] test config::tests::postgis_long_with_columns_rejected ... ok [INFO] [stdout] test config::tests::postgis_nexus_per_parameter_parses_clean ... ok [INFO] [stdout] test config::tests::missing_collections_dir_is_error ... ok [INFO] [stdout] test config::tests::postgis_unknown_shape_rejected ... ok [INFO] [stdout] test config::tests::postgis_section_without_postgis_engine_rejected ... ok [INFO] [stdout] test config::tests::postgis_parameter_not_mapped_in_columns_rejected ... ok [INFO] [stdout] test config::tests::postgis_requires_at_least_one_parameter ... ok [INFO] [stdout] test config::tests::postgis_rejects_malicious_identifier ... ok [INFO] [stdout] test config::tests::postgis_per_parameter_with_table_field_rejected ... ok [INFO] [stdout] test config::tests::postgis_literal_dsn_opt_in_behavior ... ok [INFO] [stdout] test config::tests::validate_accepts_valid_keywords_and_license ... ok [INFO] [stdout] test config::tests::postgis_wide_with_param_col_rejected ... ok [INFO] [stdout] test config::tests::style_bundle_cannot_be_mixed_with_inline_wms_fields ... ok [INFO] [stdout] test config::tests::style_bundle_parses_and_collection_reference_resolves ... ok [INFO] [stdout] test config::tests::validate_qualified_table_cases ... ok [INFO] [stdout] test config::tests::validate_rejects_empty_license_title ... ok [INFO] [stdout] test config::tests::style_bundles_in_per_collection_file_rejected ... ok [INFO] [stdout] test config::tests::validate_rejects_non_http_license_url ... ok [INFO] [stdout] test config::tests::unknown_style_bundle_reference_rejected ... ok [INFO] [stdout] test config::tests::validate_stations_where_clause_accepts_simple_filters ... ok [INFO] [stdout] test config::tests::validate_stations_where_clause_rejects_injection ... ok [INFO] [stdout] test config::tests::validate_stations_where_clause_rejects_oversize ... ok [INFO] [stdout] test config::tests::style_bundle_cannot_be_mixed_with_inline_styles_array ... ok [INFO] [stdout] test config::tests::watch_collections_dir_parses_explicit_values ... ok [INFO] [stdout] test config::tests::watch_collections_dir_defaults_off_with_500ms_debounce ... ok [INFO] [stdout] test config::tests::validate_rejects_empty_keyword ... ok [INFO] [stdout] test config::tests::wms_without_colormap_or_bundle_defaults_to_none ... ok [INFO] [stdout] test config::tests::zarr_engine_requires_section ... ok [INFO] [stdout] test config::tests::zarr_local_data_path_validates ... ok [INFO] [stdout] test config::tests::zarr_rejects_absolute_or_traversal_path ... ok [INFO] [stdout] test config::tests::zarr_icechunk_single_version_selector_ok ... ok [INFO] [stdout] test config::tests::zarr_icechunk_rejects_empty_selector ... ok [INFO] [stdout] test config::tests::zarr_rejects_data_path_with_s3 ... ok [INFO] [stdout] test config::tests::zarr_icechunk_rejects_multiple_version_selectors ... ok [INFO] [stdout] test datetime::tests::format_iso8601_duration_roundtrips_through_parser ... ok [INFO] [stdout] test datetime::tests::iso8601_duration_basic ... ok [INFO] [stdout] test datetime::tests::iso8601_duration_rejects_bad_input ... ok [INFO] [stdout] test config::tests::zarr_remote_validates_with_path ... ok [INFO] [stdout] test config::tests::zarr_rejects_no_data_source ... ok [INFO] [stdout] test datetime::tests::format_iso8601_duration_canonical_forms ... ok [INFO] [stdout] test datetime::tests::format_iso8601_duration_rejects_non_positive ... ok [INFO] [stdout] test datetime::tests::iso8601_duration_rejects_signed_components ... ok [INFO] [stdout] test datetime::tests::iso8601_duration_rejects_trailing_digits_without_unit ... ok [INFO] [stdout] test config::tests::zarr_section_requires_matching_engine_type ... ok [INFO] [stdout] test config::tests::zarr_remote_rejects_missing_path ... ok [INFO] [stdout] test datetime::tests::iso8601_duration_supports_weeks ... ok [INFO] [stdout] test datetime::tests::regular_step_duration_rejects_irregular_and_short ... ok [INFO] [stdout] test datetime::tests::test_parse_interval ... ok [INFO] [stdout] test datetime::tests::test_parse_instant ... ok [INFO] [stdout] test datetime::tests::regular_step_duration_detects_regular_series ... ok [INFO] [stdout] test feature::tests::bbox_antimeridian_crossing ... ok [INFO] [stdout] test datetime::tests::test_parse_open_start ... ok [INFO] [stdout] test datetime::tests::temporal_grid_picks_regular_or_irregular_variant ... ok [INFO] [stdout] test feature::tests::bbox_rejects_nan ... ok [INFO] [stdout] test feature::tests::bbox_rejects_out_of_range ... ok [INFO] [stdout] test feature::tests::bbox_valid ... ok [INFO] [stdout] test feature::tests::bbox_rejects_reversed_lat ... ok [INFO] [stdout] test feature::tests::bbox_rejects_infinity ... ok [INFO] [stdout] test feature::tests::null_geometry_centroid_is_none ... ok [INFO] [stdout] test feature::tests::parse_bbox_format ... ok [INFO] [stdout] test feature::tests::parse_linestring_accepts_two_or_more_nodes ... ok [INFO] [stdout] test feature::tests::null_geometry_bbox_is_none ... ok [INFO] [stdout] test feature::tests::bbox_antimeridian_intersects ... ok [INFO] [stdout] test feature::tests::parse_linestring_rejects_all_identical_nodes ... ok [INFO] [stdout] test feature::tests::parse_linestring_handles_multibyte_prefix_collision ... ok [INFO] [stdout] test feature::tests::parse_linestring_rejects_z_and_m_variants ... ok [INFO] [stdout] test feature::tests::parse_point_coords_accepts_wkt_and_bare_pair ... ok [INFO] [stdout] test feature::tests::parse_linestring_rejects_single_node_and_malformed ... ok [INFO] [stdout] test feature::tests::parse_polygon_with_hole_wkt ... ok [INFO] [stdout] test feature::tests::parse_point_coords_rejects_malformed_and_out_of_range ... ok [INFO] [stdout] test feature::tests::parse_polygon_wkt ... ok [INFO] [stdout] test feature::tests::parse_rejects_too_few_points ... ok [INFO] [stdout] test feature::tests::parse_rejects_too_long ... ok [INFO] [stdout] test feature::tests::parse_linestring_rejects_too_long_payload ... ok [INFO] [stdout] test feature::tests::parse_rejects_out_of_range_coords ... ok [INFO] [stdout] test feature::tests::point_geometry_bbox ... ok [INFO] [stdout] test feature::tests::point_in_simple_square ... ok [INFO] [stdout] test feature::tests::query_polygon_with_hole ... ok [INFO] [stdout] test feature::tests::point_in_triangle ... ok [INFO] [stdout] test geo::tests::crs84_bbox_spans_handles_normal_and_antimeridian ... ok [INFO] [stdout] test geo::tests::destination_point_matches_analytic_references ... ok [INFO] [stdout] test geo::tests::envelope_roundtrip_contains_original_box ... ok [INFO] [stdout] test geo::tests::from_transformation_matrix_rotated_rejected ... ok [INFO] [stdout] test geo::tests::ecef_known_points ... ok [INFO] [stdout] test geo::tests::is_crs84_grid_only_for_lonfirst_crs84 ... ok [INFO] [stdout] test geo::tests::edge_envelope_is_none_when_every_sample_fails ... ok [INFO] [stdout] test geo::tests::from_transformation_matrix_axis_aligned ... ok [INFO] [stdout] test geo::tests::from_transformation_matrix_too_short ... ok [INFO] [stdout] test geo::tests::laea_roundtrip ... ok [INFO] [stdout] test geo::tests::laea_extreme_inverse ... ok [INFO] [stdout] test geo::tests::lcc_roundtrip ... ok [INFO] [stdout] test geo::tests::stereographic_far_from_center ... ok [INFO] [stdout] test geo::tests::stereographic_inverse_absolute_dmi ... ok [INFO] [stdout] test geo::tests::rotlatlon_roundtrip_center ... ok [INFO] [stdout] test geo::tests::rotlatlon_roundtrip_helsinki ... ok [INFO] [stdout] test geo::tests::stereographic_inverse_absolute_polar ... ok [INFO] [stdout] test geo::tests::stereographic_roundtrip_center ... ok [INFO] [stdout] test geo::tests::stereographic_roundtrip_dmi ... ok [INFO] [stdout] test geo::tests::stereographic_roundtrip_dmi_far_corners ... ok [INFO] [stdout] test geo::tests::tm35fin_extreme_inverse ... ok [INFO] [stdout] test geo::tests::native_crs_uri_maps_known_labels_and_omits_the_rest ... ok [INFO] [stdout] test geo::tests::projected_output_crs_pins_epsg_parameters ... ok [INFO] [stdout] test geo::tests::wgs84_bbox_correct ... ok [INFO] [stdout] test geo::tests::stereographic_roundtrip_helsinki ... ok [INFO] [stdout] test geo::tests::rotlatlon_identity ... ok [INFO] [stdout] test geo::tests::projected_world_to_pixel ... ok [INFO] [stdout] test geo::tests::wgs84_envelope_of_projected_metres_is_degrees_not_metres ... ok [INFO] [stdout] test geo::tests::wgs84_world_to_pixel_inside ... ok [INFO] [stdout] test geo::tests::world_to_pixel_f64_matches_world_to_pixel ... ok [INFO] [stdout] test geo::tests::wgs84_world_to_pixel_outside ... ok [INFO] [stdout] test html::tests::builders_escape_and_render ... ok [INFO] [stdout] test geo::tests::wgs84_envelope_some_for_valid_projected_bbox ... ok [INFO] [stdout] test html::tests::license_without_url_renders_as_plain_name ... ok [INFO] [stdout] test html::tests::escape_handles_all_entities ... ok [INFO] [stdout] test html::tests::negotiate_accept_and_default ... ok [INFO] [stdout] test html::tests::negotiate_accept_honours_q_values ... ok [INFO] [stdout] test html::tests::negotiate_unknown_f_is_error ... ok [INFO] [stdout] test html::tests::negotiate_f_wins_over_accept ... ok [INFO] [stdout] test html::tests::landing_and_conformance_render ... ok [INFO] [stdout] test instances::tests::build_instances_orders_and_derives_valid_times ... ok [INFO] [stdout] test instances::tests::instance_id_round_trips_compact ... ok [INFO] [stdout] test instances::tests::parse_accepts_rfc3339_and_seconds_variant ... ok [INFO] [stdout] test instances::tests::select_run_none_is_latest ... ok [INFO] [stdout] test instances::tests::parse_rejects_garbage ... ok [INFO] [stdout] test instances::tests::select_run_empty_is_none ... ok [INFO] [stdout] test instances::tests::select_run_some_picks_exact_run ... ok [INFO] [stdout] test map_engine::tests::project_node_projected_inverts_projected_metres ... ok [INFO] [stdout] test map_engine::tests::project_node_web_mercator_pins_corners_and_bows_centre ... ok [INFO] [stdout] test map_engine::tests::project_node_wgs84_is_linear_corners ... ok [INFO] [stdout] test ogc_extent::tests::empty_inputs_yield_none ... ok [INFO] [stdout] test map_engine::tests::world_to_fraction_inverts_project_node_for_every_variant ... ok [INFO] [stdout] test ogc_extent::tests::single_timestamp_has_no_grid ... ok [INFO] [stdout] test ogc_extent::tests::geographic_grid_emits_resolution ... ok [INFO] [stdout] test ogc_extent::tests::projected_grid_omits_resolution ... ok [INFO] [stdout] test ogc_extent::tests::temporal_regular_series_emits_grid ... ok [INFO] [stdout] test raster_paint::tests::canvas_rejects_mismatched_buffer ... ok [INFO] [stdout] test ogc_extent::tests::vertical_extent_round_trips ... ok [INFO] [stdout] test ogc_extent::tests::spatial_only_has_no_grid_without_grid_size ... ok [INFO] [stdout] test raster_paint::tests::marker_is_a_plus ... ok [INFO] [stdout] test raster_paint::tests::marker_clips_at_edges ... ok [INFO] [stdout] test raster_paint::tests::non_finite_inputs_are_skipped ... ok [INFO] [stdout] test raster_paint::tests::off_canvas_segment_paints_nothing_and_crossing_segment_clips ... ok [INFO] [stdout] test raster_paint::tests::ring_closes_and_thickness_widens ... ok [INFO] [stdout] test raster_paint::tests::segment_paints_both_endpoints_and_line ... ok [INFO] [stdout] test config::tests::zarr_rejects_invalid_version ... ok [INFO] [stdout] test geo::tests::tm35fin_roundtrip ... ok [INFO] [stdout] test resample::tests::sample_is_non_finite_for_degenerate_transform ... ok [INFO] [stdout] test resample::tests::sample_stays_in_bounds_at_edges ... ok [INFO] [stdout] test resample::tests::grid_handles_small_output_over_wide_area ... ok [INFO] [stdout] test volume::tests::voxel_grid_index_is_height_fastest_and_valid_count ... ok [INFO] [stdout] test volume::tests::default_read_cells_segments_window_and_tracks ... ok [INFO] [stdout] test volume::tests::read_cells_without_voxel_caps_is_not_found ... ok [INFO] [stdout] test resample::tests::grid_is_exact_for_affine_wgs84 ... ok [INFO] [stdout] test resample::tests::grid_matches_exact_zoomed_out ... ok [INFO] [stdout] test resample::tests::grid_matches_exact_tm35fin ... ok [INFO] [stdout] test resample::tests::grid_matches_exact_webmercator_output ... ok [INFO] [stdout] test resample::tests::grid_matches_exact_stereographic ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ds_mvt-5924a8e74f36fdcc) [INFO] [stdout] [INFO] [stdout] test result: ok. 222 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.99s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 40 tests [INFO] [stdout] test cache::tests::etag_uses_stable_fnv1a_not_default_hasher ... ok [INFO] [stdout] test cache::tests::etag_is_stable_for_same_bytes ... ok [INFO] [stdout] test cache::tests::etag_rotates_after_data_refresh ... ok [INFO] [stdout] test cache::tests::etag_differs_for_distinct_bytes ... ok [INFO] [stdout] test cache::tests::hit_then_miss_counters ... ok [INFO] [stdout] test cache::tests::distinct_property_hashes_dont_collide ... ok [INFO] [stdout] test cache::tests::zero_capacity_disables_cache ... ok [INFO] [stdout] test encode::tests::antimeridian_bbox_west_gt_east_is_rejected_for_crs84 ... ok [INFO] [stdout] test encode::tests::clip_buffer_scales_with_extent ... ok [INFO] [stdout] test encode::tests::empty_hole_rings_are_skipped ... ok [INFO] [stdout] test encode::tests::encode_empty_features_produces_valid_tile ... ok [INFO] [stdout] test encode::tests::encode_point_flattens_list_property_to_joined_string ... ok [INFO] [stdout] test encode::tests::encode_polygon_closes_ring_without_duplicate ... ok [INFO] [stdout] test encode::tests::encode_polygon_with_hole ... ok [INFO] [stdout] test encode::tests::multipolygon_with_one_part_outside_tile_keeps_inside_part ... ok [INFO] [stdout] test encode::tests::multipolygon_with_only_empty_parts_is_skipped ... ok [INFO] [stdout] test encode::tests::null_geometry_is_skipped ... ok [INFO] [stdout] test encode::tests::numeric_string_id_round_trips ... ok [INFO] [stdout] test encode::tests::polygon_crossing_tile_edge_stays_within_buffer ... ok [INFO] [stdout] test encode::tests::polygon_far_outside_tile_is_dropped ... ok [INFO] [stdout] test encode::tests::projector_centers_correctly_in_crs84 ... ok [INFO] [stdout] test encode::tests::projector_centers_correctly_in_mercator ... ok [INFO] [stdout] test encode::tests::projector_flips_y_axis ... ok [INFO] [stdout] test encode::tests::projector_rejects_degenerate_bbox ... ok [INFO] [stdout] test encode::tests::projector_rejects_zero_extent ... ok [INFO] [stdout] test encode::tests::properties_hash_is_deterministic ... ok [INFO] [stdout] test encode::tests::encode_multipolygon ... ok [INFO] [stdout] test encode::tests::empty_multipolygon_is_skipped ... ok [INFO] [stdout] test encode::tests::property_allowlist_drops_unlisted_keys ... ok [INFO] [stdout] test encode::tests::encode_multipolygon_with_holes ... ok [INFO] [stdout] test encode::tests::ring_with_fewer_than_three_unique_vertices_is_skipped ... ok [INFO] [stdout] test encode::tests::encode_point_drops_all_null_list_tag ... ok [INFO] [stdout] test encode::tests::empty_polygon_is_skipped ... ok [INFO] [stdout] test encode::tests::scalar_tag_string_skips_null_and_nested_lists ... ok [INFO] [stdout] test encode::tests::encode_point_with_string_property ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ds_render-c824ade4e400fac2) [INFO] [stdout] test encode::tests::sutherland_hodgman_clips_crossing_polygon_to_buffer ... ok [INFO] [stdout] test encode::tests::signed_area_sign_matches_winding ... ok [INFO] [stdout] test encode::tests::sutherland_hodgman_keeps_fully_inside_polygon ... ok [INFO] [stdout] test encode::tests::winding_order_normalised_for_non_conformant_inputs ... ok [INFO] [stdout] test encode::tests::sutherland_hodgman_drops_fully_outside_polygon ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 77 tests [INFO] [stdout] test colormap::tests::test_integer_lut_empty_range ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_nodata ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_out_of_range_saturates ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_matches_linear_colormap ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_rejects_too_large_range ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_preserves_source_nodata_color ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_signed_offset ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_single_value_range ... ok [INFO] [stdout] test colormap::tests::test_lut_colormap_clamp ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_rounds_nearest_not_toward_zero ... ok [INFO] [stdout] test colormap::tests::test_lut_colormap_nodata ... ok [INFO] [stdout] test colormap::tests::test_all_colormaps_treat_nan_and_infinity_as_nodata ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_from_builtin_lut ... ok [INFO] [stdout] test colormap::tests::test_linear_colormap ... ok [INFO] [stdout] test encode::tests::bench_palette_scan ... ignored, ad-hoc timing, run manually with --release [INFO] [stdout] test colormap::tests::test_lut_colormap_boundaries ... ok [INFO] [stdout] test colormap::tests::test_parse_hex_color ... ok [INFO] [stdout] test encode::tests::encode_png_falls_back_to_rgba_above_256_colors ... ok [INFO] [stdout] test encode::tests::encode_png_writes_trns_only_when_palette_has_alpha ... ok [INFO] [stdout] test encode::tests::test_encode_jpeg_transparent_to_white ... ok [INFO] [stdout] test encode::tests::test_encode_jpeg_valid ... ok [INFO] [stdout] test encode::tests::test_encode_png_wrong_size ... ok [INFO] [stdout] test encode::tests::test_encode_png_valid ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_full_uint16_range ... ok [INFO] [stdout] test encode::tests::encode_png_stays_indexed_at_exactly_256_colors ... ok [INFO] [stdout] test colormap::tests::test_integer_lut_full_int16_range ... ok [INFO] [stdout] test encode::tests::encode_png_is_deterministic ... ok [INFO] [stdout] test encode::tests::test_encode_webp_valid ... ok [INFO] [stdout] test metatile::tests::extreme_resolution_declines_to_fallback ... ok [INFO] [stdout] test metatile::tests::huge_tile_count_falls_back ... ok [INFO] [stdout] test metatile::tests::mercator_roundtrip ... ok [INFO] [stdout] test metatile::tests::snap_never_upscales_and_is_bounded ... ok [INFO] [stdout] test encode::tests::test_encode_webp_lossless_roundtrip ... ok [INFO] [stdout] test metatile::tests::standard_zoom_resolutions_snap_exactly ... ok [INFO] [stdout] test plot::tests::empty_panels_is_error ... ok [INFO] [stdout] test plot::tests::font_draws_known_pixels ... ok [INFO] [stdout] test plot::tests::format_time_is_hh_mm ... ok [INFO] [stdout] test plot::tests::format_value_drops_trailing_zero ... ok [INFO] [stdout] test plot::tests::dimensions_are_clamped ... ok [INFO] [stdout] test plot::tests::heatmap_empty_is_error ... ok [INFO] [stdout] test plot::tests::all_null_series_still_renders ... ok [INFO] [stdout] test metatile::tests::all_nodata_returns_empty ... ok [INFO] [stdout] test encode::tests::encode_png_auto_palettes_when_under_256_colors ... ok [INFO] [stdout] test plot::tests::heatmap_mismatched_values_renders_no_data ... ok [INFO] [stdout] test plot::tests::heatmap_handles_non_uniform_z_levels ... ok [INFO] [stdout] test plot::tests::nice_ticks_are_round ... ok [INFO] [stdout] test plot::tests::over_white_blends_transparent_to_white ... ok [INFO] [stdout] test plot::tests::heatmap_render_is_deterministic ... ok [INFO] [stdout] test plot::tests::multi_panel_stacks ... ok [INFO] [stdout] test plot::tests::time_axis_ticks_are_evenly_spaced ... ok [INFO] [stdout] test tests::cache_key_etag_changes_when_parameter_changes ... ok [INFO] [stdout] test tests::cache_key_etag_changes_when_reference_time_changes ... ok [INFO] [stdout] test tests::cache_key_etag_changes_when_time_bumps ... ok [INFO] [stdout] test tests::cache_key_etag_uses_stable_fnv1a_not_default_hasher ... ok [INFO] [stdout] test tests::cached_rendered_etag_differs_for_distinct_bytes ... ok [INFO] [stdout] test tests::cached_rendered_etag_is_stable_for_same_bytes ... ok [INFO] [stdout] test tests::cached_rendered_etag_uses_stable_fnv1a_not_default_hasher ... ok [INFO] [stdout] test tests::test_empty_tile_skips_colorize ... ok [INFO] [stdout] test tests::test_etag_matches_exact ... ok [INFO] [stdout] test tests::test_etag_matches_multiple ... ok [INFO] [stdout] test tests::test_etag_matches_multiple_no_match ... ok [INFO] [stdout] test tests::test_etag_matches_no_match ... ok [INFO] [stdout] test tests::test_etag_matches_weak_in_list ... ok [INFO] [stdout] test tests::test_etag_matches_weak_prefix ... ok [INFO] [stdout] test tests::test_etag_matches_wildcard ... ok [INFO] [stdout] test tests::test_nodata_produces_transparent_pixel ... ok [INFO] [stdout] test tests::test_non_empty_tile_is_not_empty ... ok [INFO] [stdout] test tests::test_render_legend_png ... ok [INFO] [stdout] test tests::test_render_tile_jpeg ... ok [INFO] [stdout] test tests::test_render_tile_png_produces_valid_png ... ok [INFO] [stdout] test plot::tests::heatmap_renders_valid_png_of_requested_size ... ok [INFO] [stdout] test plot::tests::heatmap_too_small_for_panel_count_errors ... ok [INFO] [stdout] test plot::tests::renders_valid_png_of_requested_size ... ok [INFO] [stdout] test plot::tests::render_is_deterministic ... ok [INFO] [stdout] test metatile::tests::assembled_pixels_track_geography ... ok [INFO] [stdout] test metatile::tests::assembles_solid_region_and_caches_tiles ... ok [INFO] [stdout] test encode::tests::encode_png_auto_palette_is_at_least_three_times_smaller ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 76 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.62s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ds_storage-17935aad2c1bc548) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test discovery::tests::parse_past_and_future ... ok [INFO] [stdout] test discovery::tests::invalid_windows_rejected ... ok [INFO] [stdout] test discovery::tests::scan_dates_spans_window ... ok [INFO] [stdout] test discovery::tests::expand_static_prefix_is_single_entry ... ok [INFO] [stdout] test tests::has_scheme_is_case_insensitive_on_the_prefix_only ... ok [INFO] [stdout] test discovery::tests::expand_dated_prefix ... ok [INFO] [stdout] test tests::get_range_on_from_foreign_thread ... ok [INFO] [stdout] test tests::head_many_reports_presence_in_input_order ... ok [INFO] [stdout] test tests::get_many_returns_results_in_input_order_and_isolates_failures ... ok [INFO] [stdout] test tests::get_many_max_bytes_rejects_oversized_object ... ok [INFO] [stdout] test tests::local_store_list ... ok [INFO] [stdout] test tests::local_store_get_range ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_csv-479690c658458a89) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test engine::tests::get_features_bbox_filter ... ok [INFO] [stdout] test engine::tests::get_feature_not_found ... ok [INFO] [stdout] test engine::tests::get_feature_by_id ... ok [INFO] [stdout] test engine::tests::get_features_returns_all_locations ... ok [INFO] [stdout] test engine::tests::get_features_bbox_no_match ... ok [INFO] [stdout] test engine::tests::get_features_pagination ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 13.08s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_geojson-e4e3569a1375e944) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test loader::tests::bbox_query_filters_correctly ... ok [INFO] [stdout] test loader::tests::polygon_geometry_preserved ... ok [INFO] [stdout] test loader::tests::fallback_id_from_index ... ok [INFO] [stdout] test loader::tests::loads_mixed_geometry_types ... ok [INFO] [stdout] test loader::tests::bbox_query_no_match ... ok [INFO] [stdout] test loader::tests::pagination_works ... ok [INFO] [stdout] test loader::tests::rejects_non_feature_collection ... ok [INFO] [stdout] test loader::tests::properties_parsed_correctly ... ok [INFO] [stdout] test loader::tests::feature_ids_extracted ... ok [INFO] [stdout] test loader::tests::spatial_extent_computed ... ok [INFO] [stdout] test loader::tests::rejects_non_wgs84_coordinates ... ok [INFO] [stdout] test loader::tests::multipolygon_geometry_preserved ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_geotiff-3b3de460d797030b) [INFO] [stdout] [INFO] [stdout] running 76 tests [INFO] [stdout] test catalog::tests::file_entry_loaded_constructor ... ok [INFO] [stdout] test catalog::tests::file_entry_is_loaded ... ok [INFO] [stdout] test catalog::tests::exclude_patterns ... ok [INFO] [stdout] test catalog::tests::file_entry_stac_stub_constructor ... ok [INFO] [stdout] test cache::tests::zero_capacity_cache_stores_nothing ... ok [INFO] [stdout] test cache::tests::cache_separates_ifd_levels ... ok [INFO] [stdout] test cache::tests::cache_evicts_by_weight ... ok [INFO] [stdout] test cache::tests::cache_hit_and_miss ... ok [INFO] [stdout] test reader::tests::nodata_integer_exact_match ... ok [INFO] [stdout] test reader::tests::nodata_negative_integer ... ok [INFO] [stdout] test reader::tests::nodata_u16_max ... ok [INFO] [stdout] test reader::tests::nodata_zero ... ok [INFO] [stdout] test reader::tests::nodata_f32_promotion ... ok [INFO] [stdout] test reader::tests::select_overview_bounded_upscale_caps_at_2x ... ok [INFO] [stdout] test reader::tests::select_overview_cliff_fix_holds_for_projected_crs ... ok [INFO] [stdout] test reader::tests::select_overview_full_res_when_output_matches_base ... ok [INFO] [stdout] test reader::tests::select_overview_just_above_cliff_uses_overview_not_full_res ... ok [INFO] [stdout] test reader::tests::select_overview_largest_retina_still_avoids_full_res ... ok [INFO] [stdout] test reader::tests::select_overview_mid_zoom_unchanged_never_upscales ... ok [INFO] [stdout] test reader::tests::local_file_mmaps_once_and_reuses_across_calls ... ok [INFO] [stdout] test catalog::tests::scan_directory_reuses_data_source_across_polls ... ok [INFO] [stdout] test reader::tests::header_read_parses_same_metadata_as_full_file ... ok [INFO] [stdout] test catalog::tests::scan_directory_rebuilds_source_when_mtime_changes ... ok [INFO] [stdout] test catalog::tests::scan_directory_rebuilds_source_when_inode_changes_same_size_same_mtime ... ok [INFO] [stdout] test stac::tests::build_url_with_max_items ... ok [INFO] [stdout] test stac::tests::build_url_with_time_filter ... ok [INFO] [stdout] test reader::tests::tile_cache_avoids_refetch ... ok [INFO] [stdout] test stac::tests::invalid_allowlist_entry_rejected ... ok [INFO] [stdout] test stac::tests::is_url_allowed_checks_prefix ... ok [INFO] [stdout] test stac::tests::invalid_scheme_blocked ... ok [INFO] [stdout] test stac::tests::missing_datetime_skipped ... ok [INFO] [stdout] test stac::tests::pagination_cross_origin_blocked ... ok [INFO] [stdout] test stac::tests::non_http_allowlist_entry_rejected ... ok [INFO] [stdout] test stac::tests::parse_stac_item ... ok [INFO] [stdout] test stac::tests::pagination_next_link ... ok [INFO] [stdout] test stac::tests::missing_asset_key_skipped ... ok [INFO] [stdout] test stac::tests::parse_stac_item_with_bbox ... ok [INFO] [stdout] test reader::tests::range_read_pixel_matches_full_file_pixel ... ok [INFO] [stdout] test tests::crs_label_laea_only_claims_3035_for_etrs89 ... ok [INFO] [stdout] test tests::crs_label_lcc_and_stereographic_match_odim_vocabulary ... ok [INFO] [stdout] test tests::crs_label_rotated_has_no_epsg ... ok [INFO] [stdout] test tests::crs_label_tm_only_claims_3067_for_tm35fin ... ok [INFO] [stdout] test tests::crs_label_wgs84_is_crs84_not_epsg4326 ... ok [INFO] [stdout] test tests::expand_prefix_single_day ... ok [INFO] [stdout] test tests::expand_prefix_static ... ok [INFO] [stdout] test tests::expand_prefix_with_date ... ok [INFO] [stdout] test tests::expand_prefix_zero_days_defaults_to_one ... ok [INFO] [stdout] test tests::in_flight_claim_then_done_wakes_waiter ... ok [INFO] [stdout] test stac::tests::parse_stac_item_without_bbox ... ok [INFO] [stdout] test tests::in_flight_unclaimed_path_claims_immediately ... ok [INFO] [stdout] test tests::in_flight_loader_failure_hands_claim_to_waiter ... ok [INFO] [stdout] test stac::tests::redirect_policy_is_none ... ok [INFO] [stdout] test tests::template_no_codes_rejected ... ok [INFO] [stdout] test tests::raster_info_stub_reports_crs84_then_real_crs_after_load ... ok [INFO] [stdout] test tests::template_fmi_leading_timestamp ... ok [INFO] [stdout] test tests::template_radar_with_trailing_z ... ok [INFO] [stdout] test tests::template_opera_acrr ... ok [INFO] [stdout] test time_window::tests::invalid_format_rejected ... ok [INFO] [stdout] test time_window::tests::parse_combined ... ok [INFO] [stdout] test time_window::tests::parse_hours_and_minutes ... ok [INFO] [stdout] test time_window::tests::parse_future_6_hours ... ok [INFO] [stdout] test tests::template_with_dashes ... ok [INFO] [stdout] test time_window::tests::parse_past_2_days ... ok [INFO] [stdout] test time_window::tests::parse_past_2_hours ... ok [INFO] [stdout] test time_window::tests::range_past ... ok [INFO] [stdout] test time_window::tests::parse_past_30_minutes ... ok [INFO] [stdout] test time_window::tests::scan_dates_midday_only_today ... ok [INFO] [stdout] test time_window::tests::range_future ... ok [INFO] [stdout] test time_window::tests::scan_dates_early_morning_includes_yesterday ... ok [INFO] [stdout] test time_window::tests::zero_duration_rejected ... ok [INFO] [stdout] test time_window::tests::scan_dates_midnight_exact ... ok [INFO] [stdout] test stac::tests::ssrf_blocked ... ok [INFO] [stdout] test stac::tests::same_origin_check ... ok [INFO] [stdout] test stac::tests::url_hostname_confusion_blocked ... ok [INFO] [stdout] test reader::tests::parallel_read_bbox_matches_sequential ... ok [INFO] [stdout] test stac::tests::start_datetime_fallback ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 76 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.98s [INFO] [stdout] [INFO] [stderr] Running tests/render_projection.rs (/opt/rustwide/target/debug/deps/render_projection-b0cda0179155d894) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test bbox_outside_coverage_is_empty ... ok [INFO] [stdout] test raster_info_is_cached_and_populated_at_construction ... ok [INFO] [stdout] test renders_via_overview_for_small_output ... ok [INFO] [stdout] test partially_overlapping_bbox_is_partially_filled ... ok [INFO] [stdout] test renders_projected_geotiff_to_wgs84 ... ok [INFO] [stdout] test web_mercator_and_wgs84_render_consistently ... ok [INFO] [stderr] Running tests/stac_integration.rs (/opt/rustwide/target/debug/deps/stac_integration-7c04037e2075de80) [INFO] [stdout] test renders_projected_geotiff_to_epsg3067 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test met_norway_asset_urls_accessible ... ignored [INFO] [stdout] test met_norway_stac_fetch_items ... ignored [INFO] [stdout] test stac_url_with_empty_allowlist_is_error ... ok [INFO] [stdout] test stac_url_with_endpoint_is_error ... ok [INFO] [stdout] test stac_url_with_data_path_is_error ... ok [INFO] [stdout] test stac_client_invalid_url_format ... ok [INFO] [stdout] test stac_url_without_allowlist_is_error ... ok [INFO] [stdout] test stac_client_invalid_url_scheme ... ok [INFO] [stdout] test valid_stac_config_no_filename_template ... ok [INFO] [stdout] test stac_client_fetch_from_nonexistent_endpoint ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.93s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_grib-e67045d9ab91ced5) [INFO] [stdout] [INFO] [stdout] running 101 tests [INFO] [stdout] test catalog::tests::is_near_surface_cases ... ok [INFO] [stdout] test catalog::tests::catalog_eviction ... ok [INFO] [stdout] test cache::tests::resample_projected_out_of_domain_is_all_none ... ok [INFO] [stdout] test cache::tests::bilinear_value_rejects_nan_lonlat ... ok [INFO] [stdout] test cache::tests::resample_projected_in_domain_has_data_via_build_2d ... ok [INFO] [stdout] test index::tests::index_format_from_config ... ok [INFO] [stdout] test cache::tests::build_2d_projected_handles_lon_first_seam ... ok [INFO] [stdout] test catalog::tests::parse_ref_time ... ok [INFO] [stdout] test index::tests::parse_empty_index ... ok [INFO] [stdout] test tests::test_build_scan_prefixes_no_run_placeholder ... ok [INFO] [stdout] test tests::test_build_scan_prefixes_skips_future_runs ... ok [INFO] [stdout] test reader::tests::decode_ecmwf_sample ... ok [INFO] [stdout] test tests::test_build_scan_prefixes_with_run ... ok [INFO] [stdout] test index::tests::parse_ecmwf_json_index ... ok [INFO] [stdout] test tests::settle_prunes_out_of_window_prefixes ... ok [INFO] [stdout] test tests::settle_evolves_when_new_run_appears ... ok [INFO] [stdout] test tests::test_parse_coords_point ... ok [INFO] [stdout] test tests::settle_keeps_newest_unsettled ... ok [INFO] [stdout] test time_window::tests::parse_combined ... ok [INFO] [stdout] test time_window::tests::invalid_format_rejected ... ok [INFO] [stdout] test time_window::tests::parse_hours_and_minutes ... ok [INFO] [stdout] test tests::test_parse_coords_csv ... ok [INFO] [stdout] test time_window::tests::parse_past_2_days ... ok [INFO] [stdout] test time_window::tests::parse_future_6_hours ... ok [INFO] [stdout] test time_window::tests::parse_past_2_hours ... ok [INFO] [stdout] test time_window::tests::parse_past_30_minutes ... ok [INFO] [stdout] test time_window::tests::range_future ... ok [INFO] [stdout] test time_window::tests::range_past ... ok [INFO] [stdout] test time_window::tests::scan_dates_midday_only_today ... ok [INFO] [stdout] test time_window::tests::scan_dates_early_morning_includes_yesterday ... ok [INFO] [stdout] test time_window::tests::scan_dates_midnight_exact ... ok [INFO] [stdout] test time_window::tests::zero_duration_rejected ... ok [INFO] [stdout] test units::tests::compose_label_appends_qualifier ... ok [INFO] [stdout] test units::tests::compose_label_no_qualifier ... ok [INFO] [stdout] test units::tests::display_kg_per_m2_is_mm_identity ... ok [INFO] [stdout] test tests::test_parse_bbox ... ok [INFO] [stdout] test units::tests::display_geopotential_to_gpm ... ok [INFO] [stdout] test units::tests::compose_label_skips_when_qualifier_already_in_base ... ok [INFO] [stdout] test units::tests::display_m_s_is_identity ... ok [INFO] [stdout] test units::tests::display_kelvin_to_celsius ... ok [INFO] [stdout] test units::tests::ecmwf_pressure_disambiguation ... ok [INFO] [stdout] test units::tests::display_proportion_to_percent ... ok [INFO] [stdout] test units::tests::display_pascal_to_hpa ... ok [INFO] [stdout] test units::tests::ecmwf_cloud_cover_value_is_scaled_to_percent ... ok [INFO] [stdout] test units::tests::local_overlay_falls_through_to_standard ... ok [INFO] [stdout] test units::tests::lookup_ecmwf_tcc_is_proportion ... ok [INFO] [stdout] test units::tests::gfs_cloud_cover_value_is_not_double_scaled ... ok [INFO] [stdout] test units::tests::lookup_pressure_reduced_msl_center_agnostic ... ok [INFO] [stdout] test units::tests::lookup_geopotential ... ok [INFO] [stdout] test units::tests::lookup_geopotential_height ... ok [INFO] [stdout] test units::tests::lookup_total_precipitation ... ok [INFO] [stdout] test units::tests::lookup_u_component_of_wind ... ok [INFO] [stdout] test units::tests::lookup_unknown_returns_none ... ok [INFO] [stdout] test units::tests::parse_known_units ... ok [INFO] [stdout] test units::tests::parse_unknown_unit_is_raw ... ok [INFO] [stdout] test units::tests::lookup_gfs_tcdc_is_percent ... ok [INFO] [stdout] test units::tests::qualifier_hag_2m_integer_formatted ... ok [INFO] [stdout] test units::tests::lookup_temperature ... ok [INFO] [stdout] test units::tests::qualifier_missing_surface_type_is_none ... ok [INFO] [stdout] test units::tests::qualifier_hag_10m ... ok [INFO] [stdout] test units::tests::qualifier_msl ... ok [INFO] [stdout] test units::tests::qualifier_pressure_level_converts_pa_to_hpa ... ok [INFO] [stdout] test units::tests::qualifier_surface ... ok [INFO] [stdout] test units::tests::qualifier_soil_depth_fractional ... ok [INFO] [stdout] test wgrib2_index::tests::comments_and_blank_lines_interleaved ... ok [INFO] [stdout] test wgrib2_index::tests::comments_only_file_returns_none ... ok [INFO] [stdout] test wgrib2_index::tests::aggregate_records_are_dropped ... ok [INFO] [stdout] test wgrib2_index::tests::empty_file_returns_none ... ok [INFO] [stdout] test wgrib2_index::tests::duplicate_offsets_are_deduped ... ok [INFO] [stdout] test units::tests::qualifier_unknown_surface_type_is_disambiguated ... ok [INFO] [stdout] test wgrib2_index::tests::length_over_1gib_rejected ... ok [INFO] [stdout] test wgrib2_index::tests::level_below_ground ... ok [INFO] [stdout] test wgrib2_index::tests::level_height_above_ground ... ok [INFO] [stdout] test wgrib2_index::tests::level_isentropic ... ok [INFO] [stdout] test wgrib2_index::tests::level_model_levels ... ok [INFO] [stdout] test wgrib2_index::tests::level_pressure_levels ... ok [INFO] [stdout] test wgrib2_index::tests::level_surface_aliases ... ok [INFO] [stdout] test wgrib2_index::tests::level_unknown ... ok [INFO] [stdout] test wgrib2_index::tests::inconsistent_reference_times_rejected ... ok [INFO] [stdout] test wgrib2_index::tests::malformed_line_skipped_others_survive ... ok [INFO] [stdout] test wgrib2_index::tests::max_aggregate_kept ... ok [INFO] [stdout] test wgrib2_index::tests::parses_three_record_happy_path ... ok [INFO] [stdout] test wgrib2_index::tests::ref_time_parses_hour_00 ... ok [INFO] [stdout] test wgrib2_index::tests::noncontiguous_record_numbers_ok ... ok [INFO] [stdout] test wgrib2_index::tests::parses_gfs_shaped_fixture ... ok [INFO] [stdout] test wgrib2_index::tests::ref_time_parses_hour_12 ... ok [INFO] [stdout] test wgrib2_index::tests::step_anl ... ok [INFO] [stdout] test wgrib2_index::tests::step_ave_dropped ... ok [INFO] [stdout] test wgrib2_index::tests::single_record_file_ok ... ok [INFO] [stdout] test wgrib2_index::tests::ref_time_rejects_short ... ok [INFO] [stdout] test wgrib2_index::tests::ref_time_rejects_missing_prefix ... ok [INFO] [stdout] test wgrib2_index::tests::step_acc_dropped ... ok [INFO] [stdout] test wgrib2_index::tests::step_hour_fcst ... ok [INFO] [stdout] test wgrib2_index::tests::ref_time_rejects_non_digits ... ok [INFO] [stdout] test wgrib2_index::tests::step_max_window ... ok [INFO] [stdout] test wgrib2_index::tests::step_min_fcst ... ok [INFO] [stdout] test wgrib2_index::tests::step_min_window ... ok [INFO] [stdout] test wgrib2_index::tests::step_unknown_dropped ... ok [INFO] [stdout] test wgrib2_index::tests::unknown_level_descriptor_skipped ... ok [INFO] [stdout] test wgrib2_index::tests::unordered_offsets_are_sorted ... ok [INFO] [stdout] test wgrib2_index::tests::whitespace_only_file_returns_none ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/local_source.rs (/opt/rustwide/target/debug/deps/local_source-277a0c5bc1e9ac1d) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test grib_engine_serves_local_directory ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/unit_regression.rs (/opt/rustwide/target/debug/deps/unit_regression-eafed57e80db5952) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test geopotential_asymmetry_regression ... ok [INFO] [stdout] test ecmwf_specific_humidity_sample_triple_and_unit ... ok [INFO] [stdout] test ecmwf_unit_conversion_snapshot ... ok [INFO] [stdout] test cloud_cover_asymmetry_regression ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/wgrib2_fixture.rs (/opt/rustwide/target/debug/deps/wgrib2_fixture-359d520f706b8d3e) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test parses_real_gfs_fixture ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_odim-dfdad4a941aace6f) [INFO] [stdout] [INFO] [stdout] running 136 tests [INFO] [stdout] test catalog::tests::explicit_pattern_without_timestamp_capture_is_an_error ... ok [INFO] [stdout] test catalog::tests::dmi_underscore_separator_template ... ok [INFO] [stdout] test catalog::tests::explicit_pattern_with_named_capture_group ... ok [INFO] [stdout] test catalog::tests::split_timestamp_template_is_an_error ... ok [INFO] [stdout] test catalog::tests::template_without_strftime_codes_is_an_error ... ok [INFO] [stdout] test catalog::tests::fmi_polar_composite_template_matches_canonical_filename ... ok [INFO] [stdout] test catalog::tests::unknown_strftime_code_is_an_error ... ok [INFO] [stdout] test catalog::tests::scan_local_directory_sorts_by_timestamp_ascending ... ok [INFO] [stdout] test catalog::tests::scan_local_directory_respects_max_files_cap ... ok [INFO] [stdout] test catalog::tests::opera_at_separator_template ... ok [INFO] [stdout] test edr::tests::parse_point_coords_accepts_bare_pair ... ok [INFO] [stdout] test edr::tests::parse_point_coords_rejects_malformed ... ok [INFO] [stdout] test edr::tests::parse_point_coords_accepts_wkt ... ok [INFO] [stdout] test edr::tests::parse_point_coords_rejects_out_of_range ... ok [INFO] [stdout] test edr::tests::parse_point_coords_rejects_non_finite ... ok [INFO] [stdout] test catalog::tests::trailing_z_is_part_of_the_timestamp ... ok [INFO] [stdout] test engine::tests::build_source_routes_plain_data_path_to_local ... ok [INFO] [stdout] test catalog::tests::unrelated_filenames_return_none ... ok [INFO] [stdout] test catalog::tests::scan_remote_dedups_duplicate_timestamps_keeping_last_key ... ok [INFO] [stdout] test engine::tests::combine_http_prefix_joins_base_and_pattern ... ok [INFO] [stdout] test engine::tests::crs_label_covers_every_variant ... ok [INFO] [stdout] test engine::tests::shutdown_before_poll_loop_takes_effect ... ok [INFO] [stdout] test pixel_cache::tests::mark_bad_counts_once_under_repeated_calls ... ok [INFO] [stdout] test pixel_cache::tests::miss_counted_only_by_record_miss_not_by_get ... ok [INFO] [stdout] test pixel_cache::tests::negative_cache_dedups_failures ... ok [INFO] [stdout] test pixel_cache::tests::negative_cache_stays_active_when_positive_disabled ... ok [INFO] [stdout] test catalog::tests::scan_remote_merges_prefixes ... ok [INFO] [stdout] test proj::tests::bare_flags_are_ignored ... ok [INFO] [stdout] test proj::tests::all_longlat_aliases_map_to_wgs84 ... ok [INFO] [stdout] test proj::tests::dmi_oblique_stereographic_lat_ts_equals_lat_0_gives_k0_one ... ok [INFO] [stdout] test proj::tests::fmi_polar_stereographic_with_lat_ts_converts_to_k0 ... ok [INFO] [stdout] test proj::tests::laea_epsg3035_etrs89 ... ok [INFO] [stdout] test proj::tests::longlat_maps_to_wgs84 ... ok [INFO] [stdout] test catalog::tests::scan_remote_matches_filters_and_caps ... ok [INFO] [stdout] test proj::tests::missing_proj_token_is_an_error ... ok [INFO] [stdout] test proj::tests::non_numeric_parameter_is_an_error ... ok [INFO] [stdout] test proj::tests::oblique_stereographic_with_explicit_k0 ... ok [INFO] [stdout] test proj::tests::sphere_projection_error_renders_percent_format_spec ... ok [INFO] [stdout] test proj::tests::sphere_radius_distinct_from_wgs84_is_rejected ... ok [INFO] [stdout] test proj::tests::sphere_radius_matching_wgs84_a_is_accepted ... ok [INFO] [stdout] test proj::tests::sphere_radius_rejected_for_tmerc_and_laea ... ok [INFO] [stdout] test proj::tests::stere_accepts_legacy_k_shorthand ... ok [INFO] [stdout] test proj::tests::stere_defaults_match_proj_defaults ... ok [INFO] [stdout] test proj::tests::unsupported_proj_lists_the_value ... ok [INFO] [stdout] test proj::tests::tmerc_epsg3067_tm35fin ... ok [INFO] [stdout] test pvol::tests::parse_source_empty_is_all_none ... ok [INFO] [stdout] test pvol::tests::parse_source_extracts_nod_plc_wmo ... ok [INFO] [stdout] test pvol::tests::parse_source_missing_tokens_are_none ... ok [INFO] [stdout] test pvol::tests::parse_source_trims_padding_and_whitespace ... ok [INFO] [stdout] test pvol::tests::parse_source_skips_malformed_tokens ... ok [INFO] [stdout] test pvol::tests::reads_fmi_anjalankoski_pvol_fixture ... ok [INFO] [stdout] test quantities::tests::dimensionless_quantity_has_empty_unit ... ok [INFO] [stdout] test quantities::tests::known_quantities_get_name_and_unit ... ok [INFO] [stdout] test quantities::tests::unknown_quantity_falls_back_to_bare_code ... ok [INFO] [stdout] test reader::tests::malformed_date_is_an_error ... ok [INFO] [stdout] test reader::tests::parses_canonical_odim_timestamp ... ok [INFO] [stdout] test reader::tests::raw_pixels_sample_applies_gain_offset_and_masks_nodata ... ok [INFO] [stdout] test reader::tests::raw_pixels_sample_class_distinguishes_undetect_from_nodata ... ok [INFO] [stdout] test reader::tests::raw_pixels_sample_handles_f64_with_undetect ... ok [INFO] [stdout] test reader::tests::raw_pixels_sample_handles_u16 ... ok [INFO] [stdout] test reader::tests::wgs84_envelope_captures_laea_trapezoid ... ok [INFO] [stdout] test reader::tests::timestamp_parsing_trims_whitespace ... ok [INFO] [stdout] test reader::tests::wgs84_envelope_is_identity_for_wgs84_grid ... ok [INFO] [stdout] test volume_engine::tests::angle_window_selects_and_clamps ... ok [INFO] [stdout] test volume_engine::tests::bearing_due_east_ten_km ... ok [INFO] [stdout] test volume_engine::tests::bilinear_cell_all_masked_is_none ... ok [INFO] [stdout] test volume_engine::tests::bearing_due_north_is_zero ... ok [INFO] [stdout] test volume_engine::tests::bilinear_cell_blends_adjacent_rays ... ok [INFO] [stdout] test volume_engine::tests::bilinear_cell_renormalises_over_masked_neighbours ... ok [INFO] [stdout] test volume_engine::tests::bilinear_cell_drops_range_edge_neighbour ... ok [INFO] [stdout] test volume_engine::tests::bilinear_cell_wraps_azimuth_seam ... ok [INFO] [stdout] test volume_engine::tests::build_source_endpoint_xor_bucket_errors ... ok [INFO] [stdout] test volume_engine::tests::build_source_no_path_no_s3_is_no_source ... ok [INFO] [stdout] test volume_engine::tests::build_source_selects_local_when_no_s3_fields ... ok [INFO] [stdout] test volume_engine::tests::bbox_filters_by_antenna_position ... ok [INFO] [stdout] test volume_engine::tests::build_source_s3_without_prefix_pattern_errors ... ok [INFO] [stdout] test volume_engine::tests::datetime_filters_by_data_in_window ... ok [INFO] [stdout] test volume_engine::tests::data_version_is_deterministic_and_inventory_sensitive ... ok [INFO] [stdout] test volume_engine::tests::derive_catalog_excludes_sweepless_site_from_meta ... ok [INFO] [stdout] test volume_engine::tests::derive_site_meta_excludes_moment_less_site ... ok [INFO] [stdout] test volume_engine::tests::destination_point_roundtrips_via_distance_bearing ... ok [INFO] [stdout] test volume_engine::tests::distance_zero_at_site ... ok [INFO] [stdout] test volume_engine::tests::destination_point_normalises_longitude_across_antimeridian ... ok [INFO] [stdout] test engine::tests::build_source_http_appends_prefix_pattern ... ok [INFO] [stdout] test engine::tests::build_source_http_scheme_is_case_insensitive ... ok [INFO] [stdout] test volume_engine::tests::feature_version_reflects_metadata_corrections ... ok [INFO] [stdout] test volume_engine::tests::four_thirds_earth_absolute_reference ... ok [INFO] [stdout] test volume_engine::tests::four_thirds_earth_roundtrips ... ok [INFO] [stdout] test volume_engine::tests::get_feature_hit_and_miss ... ok [INFO] [stdout] test volume_engine::tests::height_axis_tracks_top_angle_and_caps ... ok [INFO] [stdout] test volume_engine::tests::is_url_safe_nod_accepts_codes_rejects_routing_breakers ... ok [INFO] [stdout] test volume_engine::tests::enumerate_remote_bootstrap_keeps_newest_volume_per_site ... ok [INFO] [stdout] test volume_engine::tests::moment_failure_marks_known_bad_and_returns_none ... ok [INFO] [stdout] test volume_engine::tests::limit_zero_returns_empty_page_not_all ... ok [INFO] [stdout] test volume_engine::tests::parse_key_timestamp_handles_fmi_and_dmi_layouts ... ok [INFO] [stdout] test volume_engine::tests::pixel_cache_id_local_is_bare_path ... ok [INFO] [stdout] test volume_engine::tests::pixel_cache_id_qualifies_remote_by_bucket ... ok [INFO] [stdout] test volume_engine::tests::polar_sample_beyond_range_is_none ... ok [INFO] [stdout] test volume_engine::tests::feature_count_and_spatial_extent_cover_all_sites ... ok [INFO] [stdout] test volume_engine::tests::pagination_limit_offset_and_next ... ok [INFO] [stdout] test volume_engine::tests::features_list_sites_sorted_with_properties ... ok [INFO] [stdout] test volume_engine::tests::polar_sample_blends_across_rays_end_to_end ... ok [INFO] [stdout] test volume_engine::tests::resample_path_degenerate_returns_single_node ... ok [INFO] [stdout] test volume_engine::tests::polar_sample_maps_distance_to_bin ... ok [INFO] [stdout] test volume_engine::tests::round_elevation_normalises_negative_zero ... ok [INFO] [stdout] test engine::tests::build_source_routes_http_data_path_to_remote ... ok [INFO] [stdout] test volume_engine::tests::polar_sample_unknown_quantity_errors ... ok [INFO] [stdout] test volume_engine::tests::sample_polar_slant_rejects_malformed_rscale ... ok [INFO] [stdout] test volume_engine::tests::sample_polar_slant_rejects_out_of_envelope_elevation ... ok [INFO] [stdout] test volume_engine::tests::site_coverage_bbox_brackets_centre ... ok [INFO] [stdout] test engine::tests::build_source_template_mode_builds_template_http ... ok [INFO] [stdout] test volume_engine::tests::resolve_quantities_unions_across_volumes ... ok [INFO] [stdout] test volume_engine::tests::site_coverages_empty_window_errors ... ok [INFO] [stdout] test volume_engine::tests::site_coverages_level_yields_point_series ... ok [INFO] [stdout] test volume_engine::tests::sample_sweep_moment_bilinear_vs_nearest ... ok [INFO] [stdout] test volume_engine::tests::site_coverages_no_z_yields_vertical_profile ... ok [INFO] [stdout] test volume_engine::tests::site_coverages_unknown_parameter_errors ... ok [INFO] [stdout] test volume_engine::tests::site_view_advertises_and_renders_higher_sweep_only_quantity ... ok [INFO] [stdout] test volume_engine::tests::site_view_area_always_returns_collection ... ok [INFO] [stdout] test volume_engine::tests::site_view_coverage_radius_uses_max_sweep_range ... ok [INFO] [stdout] test volume_engine::tests::site_view_empty_coverage_is_location_not_found ... ok [INFO] [stdout] test volume_engine::tests::site_view_advertises_bare_quantities_and_single_location ... ok [INFO] [stdout] test volume_engine::tests::site_view_query_location_moment_less_site_is_404 ... ok [INFO] [stdout] test volume_engine::tests::sample_sweep_moment_bilinear_rejects_malformed_rscale ... ok [INFO] [stdout] test volume_engine::tests::site_view_query_position_malformed_rscale_is_404 ... ok [INFO] [stdout] test volume_engine::tests::site_view_query_position_outside_coverage_is_404 ... ok [INFO] [stdout] test volume_engine::tests::site_view_get_raster_tile_uses_bare_quantity ... ok [INFO] [stdout] test volume_engine::tests::site_view_z_level_all_null_is_404 ... ok [INFO] [stdout] test volume_engine::tests::volume_profile_dedups_split_cut_elevation_angles ... ok [INFO] [stdout] test volume_engine::tests::volume_profile_all_nan_returns_none ... ok [INFO] [stdout] test volume_engine::tests::volume_profile_drops_nan_elevation ... ok [INFO] [stdout] test volume_engine::tests::volume_section_clamps_window_to_per_volume_sweeps ... ok [INFO] [stdout] test volume_engine::tests::sample_sweep_moment_rejects_malformed_rscale ... ok [INFO] [stdout] test volume_engine::tests::voxel_grid_fills_clear_air_floor_and_leaves_unmeasured_nan ... ok [INFO] [stdout] test volume_engine::tests::build_source_selects_remote_with_full_s3_config ... ok [INFO] [stdout] test engine::tests::build_source_template_mode_validation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 136 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.03s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-df75ffb7981f7430) [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test comp_template_discovery_carries_forward_known_without_reprobe ... ok [INFO] [stdout] test comp_template_discovery_probes_present_slots_only ... ok [INFO] [stdout] test edr_metadata_is_consistent ... ok [INFO] [stdout] test edr_query_position_off_grid_is_none ... ok [INFO] [stdout] test edr_query_position_returns_point_series ... ok [INFO] [stdout] test edr_query_position_rejects_unknown_parameter ... ok [INFO] [stdout] test pvol_bare_render_defaults_to_primary_quantity ... ok [INFO] [stdout] test pvol_cells_raster_layer ... ok [INFO] [stdout] test pvol_edr_get_locations_lists_sites ... ok [INFO] [stdout] test pvol_edr_position_outside_coverage_is_404 ... ok [INFO] [stdout] test pvol_edr_query_area_collects_sites ... ok [INFO] [stdout] test pvol_edr_query_location_by_nod ... ok [INFO] [stdout] test pvol_edr_query_position_returns_vertical_profiles ... ok [INFO] [stdout] test pvol_edr_query_position_with_z_returns_point_series ... ok [INFO] [stdout] test pvol_edr_query_trajectory_out_of_coverage_yields_empty_cells ... ok [INFO] [stdout] test pvol_edr_query_trajectory_rejects_malformed_linestring ... ok [INFO] [stdout] test pvol_edr_query_trajectory_returns_section ... ok [INFO] [stdout] test pvol_engine_exposes_sites_as_features ... ok [INFO] [stdout] test pvol_engine_remote_scan_discovers_fmi_volume ... ok [INFO] [stdout] test pvol_engine_renders_fmi_vihti_volume ... ok [INFO] [stdout] test pvol_smhi_signed_i16_moment_decodes ... ok [INFO] [stdout] test pvol_volume_engine_emits_point_cloud ... ok [INFO] [stdout] test pvol_volume_engine_read_cells ... ok [INFO] [stdout] test pvol_volume_engine_voxel_grid ... ok [INFO] [stdout] test comp_engine_remote_scan_discovers_and_renders_dmi_fixture ... ok [INFO] [stdout] test edr_query_area_masks_outside_polygon ... ok [INFO] [stdout] test edr_query_area_returns_grid ... ok [INFO] [stdout] test get_raster_tile_full_extent_does_not_panic ... ok [INFO] [stdout] test raster_info_reports_dmi_extents ... ok [INFO] [stdout] test get_raster_tile_over_denmark_renders ... ok [INFO] [stdout] test get_raster_tile_in_web_mercator_renders ... ok [INFO] [stdout] test edr_query_area_rejects_too_many_timesteps ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.93s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_postgis-2732ba2ac0e484b2) [INFO] [stdout] [INFO] [stdout] running 81 tests [INFO] [stdout] test engine::tests::normalize_area_wkt_passes_polygon_through ... ok [INFO] [stdout] test engine::tests::normalize_area_wkt_converts_bbox_to_closed_polygon ... ok [INFO] [stdout] test engine::tests::parse_coords_comma ... ok [INFO] [stdout] test engine::tests::normalize_area_wkt_rejects_garbage ... ok [INFO] [stdout] test engine::tests::parse_coords_wkt_point ... ok [INFO] [stdout] test engine::tests::resolve_source_keys_expands_none_to_all ... ok [INFO] [stdout] test feature::tests::bbox_contains_filters_correctly ... ok [INFO] [stdout] test feature::tests::station_to_feature_wraps_geometry ... ok [INFO] [stdout] test metadata::tests::build_station_idx_empty_returns_empty_map ... ok [INFO] [stdout] test config::tests::resolve_reads_dsn_from_env ... ok [INFO] [stdout] test config::tests::resolve_inline_dsn_requires_opt_in ... ok [INFO] [stdout] test config::tests::resolve_long_shape_accepts_any_parameter_source_key ... ok [INFO] [stdout] test metadata::tests::cache_starts_empty_and_store_replaces ... ok [INFO] [stdout] test config::tests::resolve_rejects_parameter_missing_from_wide_columns ... ok [INFO] [stdout] test config::tests::resolve_caps_pool_size_at_32 ... ok [INFO] [stdout] test metadata::tests::spatial_extent_empty_is_none ... ok [INFO] [stdout] test metadata::tests::spatial_extent_covers_all_stations ... ok [INFO] [stdout] test metadata::tests::spatial_extent_single_station_is_zero_box ... ok [INFO] [stdout] test pool::tests::clamp_rejects_above_cap ... ok [INFO] [stdout] test pool::tests::clamp_accepts_edges ... ok [INFO] [stdout] test pool::tests::clamp_rejects_zero ... ok [INFO] [stdout] test metadata::tests::parameter_descriptions_fill_label_default ... ok [INFO] [stdout] test engine::tests::parse_coords_garbage_rejected ... ok [INFO] [stdout] test metadata::tests::build_station_idx_maps_id_to_vec_index ... ok [INFO] [stdout] test pool::tests::default_size_in_range ... ok [INFO] [stdout] test pool::tests::get_or_create_rejects_oversized ... ok [INFO] [stdout] test pool::tests::normalize_default_port ... ok [INFO] [stdout] test pool::tests::normalize_minimal_dsn ... ok [INFO] [stdout] test pool::tests::pool_key_equality_ignores_password_identity ... ok [INFO] [stdout] test pool::tests::normalize_sslmode_override ... ok [INFO] [stdout] test query::tests::empty_source_keys_expands_to_all_configured_parameters ... ok [INFO] [stdout] test query::tests::location_long_with_time_range_has_three_binds ... ok [INFO] [stdout] test pool::tests::normalize_sslmode_default_is_prefer ... ok [INFO] [stdout] test pool::tests::separate_users_get_separate_pools ... ok [INFO] [stdout] test pool::tests::get_or_create_reuses_pool_for_same_key ... ok [INFO] [stdout] test pool::tests::separate_dbs_get_separate_pools ... ok [INFO] [stdout] test pool::tests::get_or_create_rejects_password_mismatch ... ok [INFO] [stdout] test pool::tests::get_or_create_reuses_on_size_mismatch ... ok [INFO] [stdout] test config::tests::resolve_missing_env_var_errors ... ok [INFO] [stdout] test query::tests::location_long_without_time_range_drops_time_binds ... ok [INFO] [stdout] test query::tests::location_per_parameter_emits_time_tz_conversion_when_set ... ok [INFO] [stdout] test query::tests::location_long_without_tz_emits_bare_column ... ok [INFO] [stdout] test query::tests::location_per_parameter_fans_out_one_query_per_param ... ok [INFO] [stdout] test query::tests::location_wide_projects_only_requested_columns ... ok [INFO] [stdout] test query::tests::locations_sql_inlines_where_when_set ... ok [INFO] [stdout] test query::tests::position_binds_lon_lat_radius_and_limits_to_one ... ok [INFO] [stdout] test query::tests::location_wide_unknown_parameter_errors ... ok [INFO] [stdout] test query::tests::position_rejects_non_positive_radius ... ok [INFO] [stdout] test schema::tests::check_identifier_accepts_regular_names ... ok [INFO] [stdout] test schema::tests::check_identifier_rejects_embedded_nul ... ok [INFO] [stdout] test query::tests::per_parameter_unknown_parameter_errors ... ok [INFO] [stdout] test schema::tests::check_identifier_rejects_sql_injection_payload ... ok [INFO] [stdout] test schema::tests::check_identifier_rejects_embedded_quote ... ok [INFO] [stdout] test schema::tests::check_identifier_rejects_empty ... ok [INFO] [stdout] test query::tests::stations_in_polygon_binds_wkt_once_and_caps_501 ... ok [INFO] [stdout] test query::tests::stations_in_polygon_rejects_empty_wkt ... ok [INFO] [stdout] test schema::tests::check_identifier_rejects_oversize ... ok [INFO] [stdout] test query::tests::locations_sql_quotes_identifiers_and_caps_rows ... ok [INFO] [stdout] test schema::tests::observation_schema_from_config_long ... ok [INFO] [stdout] test schema::tests::qualified_table_rejects_three_parts ... ok [INFO] [stdout] test schema::tests::observation_schema_per_parameter_inherits_defaults ... ok [INFO] [stdout] test schema::tests::per_parameter_without_defaults_errors_on_missing_columns ... ok [INFO] [stdout] test schema::tests::qualified_table_parses_schema_and_bare ... ok [INFO] [stdout] test schema::tests::qualified_table_rejects_bad_parts ... ok [INFO] [stdout] test security::tests::quote_embedded_double_quote ... ok [INFO] [stdout] test security::tests::quote_accepts_max_length ... ok [INFO] [stdout] test security::tests::quote_injection_attempt ... ok [INFO] [stdout] test security::tests::quote_rejects_empty ... ok [INFO] [stdout] test security::tests::quote_rejects_nul_byte ... ok [INFO] [stdout] test security::tests::quote_rejects_too_long ... ok [INFO] [stdout] test security::tests::quote_simple ... ok [INFO] [stdout] test security::tests::redact_empty_password ... ok [INFO] [stdout] test security::tests::redact_malformed_url_unchanged ... ok [INFO] [stdout] test schema::tests::observation_schema_unknown_shape_rejected ... ok [INFO] [stdout] test security::tests::redact_missing_password_is_idempotent ... ok [INFO] [stdout] test security::tests::redact_no_userinfo_is_idempotent ... ok [INFO] [stdout] test schema::tests::observation_schema_wide_carries_column_map ... ok [INFO] [stdout] test security::tests::redact_strips_password ... ok [INFO] [stdout] test security::tests::redact_url_encoded_password ... ok [INFO] [stdout] test security::tests::redact_preserves_path_and_query ... ok [INFO] [stdout] test security::tests::redact_postgresql_scheme ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_querydata-5f0964f3998110fe) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test engine::tests::list_sqd_files_in_dir ... ok [INFO] [stdout] test engine::tests::engine_spatial_extent_lcc ... ok [INFO] [stdout] test engine::tests::engine_temporal_extent ... ok [INFO] [stdout] test engine::tests::engine_position_query ... ok [INFO] [stdout] test engine::tests::engine_position_query_filtered_params ... ok [INFO] [stdout] test engine::tests::instances_expose_runs_latest_default ... ok [INFO] [stdout] test engine::tests::engine_from_directory ... ok [INFO] [stdout] test engine::tests::engine_spatial_extent ... ok [INFO] [stdout] test parse::tests::param_lookup ... ok [INFO] [stdout] test parse::tests::parse_ecmwf_kenya ... ok [INFO] [stdout] test parse::tests::grid_lonlat_corners ... ok [INFO] [stdout] test engine::tests::map_engine_raster_tile ... ok [INFO] [stdout] test engine::tests::map_engine_raster_tile_projected_via_build_2d ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine_zarr-330f55d5398b1977) [INFO] [stdout] test engine::tests::map_engine_raster_info ... ok [INFO] [stdout] test parse::tests::parse_meps_lcc ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test cf::tests::bad_chunking_fires_on_full_spatial_chunk ... ok [INFO] [stdout] test cf::tests::classify_forecast_axes ... ok [INFO] [stdout] test catalog::tests::convert_sample_scales_and_maps_nodata ... ok [INFO] [stdout] test cf::tests::is_monotonic_detects_both_directions ... ok [INFO] [stdout] test cf::tests::locate_ascending_and_descending ... ok [INFO] [stdout] test cf::tests::locate_single_element_snaps_any_target ... ok [INFO] [stdout] test cf::tests::locate_inclusive_endpoints ... ok [INFO] [stdout] test cf::tests::duration_units ... ok [INFO] [stdout] test cf::tests::classify_by_attributes_then_name ... ok [INFO] [stdout] test cf::tests::time_units_variants ... ok [INFO] [stdout] test cf::tests::decode_times_hours ... ok [INFO] [stdout] test cf::tests::time_units_hours_since ... ok [INFO] [stdout] test cf::tests::decode_times_rejects_non_finite ... ok [INFO] [stdout] test tests::parse_point_and_csv ... ok [INFO] [stdout] test store::tests::strip_root_inverts_object_path ... ok [INFO] [stdout] test store::tests::empty_root_passes_keys_through ... ok [INFO] [stdout] test store::tests::object_path_applies_root_prefix ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/icechunk.rs (/opt/rustwide/target/debug/deps/icechunk-7a50d74315531997) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-2eed87d94ae336c8) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test parameter_descriptions_carry_units_and_label ... ok [INFO] [stdout] test off_grid_position_is_nodata ... ok [INFO] [stdout] test lists_data_variables_sorted ... ok [INFO] [stdout] test datetime_filter_selects_single_step ... ok [INFO] [stdout] test fill_value_maps_to_nodata ... ok [INFO] [stdout] test parameter_filter_restricts_variables ... ok [INFO] [stdout] test position_query_bilinear_matches_linear_field ... ok [INFO] [stdout] test forecast_uses_latest_run_with_lead_as_time ... ok [INFO] [stdout] test raster_tile_between_cell_centres_still_renders ... ok [INFO] [stdout] test raster_tile_off_grid_is_transparent ... ok [INFO] [stdout] test raster_info_describes_the_grid ... ok [INFO] [stdout] test raster_tile_projected_via_build_2d_no_nan_leak ... ok [INFO] [stdout] test raster_tile_wgs84_matches_linear_field ... ok [INFO] [stdout] test supported_query_types_is_position ... ok [INFO] [stdout] test spatial_extent_is_half_cell_expanded ... ok [INFO] [stdout] test temporal_extent_and_available_times ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/server-ce13a5bae35fc246) [INFO] [stdout] [INFO] [stdout] running 52 tests [INFO] [stdout] test admin::tests::accepts_typical_uuid ... ok [INFO] [stdout] test admin::tests::accepts_alphanumeric_with_underscores ... ok [INFO] [stdout] test admin::tests::classifies_edr_position_query ... ok [INFO] [stdout] test admin::tests::classifies_features_item ... ok [INFO] [stdout] test admin::tests::classifies_maps_get_map ... ok [INFO] [stdout] test admin::tests::classifies_health ... ok [INFO] [stdout] test admin::tests::classifies_unmatched_fallback ... ok [INFO] [stdout] test admin::tests::classifies_tiles_get_tile ... ok [INFO] [stdout] test admin::tests::classifies_wms_root ... ok [INFO] [stdout] test admin::tests::integer_lut_skips_narrow_range ... ok [INFO] [stdout] test admin::tests::integer_lut_skips_huge_range ... ok [INFO] [stdout] test admin::tests::integer_lut_skips_non_finite_bounds ... ok [INFO] [stdout] test admin::tests::rejects_newlines_and_control_chars ... ok [INFO] [stdout] test admin::tests::rejects_empty ... ok [INFO] [stdout] test admin::tests::rejects_oversized_ids ... ok [INFO] [stdout] test admin::tests::integer_lut_wraps_when_range_fits_and_is_wide_enough ... ok [INFO] [stdout] test admin::tests::build_styles_parameter_tagged_extras_stay_in_map ... ok [INFO] [stdout] test admin::tests::build_styles_falls_back_to_inline_when_no_bundle_referenced ... ok [INFO] [stdout] test admin::tests::build_styles_falls_back_when_bundle_ref_unknown ... ok [INFO] [stdout] test admin::tests::build_styles_expands_bundle_into_default_plus_extras ... ok [INFO] [stdout] test preview::tests::collection_in_multiple_apis_appears_once ... ok [INFO] [stdout] test preview::tests::manifest_emits_vector_and_raster_tile_descriptors_when_wired ... ok [INFO] [stdout] test preview::tests::manifest_emits_parameters_for_multi_param_raster ... ok [INFO] [stdout] test preview::tests::manifest_aggregates_edr_collection_with_temporal_extent ... ok [INFO] [stdout] test preview::tests::index_html_uses_no_cache_and_carries_csp ... ok [INFO] [stdout] test preview::tests::manifest_omits_parameters_for_vector_only_collection ... ok [INFO] [stdout] test preview::tests::index_handler_returns_html ... ok [INFO] [stdout] test preview::tests::manifest_is_empty_when_no_collections_registered ... ok [INFO] [stdout] test preview::tests::manifest_handler_emits_no_store_cache_control ... ok [INFO] [stdout] test preview::tests::app_js_uses_short_must_revalidate_cache ... ok [INFO] [stdout] test preview::tests::app_js_does_not_pass_collection_title_as_maplibre_attribution ... ok [INFO] [stdout] test preview::tests::app_js_rewrites_ogc_tile_placeholders_for_maplibre ... ok [INFO] [stdout] test preview::tests::mime_inference_covers_common_extensions ... ok [INFO] [stdout] test preview::tests::manifest_omits_parameters_when_raster_is_single_band_even_if_edr_multi_param ... ok [INFO] [stdout] test preview::tests::manifest_parameters_intersect_with_raster_renderable_set ... ok [INFO] [stdout] test preview::tests::matching_if_none_match_yields_304_with_empty_body ... ok [INFO] [stdout] test preview::tests::mismatched_if_none_match_returns_full_body ... ok [INFO] [stdout] test preview::tests::pagination_skips_offset_and_caps_at_limit ... ok [INFO] [stdout] test preview::tests::temporal_extent_shape_is_stable_when_engine_omits_available_times ... ok [INFO] [stdout] test preview::tests::pagination_next_is_null_on_last_page ... ok [INFO] [stdout] test preview::tests::preview_time_window_unset_returns_unfiltered_values ... ok [INFO] [stdout] test preview::tests::preview_time_window_invalid_is_warning_not_error ... ok [INFO] [stdout] test preview::tests::temporal_extent_values_fall_back_to_raster_times_when_edr_lacks_them ... ok [INFO] [stdout] test watcher::tests::toml_changes_trigger ... ok [INFO] [stdout] test preview::tests::manifest_truncates_temporal_values_at_cap ... ok [INFO] [stdout] test preview::tests::unknown_asset_returns_generic_404_body ... ok [INFO] [stdout] test preview::tests::wms_only_collection_surfaces_extent_and_styles ... ok [INFO] [stdout] test watcher::tests::non_toml_changes_ignored ... ok [INFO] [stdout] test preview::tests::preview_time_window_filters_values_to_recent_slice ... ok [INFO] [stdout] test preview::tests::raster_url_template_carries_all_four_ogc_placeholders ... ok [INFO] [stdout] test preview::tests::vendored_maplibre_js_is_cacheable_but_not_immutable ... ok [INFO] [stdout] test watcher::tests::watcher_reloads_on_collections_dir_add_and_remove ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Running tests/middleware.rs (/opt/rustwide/target/debug/deps/middleware-26dcb485d8afca0f) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test compression::getcapabilities_uncompressed_without_header ... ok [INFO] [stdout] test compression::getcapabilities_compressed_when_accepted ... ok [INFO] [stdout] test conditional_requests::returns_304_for_wildcard ... ok [INFO] [stdout] test conditional_requests::returns_200_for_non_matching_etag ... ok [INFO] [stdout] test compression::png_not_double_compressed ... ok [INFO] [stdout] test conditional_requests::returns_304_for_weak_etag ... ok [INFO] [stdout] test conditional_requests::returns_304_for_matching_etag ... ok [INFO] [stdout] test conditional_requests::not_modified_includes_etag_and_cache_control ... ok [INFO] [stdout] test conditional_requests::returns_304_for_etag_in_list ... ok [INFO] [stdout] test load_shedding::returns_503_when_semaphore_exhausted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 30.44s [INFO] [stdout] [INFO] [stderr] Doc-tests api_3dtiles [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests api_edr [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests api_features [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests api_maps [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests api_tiles [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests api_wms [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ds_3dtiles [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ds_core [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ds_mvt [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ds_render [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ds_storage [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_csv [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_geojson [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_geotiff [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_grib [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_odim [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_postgis [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_querydata [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests engine_zarr [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" "a137ccb8cfba543ebae4172bde1517ab81e9e0b4bd06525a02d7d56592c613b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a137ccb8cfba543ebae4172bde1517ab81e9e0b4bd06525a02d7d56592c613b0", kill_on_drop: false }` [INFO] [stdout] a137ccb8cfba543ebae4172bde1517ab81e9e0b4bd06525a02d7d56592c613b0