[INFO] cloning repository https://github.com/jscott3201/rusty-haystack
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jscott3201/rusty-haystack" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjscott3201%2Frusty-haystack", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjscott3201%2Frusty-haystack'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5e1dec09dcbdf5b9b79be1ee32c2d05c84a3c6e5
[INFO] testing jscott3201/rusty-haystack against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjscott3201%2Frusty-haystack" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jscott3201/rusty-haystack
[INFO] finished tweaking git repo https://github.com/jscott3201/rusty-haystack
[INFO] tweaked toml for git repo https://github.com/jscott3201/rusty-haystack written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jscott3201/rusty-haystack on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jscott3201/rusty-haystack already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 35db5b1ba495b0f75b74534eeb908681e60d04a4e767c2efb62b1afe41e56c0a
[INFO] running `Command { std: "docker" "start" "-a" "35db5b1ba495b0f75b74534eeb908681e60d04a4e767c2efb62b1afe41e56c0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "35db5b1ba495b0f75b74534eeb908681e60d04a4e767c2efb62b1afe41e56c0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35db5b1ba495b0f75b74534eeb908681e60d04a4e767c2efb62b1afe41e56c0a", kill_on_drop: false }`
[INFO] [stdout] 35db5b1ba495b0f75b74534eeb908681e60d04a4e767c2efb62b1afe41e56c0a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7bf18383ee19773afce75adcac13fe60eeff4eccf9adf2247f0aa8a357b6325c
[INFO] running `Command { std: "docker" "start" "-a" "7bf18383ee19773afce75adcac13fe60eeff4eccf9adf2247f0aa8a357b6325c", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling local-waker v0.1.4
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling pyo3-build-config v0.28.2
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling bytestring v1.5.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling actix-service v2.0.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling actix-router v0.5.4
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling roaring v0.10.12
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling pyo3-ffi v0.28.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling pyo3-macros-backend v0.28.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling impl-more v0.1.9
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling jiff v0.2.22
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling pyo3 v0.28.2
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling toml v1.0.3+spec-1.1.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling pyo3-macros v0.28.2
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling actix-rt v2.11.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rusty-haystack-core v0.7.2 (/opt/rustwide/workdir/haystack-core)
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling rusty-haystack-client v0.7.2 (/opt/rustwide/workdir/haystack-client)
[INFO] [stderr]    Compiling actix-http v3.12.0
[INFO] [stderr]    Compiling actix-web v4.13.0
[INFO] [stderr]    Compiling actix-ws v0.4.0
[INFO] [stderr]    Compiling rusty-haystack-server v0.7.2 (/opt/rustwide/workdir/haystack-server)
[INFO] [stderr]    Compiling rusty-haystack v0.7.2 (/opt/rustwide/workdir/rusty-haystack)
[INFO] [stderr]    Compiling rusty-haystack-cli v0.7.2 (/opt/rustwide/workdir/haystack-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 17s
[INFO] running `Command { std: "docker" "inspect" "7bf18383ee19773afce75adcac13fe60eeff4eccf9adf2247f0aa8a357b6325c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bf18383ee19773afce75adcac13fe60eeff4eccf9adf2247f0aa8a357b6325c", kill_on_drop: false }`
[INFO] [stdout] 7bf18383ee19773afce75adcac13fe60eeff4eccf9adf2247f0aa8a357b6325c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 518334658a3db3457a7c4a9167f470af1d43a461074700d7d13e933f7ed4208c
[INFO] running `Command { std: "docker" "start" "-a" "518334658a3db3457a7c4a9167f470af1d43a461074700d7d13e933f7ed4208c", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling actix-router v0.5.4
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling test-case v3.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling rusty-haystack-core v0.7.2 (/opt/rustwide/workdir/haystack-core)
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling actix-rt v2.11.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling actix-http v3.12.0
[INFO] [stderr]    Compiling rusty-haystack-client v0.7.2 (/opt/rustwide/workdir/haystack-client)
[INFO] [stderr]    Compiling actix-web v4.13.0
[INFO] [stderr]    Compiling actix-ws v0.4.0
[INFO] [stderr]    Compiling rusty-haystack-server v0.7.2 (/opt/rustwide/workdir/haystack-server)
[INFO] [stderr]    Compiling rusty-haystack v0.7.2 (/opt/rustwide/workdir/rusty-haystack)
[INFO] [stderr]    Compiling rusty-haystack-cli v0.7.2 (/opt/rustwide/workdir/haystack-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] running `Command { std: "docker" "inspect" "518334658a3db3457a7c4a9167f470af1d43a461074700d7d13e933f7ed4208c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "518334658a3db3457a7c4a9167f470af1d43a461074700d7d13e933f7ed4208c", kill_on_drop: false }`
[INFO] [stdout] 518334658a3db3457a7c4a9167f470af1d43a461074700d7d13e933f7ed4208c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 115ec5cd33e442d8e00e464621f684c9c9f023e4b414c6d9fc54559420a0c072
[INFO] running `Command { std: "docker" "start" "-a" "115ec5cd33e442d8e00e464621f684c9c9f023e4b414c6d9fc54559420a0c072", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rusty_haystack-2e8ba7e57e0deca6)
[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 unittests src/main.rs (/opt/rustwide/target/debug/deps/haystack-e7e102dd09630ce4)
[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 unittests src/lib.rs (/opt/rustwide/target/debug/deps/haystack_client-fd469b4a1313f867)
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/haystack_core-edaeccf691932b2f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1075 tests
[INFO] [stdout] test auth::tests::test_parse_auth_header_invalid ... ok
[INFO] [stdout] test codecs::csv::tests::csv_quote_escapes_double_quotes ... ok
[INFO] [stdout] test codecs::csv::tests::decode_grid_not_supported ... ok
[INFO] [stdout] test codecs::csv::tests::mime_type ... ok
[INFO] [stdout] test auth::tests::test_format_auth_info ... ok
[INFO] [stdout] test auth::tests::test_parse_auth_header_scram ... ok
[INFO] [stdout] test auth::tests::test_parse_auth_header_bearer ... ok
[INFO] [stdout] test auth::tests::test_parse_auth_header_hello ... ok
[INFO] [stdout] test auth::tests::test_generate_nonce ... ok
[INFO] [stdout] test codecs::hbf::tests::marker_compact_size ... ok
[INFO] [stdout] test codecs::hbf::tests::error_truncated_header ... ok
[INFO] [stdout] test codecs::hbf::tests::number_compact_size ... ok
[INFO] [stdout] test codecs::hbf::tests::error_invalid_magic ... ok
[INFO] [stdout] test codecs::hbf::tests::error_invalid_tag ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_datetime ... ok
[INFO] [stdout] test codecs::csv::tests::scalar_delegates_to_zinc ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_date ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_bool ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_coord ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_dict_kind ... ok
[INFO] [stdout] test codecs::csv::tests::encode_empty_grid ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_empty_grid ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_dict_with_tags ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_empty_dict ... ok
[INFO] [stdout] test codecs::csv::tests::encode_grid_cols_no_rows ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_grid_kind ... ok
[INFO] [stdout] test codecs::csv::tests::encode_grid_with_commas_and_quotes_in_strings ... ok
[INFO] [stdout] test codecs::csv::tests::encode_grid_mixed_types ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_marker ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_na ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_grid_with_data ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_list ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_number_special_values ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_null ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_ref_no_dis ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_ref_with_dis ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_nested_dict_in_list ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_time ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_uri ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_symbol ... ok
[INFO] [stdout] test codecs::hbf::varint::tests::varint_eof ... ok
[INFO] [stdout] test codecs::hbf::varint::tests::varint_roundtrip_large ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_xstr ... ok
[INFO] [stdout] test codecs::hbf::varint::tests::varint_roundtrip_multibyte ... ok
[INFO] [stdout] test codecs::json::v3::tests::bool_false_roundtrip ... ok
[INFO] [stdout] test codecs::hbf::varint::tests::varint_roundtrip_small ... ok
[INFO] [stdout] test codecs::json::v3::tests::bool_true_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::coord_encoding_format ... ok
[INFO] [stdout] test codecs::hbf::varint::tests::varint_roundtrip_zero ... ok
[INFO] [stdout] test codecs::json::v3::tests::coord_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::date_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::date_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::bool_encodes_to_json_bool ... ok
[INFO] [stdout] test codecs::json::v3::tests::datetime_roundtrip ... ok
[INFO] [stdout] test auth::tests::test_format_www_authenticate ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_number_unitless ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_number_with_unit ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_remove ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_str ... ok
[INFO] [stdout] test codecs::json::v3::tests::disambiguation_str_vs_marker ... ok
[INFO] [stdout] test codecs::json::v3::tests::dict_with_values_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::dict_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_encoding_has_ver ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_with_col_meta_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_with_meta_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::list_mixed_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::list_with_all_types ... ok
[INFO] [stdout] test codecs::json::v3::tests::list_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::list_nested_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::disambiguation_str_with_colon ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_missing_cells ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_nested_in_scalar ... ok
[INFO] [stdout] test codecs::json::v3::tests::marker_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::na_encodes_as_prefix ... ok
[INFO] [stdout] test codecs::json::v3::tests::na_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::nested_dict_with_typed_values ... ok
[INFO] [stdout] test codecs::json::v3::tests::null_encodes_to_json_null ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_inf_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::null_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_nan_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_neg_inf_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::grid_with_data_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_negative_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::marker_encodes_as_prefix ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_unitless_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_inf_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_integer_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_unitless_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::datetime_utc_roundtrip ... ok
[INFO] [stdout] test codecs::hbf::tests::error_truncated_payload ... ok
[INFO] [stdout] test codecs::hbf::tests::roundtrip_empty_string ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_with_unit_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::ref_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::ref_with_dis_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::ref_simple_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::remove_encodes_as_prefix ... ok
[INFO] [stdout] test codecs::json::v3::tests::remove_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::number_zero_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::string_empty_encodes_with_s_prefix ... ok
[INFO] [stdout] test codecs::json::v3::tests::string_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::string_simple_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::plain_json_number_decodes_as_number ... ok
[INFO] [stdout] test codecs::json::v3::tests::time_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::datetime_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::symbol_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::string_encodes_with_s_prefix ... ok
[INFO] [stdout] test codecs::json::v3::tests::string_with_special_chars_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::uri_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::xstr_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::xstr_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::symbol_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::time_encoding_format ... ok
[INFO] [stdout] test codecs::json::v3::tests::string_that_looks_like_prefix ... ok
[INFO] [stdout] test codecs::json::v3::tests::time_with_frac_roundtrip ... ok
[INFO] [stdout] test codecs::json::v3::tests::uri_encoding_format ... ok
[INFO] [stdout] test codecs::json::v4::tests::bool_false_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::bool_true_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::coord_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::date_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::datetime_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::bool_encodes_to_json_bool ... ok
[INFO] [stdout] test codecs::json::v4::tests::decode_plain_object_as_dict ... ok
[INFO] [stdout] test codecs::json::v4::tests::dict_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::grid_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::grid_with_col_meta_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::grid_with_meta_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::grid_with_missing_cells ... ok
[INFO] [stdout] test codecs::json::v4::tests::list_mixed_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::grid_with_data_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::list_nested_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::datetime_utc_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::dict_no_kind_key ... ok
[INFO] [stdout] test codecs::json::v4::tests::grid_nested_in_scalar ... ok
[INFO] [stdout] test codecs::json::v4::tests::marker_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::nested_dict_with_typed_values ... ok
[INFO] [stdout] test codecs::json::v4::tests::list_with_all_types ... ok
[INFO] [stdout] test codecs::json::v4::tests::na_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::null_encodes_to_json_null ... ok
[INFO] [stdout] test codecs::json::v4::tests::null_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_inf_encoding_format ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_inf_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_nan_encoding_format ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_integer_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_nan_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_neg_inf_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_unitless_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_with_unit_encoding_format ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_negative_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_with_unit_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::number_zero_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::plain_json_string_decodes_as_str ... ok
[INFO] [stdout] test codecs::json::v4::tests::plain_json_integer_decodes_as_number ... ok
[INFO] [stdout] test codecs::json::v4::tests::string_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::string_encodes_as_plain_json_string ... ok
[INFO] [stdout] test codecs::json::v4::tests::string_simple_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::string_with_special_chars_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::symbol_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::dict_with_values_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::list_empty_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::ref_with_dis_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::marker_encodes_with_kind ... ok
[INFO] [stdout] test codecs::json::v4::tests::plain_json_number_decodes_as_number ... ok
[INFO] [stdout] test codecs::json::v4::tests::remove_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::ref_simple_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::time_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::time_with_frac_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::uri_roundtrip ... ok
[INFO] [stdout] test codecs::json::v4::tests::xstr_roundtrip ... ok
[INFO] [stdout] test codecs::rdf::tests::jsonld_empty_entities ... ok
[INFO] [stdout] test codecs::rdf::tests::jsonld_marker_encoding ... ok
[INFO] [stdout] test codecs::rdf::tests::jsonld_ref_links ... ok
[INFO] [stdout] test codecs::rdf::tests::jsonld_single_entity ... ok
[INFO] [stdout] test codecs::rdf::tests::turtle_empty_entities ... ok
[INFO] [stdout] test codecs::rdf::tests::turtle_number_tags ... ok
[INFO] [stdout] test codecs::rdf::tests::turtle_ref_tags_produce_entity_links ... ok
[INFO] [stdout] test codecs::rdf::tests::turtle_single_entity_with_markers ... ok
[INFO] [stdout] test codecs::shared::tests::format_frac_seconds_fine_precision ... ok
[INFO] [stdout] test codecs::shared::tests::format_frac_seconds_with_nanos ... ok
[INFO] [stdout] test codecs::shared::tests::format_frac_seconds_zero ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_float ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_inf ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_integer ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_nan ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_neg_inf ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_negative ... ok
[INFO] [stdout] test codecs::shared::tests::format_number_val_zero ... ok
[INFO] [stdout] test codecs::shared::tests::format_time_no_frac ... ok
[INFO] [stdout] test codecs::shared::tests::format_time_with_millis ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_bool_values ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_empty_grid ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_multiline_string ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_multiple_records ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_number_with_unit ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_ref_value ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_single_record_with_marker ... ok
[INFO] [stdout] test codecs::trio::encoder::tests::encode_single_record_with_values ... ok
[INFO] [stdout] test codecs::trio::parser::tests::codec_for_registry ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_blank_lines_between_tags ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_bool_values ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_columns_derived_from_all_records ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_comments_skipped ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_coord_value ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_empty_input ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_markers_alone ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_multiline_string ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_multiline_string_at_end_of_input ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_date_value ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_multiline_string_with_tab_indent ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_complex_trio_file ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_number_with_unit ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_multiple_records ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_ref_values ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_multiline_between_records ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_bool_false ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_bool_true ... ok
[INFO] [stdout] test codecs::trio::parser::tests::roundtrip_encode_decode ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_coord ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_date ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_datetime ... ok
[INFO] [stdout] test codecs::trio::parser::tests::roundtrip_multiline_string ... ok
[INFO] [stdout] test codecs::trio::parser::tests::trio_codec_trait_impl ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_datetime_utc ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_uri_value ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_dict_empty ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_separator_with_more_dashes ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_grid_empty ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_escape_str ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_grid_error ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_grid_with_col_meta ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_grid_with_data ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_grid_with_meta ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_list_empty ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_marker ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_list_mixed ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_whitespace_only ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_dict_with_values ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_na ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_null ... ok
[INFO] [stdout] test codecs::trio::parser::tests::parse_single_record_with_markers_and_values ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_float ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_inf ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_integer ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_nan ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_neg_inf ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_negative ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_with_unit ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_number_zero ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_ref_simple ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_ref_with_dis ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_remove ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_string_empty ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_string_escapes ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_string_simple ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_symbol ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_time_no_frac ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_time_with_frac ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_uri ... ok
[INFO] [stdout] test codecs::zinc::encoder::tests::encode_xstr ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::decode_grid_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::decode_grid_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::decode_grid_with_col_meta ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::decode_grid_with_comments ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::decode_grid_with_meta ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::decode_grid_with_null_cells ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::grid_roundtrip_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::grid_roundtrip_error_grid ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::grid_roundtrip_with_data ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::grid_roundtrip_with_meta ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_coord ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_coord_negative ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_date ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_datetime ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_datetime_utc ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_datetime_z ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_dict_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_dict_mixed ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_dict_with_marker ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_false ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_dict_with_values ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_list_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_list_mixed ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_marker ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_list_nested ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_float ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_inf ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_neg_inf_standalone ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_null ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_integer ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_nan ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_scientific ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_with_unit ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_zero ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_ref_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_ref_with_dis ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_remove ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_scalar_allows_trailing_whitespace ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_scalar_rejects_trailing_input ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_negative ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_na ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_string_accepts_valid_escapes ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_string_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_string_escapes ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_string_rejects_unknown_escapes ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_string_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_string_unicode_escape ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_symbol_compound ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_symbol_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_time ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_time_with_frac ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_true ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_uri_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_uri_with_special ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_xstr ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_bool_false ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_bool_true ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_coord ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_date ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_datetime ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_datetime_utc ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_dict_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_dict_with_values ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_inf ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_list_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_list_mixed ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_marker ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_na ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_nan ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_neg_inf ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_null ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_number_float ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_number_integer ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_number_negative ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_number_with_unit ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_number_zero ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_ref_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::parse_number_neg_inf ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_ref_with_dis ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_remove ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_string_empty ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_string_escapes ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_symbol ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_time ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_time_frac ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_uri ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::roundtrip_xstr ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::split_csv_simple ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::split_csv_with_nested ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::split_csv_with_quotes ... ok
[INFO] [stdout] test codecs::zinc::parser::tests::zinc_codec_trait ... ok
[INFO] [stdout] test data::dict::tests::default_is_empty ... ok
[INFO] [stdout] test data::dict::tests::dis_from_dis_tag ... ok
[INFO] [stdout] test data::dict::tests::dis_from_ref_fallback ... ok
[INFO] [stdout] test data::dict::tests::dis_from_ref_without_dis ... ok
[INFO] [stdout] test data::dict::tests::dis_missing_entirely ... ok
[INFO] [stdout] test data::dict::tests::dis_non_str_dis_tag ... ok
[INFO] [stdout] test data::dict::tests::display_empty ... ok
[INFO] [stdout] test data::dict::tests::display_with_tags ... ok
[INFO] [stdout] test data::dict::tests::empty_dict ... ok
[INFO] [stdout] test data::dict::tests::equality ... ok
[INFO] [stdout] test data::dict::tests::from_tags ... ok
[INFO] [stdout] test data::dict::tests::id_missing ... ok
[INFO] [stdout] test data::dict::tests::id_with_non_ref ... ok
[INFO] [stdout] test data::dict::tests::id_with_ref ... ok
[INFO] [stdout] test data::dict::tests::inequality_different_keys ... ok
[INFO] [stdout] test data::dict::tests::inequality_different_values ... ok
[INFO] [stdout] test data::dict::tests::overwrite_existing_tag ... ok
[INFO] [stdout] test data::dict::tests::merge_updates_and_adds ... ok
[INFO] [stdout] test data::dict::tests::remove_tag ... ok
[INFO] [stdout] test data::dict::tests::merge_with_remove ... ok
[INFO] [stdout] test data::dict::tests::tags_returns_inner_map ... ok
[INFO] [stdout] test data::grid::tests::col_names ... ok
[INFO] [stdout] test data::grid::tests::col_lookup ... ok
[INFO] [stdout] test data::grid::tests::default_is_empty ... ok
[INFO] [stdout] test data::grid::tests::col_with_meta ... ok
[INFO] [stdout] test data::grid::tests::is_err_false_for_normal_grid ... ok
[INFO] [stdout] test data::grid::tests::grid_with_data ... ok
[INFO] [stdout] test data::dict::tests::tag_iteration ... ok
[INFO] [stdout] test data::grid::tests::is_err_true_with_err_marker ... ok
[INFO] [stdout] test data::grid::tests::row_access ... ok
[INFO] [stdout] test data::grid::tests::empty_grid ... ok
[INFO] [stdout] test data::dict::tests::tag_name_set ... ok
[INFO] [stdout] test data::grid::tests::iteration ... ok
[INFO] [stdout] test data::list::tests::default_is_empty ... ok
[INFO] [stdout] test data::list::tests::display_empty ... ok
[INFO] [stdout] test data::list::tests::equality ... ok
[INFO] [stdout] test data::list::tests::inequality ... ok
[INFO] [stdout] test data::list::tests::from_vec ... ok
[INFO] [stdout] test data::list::tests::iteration ... ok
[INFO] [stdout] test data::list::tests::push_and_get ... ok
[INFO] [stdout] test expr::ast::tests::cmpop_variants ... ok
[INFO] [stdout] test expr::ast::tests::construct_binary_op ... ok
[INFO] [stdout] test expr::ast::tests::construct_conditional ... ok
[INFO] [stdout] test expr::ast::tests::construct_comparison ... ok
[INFO] [stdout] test expr::ast::tests::construct_fn_call ... ok
[INFO] [stdout] test expr::ast::tests::construct_logical ... ok
[INFO] [stdout] test expr::ast::tests::construct_unary_op ... ok
[INFO] [stdout] test expr::ast::tests::construct_variable ... ok
[INFO] [stdout] test expr::ast::tests::construct_literal ... ok
[INFO] [stdout] test data::list::tests::display_with_items ... ok
[INFO] [stdout] test expr::eval::tests::conditional_non_bool_returns_na ... ok
[INFO] [stdout] test expr::eval::tests::complex_expression ... ok
[INFO] [stdout] test data::list::tests::empty_list ... ok
[INFO] [stdout] test expr::eval::tests::complex_conditional_expression ... ok
[INFO] [stdout] test expr::ast::tests::clone_and_debug ... ok
[INFO] [stdout] test data::dict::tests::set_get_has_missing ... ok
[INFO] [stdout] test expr::eval::tests::context_default ... ok
[INFO] [stdout] test expr::ast::tests::binop_variants ... ok
[INFO] [stdout] test expr::eval::tests::eval_conditional_false ... ok
[INFO] [stdout] test expr::eval::tests::eval_conditional_true ... ok
[INFO] [stdout] test expr::eval::tests::eval_eq_false ... ok
[INFO] [stdout] test expr::eval::tests::eval_eq_true ... ok
[INFO] [stdout] test expr::eval::tests::eval_ge ... ok
[INFO] [stdout] test expr::eval::tests::eval_le ... ok
[INFO] [stdout] test expr::eval::tests::context_set_and_get ... ok
[INFO] [stdout] test expr::eval::tests::eval_addition ... ok
[INFO] [stdout] test expr::eval::tests::eval_lt ... ok
[INFO] [stdout] test expr::eval::tests::eval_and_false ... ok
[INFO] [stdout] test expr::eval::tests::eval_and_true ... ok
[INFO] [stdout] test expr::eval::tests::eval_conditional_with_variable ... ok
[INFO] [stdout] test expr::eval::tests::eval_division ... ok
[INFO] [stdout] test expr::eval::tests::eval_gt ... ok
[INFO] [stdout] test expr::eval::tests::eval_missing_variable_number_returns_nan ... ok
[INFO] [stdout] test expr::eval::tests::eval_not_keyword ... ok
[INFO] [stdout] test expr::eval::tests::eval_missing_variable_bool_returns_false ... ok
[INFO] [stdout] test expr::eval::tests::eval_ne ... ok
[INFO] [stdout] test expr::eval::tests::eval_missing_variable_returns_na ... ok
[INFO] [stdout] test expr::eval::tests::eval_modulo ... ok
[INFO] [stdout] test expr::eval::tests::eval_negation ... ok
[INFO] [stdout] test expr::eval::tests::eval_multiplication ... ok
[INFO] [stdout] test expr::eval::tests::eval_not ... ok
[INFO] [stdout] test data::grid::tests::display ... ok
[INFO] [stdout] test expr::eval::tests::eval_or_false ... ok
[INFO] [stdout] test data::grid::tests::equality ... ok
[INFO] [stdout] test data::grid::tests::from_parts ... ok
[INFO] [stdout] test expr::eval::tests::eval_or_true ... ok
[INFO] [stdout] test expr::eval::tests::eval_precedence ... ok
[INFO] [stdout] test expr::eval::tests::eval_variable ... ok
[INFO] [stdout] test expr::eval::tests::fn_abs ... ok
[INFO] [stdout] test expr::eval::tests::fn_abs_positive ... ok
[INFO] [stdout] test expr::eval::tests::fn_avg_three ... ok
[INFO] [stdout] test expr::eval::tests::fn_clamp_below ... ok
[INFO] [stdout] test expr::eval::tests::fn_avg_two ... ok
[INFO] [stdout] test expr::eval::tests::fn_clamp_within ... ok
[INFO] [stdout] test expr::eval::tests::fn_avg_no_args_returns_na ... ok
[INFO] [stdout] test expr::eval::tests::fn_max ... ok
[INFO] [stdout] test expr::eval::tests::fn_between_outside ... ok
[INFO] [stdout] test expr::eval::tests::fn_sqrt ... ok
[INFO] [stdout] test expr::eval::tests::eval_subtraction ... ok
[INFO] [stdout] test expr::eval::tests::fn_clamp ... ok
[INFO] [stdout] test expr::eval::tests::fn_unknown_returns_na ... ok
[INFO] [stdout] test expr::eval::tests::nested_function_expression ... ok
[INFO] [stdout] test expr::eval::tests::test_division_by_zero ... ok
[INFO] [stdout] test expr::eval::tests::fn_wrong_arity ... ok
[INFO] [stdout] test expr::eval::tests::type_mismatch_neg_bool ... ok
[INFO] [stdout] test expr::eval::tests::type_mismatch_not_number ... ok
[INFO] [stdout] test expr::parser::tests::error_display ... ok
[INFO] [stdout] test expr::eval::tests::type_mismatch_compare_str ... ok
[INFO] [stdout] test expr::eval::tests::type_mismatch_logical_number ... ok
[INFO] [stdout] test expr::parser::tests::error_depth_exceeded ... ok
[INFO] [stdout] test expr::parser::tests::error_trailing_input ... ok
[INFO] [stdout] test expr::parser::tests::error_empty_input ... ok
[INFO] [stdout] test expr::parser::tests::parse_arithmetic_precedence ... ok
[INFO] [stdout] test expr::eval::tests::fn_min ... ok
[INFO] [stdout] test expr::eval::tests::eval_parentheses ... ok
[INFO] [stdout] test expr::parser::tests::error_source_too_long ... ok
[INFO] [stdout] test expr::eval::tests::test_modulo_by_zero ... ok
[INFO] [stdout] test expr::eval::tests::fn_between_boundary ... ok
[INFO] [stdout] test expr::parser::tests::error_unterminated_string ... ok
[INFO] [stdout] test expr::parser::tests::parse_addition ... ok
[INFO] [stdout] test expr::eval::tests::fn_between_inside ... ok
[INFO] [stdout] test expr::eval::tests::type_mismatch_add_str ... ok
[INFO] [stdout] test expr::eval::tests::test_sqrt_negative ... ok
[INFO] [stdout] test expr::parser::tests::parse_comparison_eq ... ok
[INFO] [stdout] test expr::parser::tests::parse_comparison_ge ... ok
[INFO] [stdout] test expr::parser::tests::parse_bool_false ... ok
[INFO] [stdout] test expr::parser::tests::parse_comparison_gt ... ok
[INFO] [stdout] test expr::parser::tests::parse_comparison_lt ... ok
[INFO] [stdout] test expr::parser::tests::parse_comparison_le ... ok
[INFO] [stdout] test expr::parser::tests::parse_comparison_ne ... ok
[INFO] [stdout] test expr::parser::tests::parse_complex_expression ... ok
[INFO] [stdout] test expr::eval::tests::variables_collected ... ok
[INFO] [stdout] test expr::parser::tests::parse_bool_true ... ok
[INFO] [stdout] test expr::parser::tests::parse_conditional ... ok
[INFO] [stdout] test expr::parser::tests::parse_division ... ok
[INFO] [stdout] test expr::parser::tests::parse_float_literal ... ok
[INFO] [stdout] test expr::parser::tests::parse_fn_call_one_arg ... ok
[INFO] [stdout] test expr::parser::tests::parse_logical_or ... ok
[INFO] [stdout] test expr::parser::tests::parse_logical_and ... ok
[INFO] [stdout] test expr::parser::tests::parse_logical_precedence ... ok
[INFO] [stdout] test expr::parser::tests::parse_fn_call_no_args ... ok
[INFO] [stdout] test expr::parser::tests::parse_modulo ... ok
[INFO] [stdout] test expr::parser::tests::parse_nested_fn_calls ... ok
[INFO] [stdout] test expr::parser::tests::parse_string_literal ... ok
[INFO] [stdout] test expr::parser::tests::parse_subtraction ... ok
[INFO] [stdout] test expr::parser::tests::parse_unary_not_bang ... ok
[INFO] [stdout] test expr::parser::tests::parse_unary_neg ... ok
[INFO] [stdout] test expr::parser::tests::parse_unary_not_keyword ... ok
[INFO] [stdout] test filter::eval::tests::and_both_true ... ok
[INFO] [stdout] test expr::parser::tests::parse_number_literal ... ok
[INFO] [stdout] test expr::parser::tests::parse_null ... ok
[INFO] [stdout] test expr::parser::tests::parse_fn_call_two_args ... ok
[INFO] [stdout] test expr::parser::tests::parse_variable ... ok
[INFO] [stdout] test filter::eval::tests::and_one_false ... ok
[INFO] [stdout] test filter::eval::tests::cmp_date_gt ... ok
[INFO] [stdout] test filter::eval::tests::cmp_datetime_gt ... ok
[INFO] [stdout] test filter::eval::tests::cmp_date_lt ... ok
[INFO] [stdout] test filter::eval::tests::cmp_datetime_lt ... ok
[INFO] [stdout] test filter::eval::tests::cmp_eq_ref_no_match ... ok
[INFO] [stdout] test filter::eval::tests::cmp_eq_string_no_match ... ok
[INFO] [stdout] test filter::eval::tests::cmp_ge_number ... ok
[INFO] [stdout] test filter::eval::tests::cmp_gt_number_same_unit ... ok
[INFO] [stdout] test filter::eval::tests::cmp_gt_number_same_unit_no_match ... ok
[INFO] [stdout] test expr::parser::tests::parse_parenthesised ... ok
[INFO] [stdout] test filter::eval::tests::cmp_eq_ref ... ok
[INFO] [stdout] test filter::eval::tests::cmp_lt_number ... ok
[INFO] [stdout] test filter::eval::tests::cmp_missing_tag ... ok
[INFO] [stdout] test filter::eval::tests::cmp_ne_string ... ok
[INFO] [stdout] test filter::eval::tests::cmp_marker_not_orderable ... ok
[INFO] [stdout] test filter::eval::tests::cmp_eq_string ... ok
[INFO] [stdout] test filter::eval::tests::cmp_incompatible_types ... ok
[INFO] [stdout] test filter::eval::tests::cmp_number_different_units ... ok
[INFO] [stdout] test filter::eval::tests::cmp_string_ordering ... ok
[INFO] [stdout] test filter::eval::tests::cmp_unitless_numbers ... ok
[INFO] [stdout] test filter::eval::tests::cmp_le_number ... ok
[INFO] [stdout] test filter::eval::tests::missing_absent_tag ... ok
[INFO] [stdout] test filter::eval::tests::missing_present_tag ... ok
[INFO] [stdout] test filter::eval::tests::multi_segment_path_has ... ok
[INFO] [stdout] test filter::eval::tests::multi_segment_path_no_resolver ... ok
[INFO] [stdout] test filter::eval::tests::multi_segment_path_not_a_ref ... ok
[INFO] [stdout] test filter::eval::tests::or_both_false ... ok
[INFO] [stdout] test filter::eval::tests::or_one_true ... ok
[INFO] [stdout] test filter::eval::tests::multi_segment_path_with_resolver ... ok
[INFO] [stdout] test filter::eval::tests::single_segment_path ... ok
[INFO] [stdout] test filter::eval::tests::multi_segment_path_missing_intermediate ... ok
[INFO] [stdout] test filter::eval::tests::spec_match_without_namespace_returns_false ... ok
[INFO] [stdout] test filter::parser::tests::error_invalid_syntax ... ok
[INFO] [stdout] test filter::parser::tests::error_trailing_input ... ok
[INFO] [stdout] test filter::eval::tests::eq_marker ... ok
[INFO] [stdout] test filter::parser::tests::parse_and ... ok
[INFO] [stdout] test filter::eval::tests::has_absent_tag ... ok
[INFO] [stdout] test filter::parser::tests::error_empty_string ... ok
[INFO] [stdout] test filter::eval::tests::three_segment_path ... ok
[INFO] [stdout] test filter::eval::tests::has_present_tag ... ok
[INFO] [stdout] test filter::parser::tests::error_unclosed_paren ... ok
[INFO] [stdout] test filter::parser::tests::parse_and_or_precedence ... ok
[INFO] [stdout] test filter::parser::tests::parse_bool_comparison ... ok
[INFO] [stdout] test filter::parser::tests::parse_chained_and ... ok
[INFO] [stdout] test filter::parser::tests::parse_chained_or ... ok
[INFO] [stdout] test filter::parser::tests::parse_cmp_eq_number_with_unit ... ok
[INFO] [stdout] test filter::parser::tests::parse_has_simple ... ok
[INFO] [stdout] test filter::eval::tests::complex_and_or ... ok
[INFO] [stdout] test filter::parser::tests::parse_cmp_gt_number ... ok
[INFO] [stdout] test filter::parser::tests::parse_complex_expression ... ok
[INFO] [stdout] test filter::parser::tests::parse_date_comparison ... ok
[INFO] [stdout] test filter::parser::tests::parse_has_with_spaces ... ok
[INFO] [stdout] test filter::parser::tests::parse_missing ... ok
[INFO] [stdout] test filter::parser::tests::parse_multi_segment_path_has ... ok
[INFO] [stdout] test filter::parser::tests::parse_multi_segment_path_with_cmp ... ok
[INFO] [stdout] test filter::parser::tests::parse_ne_operator ... ok
[INFO] [stdout] test filter::parser::tests::parse_nested_parens ... ok
[INFO] [stdout] test filter::parser::tests::parse_not_with_path ... ok
[INFO] [stdout] test filter::parser::tests::parse_or ... ok
[INFO] [stdout] test filter::parser::tests::parse_spec_match ... ok
[INFO] [stdout] test filter::parser::tests::parse_le_operator ... ok
[INFO] [stdout] test filter::parser::tests::parse_ge_operator ... ok
[INFO] [stdout] test filter::parser::tests::parse_ref_comparison ... ok
[INFO] [stdout] test filter::parser::tests::parse_spec_match_dotted ... ok
[INFO] [stdout] test filter::parser::tests::parse_string_comparison ... ok
[INFO] [stdout] test filter::parser::tests::parse_tag_name_starting_with_or ... ok
[INFO] [stdout] test filter::parser::tests::parse_tag_name_starting_with_not ... ok
[INFO] [stdout] test graph::adjacency::tests::remove_entity_edges ... ok
[INFO] [stdout] test graph::adjacency::tests::sources_to_without_type_filter ... ok
[INFO] [stdout] test graph::adjacency::tests::sources_to_with_type_filter ... ok
[INFO] [stdout] test graph::adjacency::tests::targets_from_nonexistent_entity ... ok
[INFO] [stdout] test graph::adjacency::tests::remove_nonexistent_entity_is_noop ... ok
[INFO] [stdout] test graph::adjacency::tests::sources_to_nonexistent_target ... ok
[INFO] [stdout] test graph::adjacency::tests::targets_from_with_type_filter ... ok
[INFO] [stdout] test auth::tests::test_full_handshake ... ok
[INFO] [stdout] test filter::parser::tests::parse_tag_name_starting_with_and ... ok
[INFO] [stdout] test graph::adjacency::tests::remove_cleans_up_reverse_entry ... ok
[INFO] [stdout] test graph::adjacency::tests::add_forward_and_reverse_edges ... ok
[INFO] [stdout] test graph::bitmap::tests::add_remove_tag_tracking ... ok
[INFO] [stdout] test graph::bitmap::tests::negate_bitmap ... ok
[INFO] [stdout] test graph::bitmap::tests::negate_exact_word_boundary ... ok
[INFO] [stdout] test graph::bitmap::tests::remove_nonexistent_entity_is_noop ... ok
[INFO] [stdout] test graph::bitmap::tests::set_and_check_individual_bits ... ok
[INFO] [stdout] test graph::bitmap::tests::union_multiple_bitmaps ... ok
[INFO] [stdout] test graph::changelog::tests::changelog_gap_display ... ok
[INFO] [stdout] test graph::bitmap::tests::count_ones_popcount ... ok
[INFO] [stdout] test graph::changelog::tests::diff_op_clone ... ok
[INFO] [stdout] test graph::changelog::tests::changelog_gap_equality ... ok
[INFO] [stdout] test graph::bitmap::tests::auto_grow_capacity ... ok
[INFO] [stdout] test graph::bitmap::tests::empty_bitmap_operations ... ok
[INFO] [stdout] test graph::bitmap::tests::intersect_multiple_bitmaps ... ok
[INFO] [stdout] test graph::bitmap::tests::intersect_single_bitmap ... ok
[INFO] [stdout] test filter::parser::tests::parse_lt_operator ... ok
[INFO] [stdout] test graph::bitmap::tests::unknown_tag_returns_none ... ok
[INFO] [stdout] test graph::bitmap::tests::iterate_set_bits ... ok
[INFO] [stdout] test graph::changelog::tests::graph_diff_construction ... ok
[INFO] [stdout] test graph::changelog::tests::now_nanos_returns_positive ... ok
[INFO] [stdout] test graph::columnar::tests::auto_extend_capacity ... ok
[INFO] [stdout] test graph::columnar::tests::scan_column_numeric ... ok
[INFO] [stdout] test graph::columnar::tests::scan_untracked_column ... ok
[INFO] [stdout] test graph::columnar::tests::scan_column_string ... ok
[INFO] [stdout] test graph::columnar::tests::track_and_set_values ... ok
[INFO] [stdout] test graph::columnar::tests::untracked_tag_ignored ... ok
[INFO] [stdout] test graph::adjacency::tests::targets_from_without_type_filter ... ok
[INFO] [stdout] test graph::columnar::tests::column_returns_slice ... ok
[INFO] [stdout] test graph::columnar::tests::scan_empty_column ... ok
[INFO] [stdout] test graph::csr::tests::csr_edge_count ... ok
[INFO] [stdout] test graph::csr::tests::csr_nonexistent_target ... ok
[INFO] [stdout] test graph::csr::tests::csr_sources_to_all ... ok
[INFO] [stdout] test graph::csr::tests::csr_targets_from_all ... ok
[INFO] [stdout] test graph::entity_graph::tests::add_entity_missing_id_fails ... ok
[INFO] [stdout] test graph::entity_graph::tests::add_entity_non_ref_id_fails ... ok
[INFO] [stdout] test graph::entity_graph::tests::add_entity_with_valid_id ... ok
[INFO] [stdout] test graph::entity_graph::tests::all_edges_empty_graph ... ok
[INFO] [stdout] test graph::columnar::tests::clear_entity ... ok
[INFO] [stdout] test graph::csr::tests::csr_empty_graph ... ok
[INFO] [stdout] test graph::csr::tests::csr_nonexistent_entity ... ok
[INFO] [stdout] test graph::csr::tests::csr_sources_to_filtered ... ok
[INFO] [stdout] test graph::entity_graph::tests::all_edges_returns_all_ref_relationships ... ok
[INFO] [stdout] test graph::changelog::tests::diff_op_equality ... ok
[INFO] [stdout] test graph::changelog::tests::graph_diff_clone ... ok
[INFO] [stdout] test graph::entity_graph::tests::changelog_gap_on_version_zero_after_eviction ... ok
[INFO] [stdout] test graph::entity_graph::tests::changes_since_binary_search_equivalence ... ok
[INFO] [stdout] test graph::entity_graph::tests::changes_since_returns_subset ... ok
[INFO] [stdout] test graph::entity_graph::tests::classify_equip ... ok
[INFO] [stdout] test graph::entity_graph::tests::classify_unknown ... ok
[INFO] [stdout] test graph::entity_graph::tests::classify_site ... ok
[INFO] [stdout] test graph::entity_graph::tests::configurable_changelog_capacity ... ok
[INFO] [stdout] test graph::entity_graph::tests::contains_check ... ok
[INFO] [stdout] test graph::entity_graph::tests::add_duplicate_ref_fails ... ok
[INFO] [stdout] test graph::entity_graph::tests::changelog_entries_have_timestamps ... ok
[INFO] [stdout] test graph::entity_graph::tests::changelog_records_add_update_remove ... ok
[INFO] [stdout] test graph::entity_graph::tests::classify_point ... ok
[INFO] [stdout] test graph::entity_graph::tests::changelog_bounded_to_max_size ... ok
[INFO] [stdout] test graph::entity_graph::tests::from_grid_skips_rows_without_id ... ok
[INFO] [stdout] test graph::entity_graph::tests::from_grid_round_trip ... ok
[INFO] [stdout] test graph::entity_graph::tests::get_missing_entity_returns_none ... ok
[INFO] [stdout] test graph::entity_graph::tests::get_existing_entity ... ok
[INFO] [stdout] test graph::entity_graph::tests::equip_points_with_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::children_returns_direct_refs ... ok
[INFO] [stdout] test graph::entity_graph::tests::id_freelist_recycles_removed_ids ... ok
[INFO] [stdout] test graph::entity_graph::tests::hierarchy_tree_max_depth ... ok
[INFO] [stdout] test graph::entity_graph::tests::len_and_is_empty ... ok
[INFO] [stdout] test graph::entity_graph::tests::hierarchy_tree_missing_root ... ok
[INFO] [stdout] test graph::entity_graph::tests::neighbors_nonexistent_entity ... ok
[INFO] [stdout] test graph::entity_graph::tests::neighbors_one_hop ... ok
[INFO] [stdout] test graph::entity_graph::tests::neighbors_zero_hops ... ok
[INFO] [stdout] test graph::entity_graph::tests::neighbors_with_ref_type_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::hierarchy_tree_from_site ... ok
[INFO] [stdout] test graph::entity_graph::tests::query_cache_invalidated_by_mutation ... ok
[INFO] [stdout] test graph::entity_graph::tests::query_cache_returns_same_results ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_invalid_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::no_gap_when_capacity_sufficient ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_with_and_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_with_or_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_with_simple_has_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::ref_chain_empty_for_nonexistent ... ok
[INFO] [stdout] test graph::entity_graph::tests::ref_chain_stops_on_missing_tag ... ok
[INFO] [stdout] test graph::entity_graph::tests::refs_from_returns_targets ... ok
[INFO] [stdout] test graph::entity_graph::tests::ref_chain_walks_equip_to_site ... ok
[INFO] [stdout] test graph::entity_graph::tests::refs_to_nonexistent_entity ... ok
[INFO] [stdout] test graph::entity_graph::tests::refs_to_returns_sources ... ok
[INFO] [stdout] test graph::entity_graph::tests::remove_missing_entity_fails ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_with_comparison_filter ... ok
[INFO] [stdout] test graph::entity_graph::tests::refs_from_nonexistent_entity ... ok
[INFO] [stdout] test graph::entity_graph::tests::remove_entity ... ok
[INFO] [stdout] test graph::entity_graph::tests::shortest_path_no_connection ... ok
[INFO] [stdout] test graph::entity_graph::tests::shortest_path_direct ... ok
[INFO] [stdout] test graph::entity_graph::tests::site_for_returns_site_itself ... ok
[INFO] [stdout] test graph::entity_graph::tests::site_for_walks_from_equip ... ok
[INFO] [stdout] test graph::entity_graph::tests::site_for_walks_from_point ... ok
[INFO] [stdout] test graph::entity_graph::tests::subtree_from_site ... ok
[INFO] [stdout] test graph::entity_graph::tests::shortest_path_two_hops ... ok
[INFO] [stdout] test graph::entity_graph::tests::subtree_leaf_node ... ok
[INFO] [stdout] test graph::entity_graph::tests::subtree_max_depth_1 ... ok
[INFO] [stdout] test graph::entity_graph::tests::subtree_nonexistent_root ... ok
[INFO] [stdout] test graph::entity_graph::tests::to_grid_empty_result ... ok
[INFO] [stdout] test graph::entity_graph::tests::to_grid_empty_filter_exports_all ... ok
[INFO] [stdout] test graph::entity_graph::tests::type_filtered_ref_queries ... ok
[INFO] [stdout] test graph::entity_graph::tests::add_bulk_skips_changelog ... ok
[INFO] [stdout] test graph::csr::tests::csr_targets_from_filtered ... ok
[INFO] [stdout] test graph::entity_graph::tests::update_delta_indexing_preserves_unchanged_tags ... ok
[INFO] [stdout] test graph::entity_graph::tests::update_diff_carries_delta_tags ... ok
[INFO] [stdout] test graph::entity_graph::tests::update_reindexes_refs ... ok
[INFO] [stdout] test graph::entity_graph::tests::validate_detects_dangling_refs ... ok
[INFO] [stdout] test graph::entity_graph::tests::version_increments_on_mutations ... ok
[INFO] [stdout] test graph::query_planner::tests::and_with_one_side_optimizable ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_for_and ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_for_comparison_uses_tag_existence ... ok
[INFO] [stdout] test graph::entity_graph::tests::query_cache_capacity_scales_with_entity_count ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_for_has ... ok
[INFO] [stdout] test graph::entity_graph::tests::update_reindexes_tags ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_for_missing ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_for_or ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_returns_none_for_multi_segment_path ... ok
[INFO] [stdout] test graph::query_planner::tests::empty_index ... ok
[INFO] [stdout] test graph::query_planner::tests::bitmap_candidates_returns_none_for_spec_match ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_limit_parameter_works ... ok
[INFO] [stdout] test graph::entity_graph::tests::read_returns_grid ... ok
[INFO] [stdout] test graph::entity_graph::tests::shortest_path_same_node ... ok
[INFO] [stdout] test graph::entity_graph::tests::update_missing_entity_fails ... ok
[INFO] [stdout] test graph::entity_graph::tests::update_merges_changes ... ok
[INFO] [stdout] test graph::query_planner::tests::missing_unknown_tag_returns_all ... ok
[INFO] [stdout] test graph::shared::tests::clone_shares_state ... ok
[INFO] [stdout] test graph::query_planner::tests::or_with_one_side_not_optimizable ... ok
[INFO] [stdout] test graph::entity_graph::tests::shortest_path_nonexistent ... ok
[INFO] [stdout] test graph::shared::tests::convenience_methods ... ok
[INFO] [stdout] test graph::shared::tests::changes_since_through_shared ... ok
[INFO] [stdout] test graph::shared::tests::concurrent_read_access ... ok
[INFO] [stdout] test graph::shared::tests::contains_check ... ok
[INFO] [stdout] test graph::shared::tests::default_creates_empty ... ok
[INFO] [stdout] test graph::shared::tests::broadcast_on_update_and_remove ... ok
[INFO] [stdout] test graph::shared::tests::no_subscribers_does_not_panic ... ok
[INFO] [stdout] test graph::shared::tests::refs_from_and_to ... ok
[INFO] [stdout] test graph::shared::tests::read_all_filter ... ok
[INFO] [stdout] test graph::shared::tests::subscribe_receives_versions ... ok
[INFO] [stdout] test graph::shared::tests::thread_safe_add_get ... ok
[INFO] [stdout] test graph::shared::tests::version_tracking_across_operations ... ok
[INFO] [stdout] test graph::snapshot::tests::invalid_magic_rejected ... ok
[INFO] [stdout] test graph::snapshot::tests::too_short_data_rejected ... ok
[INFO] [stdout] test graph::snapshot::tests::unsupported_version_rejected ... ok
[INFO] [stdout] test graph::snapshot::tests::v1_snapshot_rejected ... ok
[INFO] [stdout] test graph::entity_graph::tests::csr_survives_single_mutation ... ok
[INFO] [stdout] test graph::structural::tests::different_structures_get_different_fingerprints ... ok
[INFO] [stdout] test graph::structural::tests::empty_graph_produces_no_partitions ... ok
[INFO] [stdout] test graph::structural::tests::histogram_reflects_partition_sizes ... ok
[INFO] [stdout] test graph::structural::tests::identical_structures_get_same_fingerprint ... ok
[INFO] [stdout] test graph::shared::tests::concurrent_writes_from_threads ... ok
[INFO] [stdout] test graph::shared::tests::concurrent_read_write_mix ... ok
[INFO] [stdout] test graph::structural::tests::partitions_with_tags_returns_matching ... ok
[INFO] [stdout] test graph::shared::tests::concurrent_reads_from_threads ... ok
[INFO] [stdout] test graph::snapshot::tests::find_latest_on_empty_dir ... ok
[INFO] [stdout] test graph::structural::tests::stale_tracking ... ok
[INFO] [stdout] test graph::subscriber::tests::subscriber_receives_diffs ... ok
[INFO] [stdout] test graph::subscriber::tests::subscriber_coalesces_batches ... ok
[INFO] [stdout] test graph::subscriber::tests::subscriber_from_version ... ok
[INFO] [stdout] test graph::value_index::tests::eq_lookup_returns_matching_ids ... ok
[INFO] [stdout] test graph::value_index::tests::gt_lookup_returns_greater_ids ... ok
[INFO] [stdout] test graph::value_index::tests::ge_and_le_lookups ... ok
[INFO] [stdout] test graph::value_index::tests::lt_lookup_returns_lesser_ids ... ok
[INFO] [stdout] test graph::snapshot::tests::find_latest_returns_most_recent ... ok
[INFO] [stdout] test graph::snapshot::tests::corrupt_crc_detected ... ok
[INFO] [stdout] test graph::snapshot::tests::rotate_removes_old_snapshots ... ok
[INFO] [stdout] test graph::value_index::tests::unindexed_field_returns_empty ... ok
[INFO] [stdout] test graph::value_index::tests::remove_entity_from_index ... ok
[INFO] [stdout] test kinds::coord::tests::coord_equality ... ok
[INFO] [stdout] test kinds::datetime::tests::hdatetime_different_tz_name ... ok
[INFO] [stdout] test kinds::datetime::tests::hdatetime_display ... ok
[INFO] [stdout] test kinds::datetime::tests::hdatetime_equality ... ok
[INFO] [stdout] test kinds::datetime::tests::hdatetime_utc ... ok
[INFO] [stdout] test graph::value_index::tests::ne_lookup_excludes_matching ... ok
[INFO] [stdout] test graph::value_index::tests::string_index_works ... ok
[INFO] [stdout] test kinds::coord::tests::coord_display ... ok
[INFO] [stdout] test kinds::coord::tests::coord_is_copy ... ok
[INFO] [stdout] test kinds::kind::tests::kind_list ... ok
[INFO] [stdout] test kinds::kind::tests::kind_marker ... ok
[INFO] [stdout] test kinds::kind::tests::kind_bool ... ok
[INFO] [stdout] test kinds::kind::tests::kind_from_conversions ... ok
[INFO] [stdout] test kinds::kind::tests::kind_null ... ok
[INFO] [stdout] test graph::snapshot::tests::empty_graph_produces_valid_snapshot ... ok
[INFO] [stdout] test graph::snapshot::tests::write_and_read_roundtrip ... ok
[INFO] [stdout] test kinds::number::tests::number_convert_to_unitless_error ... ok
[INFO] [stdout] test kinds::number::tests::number_equality ... ok
[INFO] [stdout] test kinds::number::tests::number_nan_inequality ... ok
[INFO] [stdout] test kinds::number::tests::number_negative ... ok
[INFO] [stdout] test kinds::number::tests::number_ordering_different_unit ... ok
[INFO] [stdout] test kinds::number::tests::number_ordering_same_unit ... ok
[INFO] [stdout] test kinds::number::tests::number_scientific ... ok
[INFO] [stdout] test kinds::number::tests::number_special_inf ... ok
[INFO] [stdout] test kinds::number::tests::number_special_nan ... ok
[INFO] [stdout] test kinds::number::tests::number_special_neg_inf ... ok
[INFO] [stdout] test kinds::number::tests::number_unitless ... ok
[INFO] [stdout] test kinds::number::tests::number_with_unit ... ok
[INFO] [stdout] test kinds::number::tests::number_zero ... ok
[INFO] [stdout] test kinds::ref_::tests::ref_display_with_dis ... ok
[INFO] [stdout] test kinds::ref_::tests::ref_display_without_dis ... ok
[INFO] [stdout] test kinds::ref_::tests::ref_equality_ignores_dis ... ok
[INFO] [stdout] test kinds::ref_::tests::ref_from_val_convenience ... ok
[INFO] [stdout] test kinds::kind::tests::kind_ref ... ok
[INFO] [stdout] test kinds::ref_::tests::ref_hash_ignores_dis ... ok
[INFO] [stdout] test kinds::singletons::tests::marker_display ... ok
[INFO] [stdout] test kinds::singletons::tests::marker_equality ... ok
[INFO] [stdout] test kinds::kind::tests::kind_str ... ok
[INFO] [stdout] test kinds::ref_::tests::ref_inequality ... ok
[INFO] [stdout] test kinds::singletons::tests::na_display ... ok
[INFO] [stdout] test kinds::number::tests::number_hashable ... ok
[INFO] [stdout] test kinds::number::tests::number_convert_to_incompatible ... ok
[INFO] [stdout] test kinds::number::tests::number_convert_to_celsius ... ok
[INFO] [stdout] test kinds::number::tests::number_convert_to_by_symbol ... ok
[INFO] [stdout] test kinds::kind::tests::kind_number ... ok
[INFO] [stdout] test kinds::kind::tests::kind_equality ... ok
[INFO] [stdout] test kinds::singletons::tests::remove_display ... ok
[INFO] [stdout] test kinds::singletons::tests::singletons_are_hashable ... ok
[INFO] [stdout] test kinds::symbol::tests::symbol_display ... ok
[INFO] [stdout] test kinds::symbol::tests::symbol_equality ... ok
[INFO] [stdout] test kinds::symbol::tests::symbol_val ... ok
[INFO] [stdout] test kinds::tz::tests::tz_full_iana_path ... ok
[INFO] [stdout] test kinds::tz::tests::tz_gmt ... ok
[INFO] [stdout] test kinds::tz::tests::tz_london ... ok
[INFO] [stdout] test kinds::tz::tests::tz_rel ... ok
[INFO] [stdout] test kinds::tz::tests::tz_unknown ... ok
[INFO] [stdout] test kinds::tz::tests::tz_utc ... ok
[INFO] [stdout] test kinds::units::tests::unit_base_unit_lookup ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_by_symbol ... ok
[INFO] [stdout] test kinds::units::tests::unit_compatible_unknown ... ok
[INFO] [stdout] test kinds::tz::tests::tz_map_loaded ... ok
[INFO] [stdout] test kinds::tz::tests::tz_new_york ... ok
[INFO] [stdout] test kinds::units::tests::unit_compatible_same_quantity ... ok
[INFO] [stdout] test kinds::units::tests::unit_compatible_different_quantity ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_c_to_f ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_c_to_k ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_bar_to_psi ... ok
[INFO] [stdout] test kinds::singletons::tests::singletons_are_copy ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_f_to_c ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_f_to_k ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_feet_to_meters ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_identity ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_kwh_to_btu ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_psi_to_kpa ... ok
[INFO] [stdout] test kinds::units::tests::unit_has_quantity ... ok
[INFO] [stdout] test kinds::units::tests::unit_error_display ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_unknown ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_gallons_to_liters ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_hours_to_seconds ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_incompatible ... ok
[INFO] [stdout] test kinds::units::tests::unit_lookup_by_symbol ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_k_to_c ... ok
[INFO] [stdout] test kinds::units::tests::unit_convert_miles_to_km ... ok
[INFO] [stdout] test kinds::units::tests::unit_lookup_by_name ... ok
[INFO] [stdout] test kinds::units::tests::unit_lookup_celsius ... ok
[INFO] [stdout] test kinds::units::tests::units_loaded ... ok
[INFO] [stdout] test kinds::uri::tests::uri_val ... ok
[INFO] [stdout] test kinds::xstr::tests::xstr_equality ... ok
[INFO] [stdout] test ontology::conjunct::tests::contains_check ... ok
[INFO] [stdout] test ontology::conjunct::tests::three_part_conjunct ... ok
[INFO] [stdout] test kinds::units::tests::unit_not_found ... ok
[INFO] [stdout] test ontology::conjunct::tests::len_and_empty ... ok
[INFO] [stdout] test kinds::units::tests::unit_quantity_lookup ... ok
[INFO] [stdout] test kinds::uri::tests::uri_display ... ok
[INFO] [stdout] test kinds::uri::tests::uri_equality ... ok
[INFO] [stdout] test kinds::xstr::tests::xstr_display ... ok
[INFO] [stdout] test ontology::conjunct::tests::register_and_decompose ... ok
[INFO] [stdout] test ontology::conjunct::tests::unknown_returns_none ... ok
[INFO] [stdout] test ontology::def::tests::kind_choice ... ok
[INFO] [stdout] test ontology::def::tests::kind_conjunct ... ok
[INFO] [stdout] test ontology::def::tests::kind_feature ... ok
[INFO] [stdout] test ontology::def::tests::kind_marker_default ... ok
[INFO] [stdout] test ontology::def::tests::kind_val ... ok
[INFO] [stdout] test ontology::def::tests::kind_lib_takes_priority_over_conjunct ... ok
[INFO] [stdout] test ontology::def::tests::def_equality ... ok
[INFO] [stdout] test ontology::graph_validation::tests::validate_graph_empty_graph ... ok
[INFO] [stdout] test ontology::def::tests::kind_entity ... ok
[INFO] [stdout] test ontology::def::tests::kind_lib ... ok
[INFO] [stdout] test ontology::graph_validation::tests::validate_graph_dangling_refs ... ok
[INFO] [stdout] test ontology::graph_validation::tests::validate_graph_no_dangling_refs ... ok
[INFO] [stdout] test ontology::def::tests::kind_val_via_scalar ... ok
[INFO] [stdout] test ontology::def::tests::def_inequality ... ok
[INFO] [stdout] test ontology::graph_validation::tests::validate_graph_summary_counts ... ok
[INFO] [stdout] test ontology::lib::tests::lib_with_defs ... ok
[INFO] [stdout] test ontology::lib::tests::new_lib_defaults ... ok
[INFO] [stdout] test ontology::namespace::tests::def_count ... ok
[INFO] [stdout] test ontology::namespace::tests::choices_from_index ... ok
[INFO] [stdout] test ontology::namespace::tests::fits_missing_mandatory ... ok
[INFO] [stdout] test ontology::namespace::tests::conjunct_parts_decompose ... ok
[INFO] [stdout] test ontology::namespace::tests::conjunct_parts_unknown ... ok
[INFO] [stdout] test ontology::namespace::tests::is_a_direct_parent ... ok
[INFO] [stdout] test ontology::namespace::tests::fits_explain_missing_marker ... ok
[INFO] [stdout] test ontology::namespace::tests::fits_with_valid_entity ... ok
[INFO] [stdout] test ontology::namespace::tests::is_a_ancestor ... ok
[INFO] [stdout] test ontology::namespace::tests::is_a_false_for_unrelated ... ok
[INFO] [stdout] test ontology::namespace::tests::is_a_self ... ok
[INFO] [stdout] test ontology::namespace::tests::libs_registered ... ok
[INFO] [stdout] test ontology::namespace::tests::register_and_get_spec ... ok
[INFO] [stdout] test ontology::namespace::tests::mandatory_tags_for_ahu ... ok
[INFO] [stdout] test ontology::namespace::tests::new_namespace_is_empty ... ok
[INFO] [stdout] test ontology::namespace::tests::register_and_get_def ... ok
[INFO] [stdout] test ontology::namespace::tests::specs_filtered_by_lib ... ok
[INFO] [stdout] test ontology::namespace::tests::unload_bundled_fails ... ok
[INFO] [stdout] test ontology::namespace::tests::subtypes_direct ... ok
[INFO] [stdout] test ontology::namespace::tests::tags_for_entity_type ... ok
[INFO] [stdout] test ontology::namespace::tests::validate_entity_finds_missing_markers ... ok
[INFO] [stdout] test ontology::namespace::tests::validate_entity_no_issues_for_valid ... ok
[INFO] [stdout] test ontology::taxonomy::tests::all_subtypes_full_tree ... ok
[INFO] [stdout] test ontology::taxonomy::tests::all_subtypes_leaf ... ok
[INFO] [stdout] test ontology::taxonomy::tests::contains_and_len ... ok
[INFO] [stdout] test ontology::taxonomy::tests::empty_tree ... ok
[INFO] [stdout] test ontology::taxonomy::tests::is_subtype_direct_parent ... ok
[INFO] [stdout] test ontology::taxonomy::tests::is_subtype_false_for_child ... ok
[INFO] [stdout] test ontology::taxonomy::tests::is_subtype_ancestor ... ok
[INFO] [stdout] test ontology::taxonomy::tests::is_subtype_false_for_unrelated ... ok
[INFO] [stdout] test ontology::taxonomy::tests::is_subtype_self ... ok
[INFO] [stdout] test ontology::taxonomy::tests::mandatory_tags_caching ... ok
[INFO] [stdout] test ontology::taxonomy::tests::mandatory_tags_self_mandatory ... ok
[INFO] [stdout] test ontology::taxonomy::tests::multiple_inheritance ... ok
[INFO] [stdout] test ontology::taxonomy::tests::subtypes_of_direct_children ... ok
[INFO] [stdout] test ontology::taxonomy::tests::subtypes_of_leaf ... ok
[INFO] [stdout] test ontology::taxonomy::tests::supertypes_of_root ... ok
[INFO] [stdout] test ontology::taxonomy::tests::supertypes_of_bfs_order ... ok
[INFO] [stdout] test ontology::trio_loader::tests::load_empty_trio ... ok
[INFO] [stdout] test ontology::trio_loader::tests::load_trio_with_of_tag ... ok
[INFO] [stdout] test ontology::trio_loader::tests::str_val_missing ... ok
[INFO] [stdout] test ontology::taxonomy::tests::mandatory_tags_basic ... ok
[INFO] [stdout] test ontology::trio_loader::tests::load_small_trio_snippet ... ok
[INFO] [stdout] test ontology::trio_loader::tests::str_val_present ... ok
[INFO] [stdout] test ontology::trio_loader::tests::symbol_list_missing_tag ... ok
[INFO] [stdout] test ontology::trio_loader::tests::symbol_list_multiple ... ok
[INFO] [stdout] test ontology::trio_loader::tests::symbol_list_single ... ok
[INFO] [stdout] test ontology::trio_loader::tests::to_symbol_str_from_number_is_none ... ok
[INFO] [stdout] test ontology::trio_loader::tests::to_symbol_str_from_ref ... ok
[INFO] [stdout] test ontology::trio_loader::tests::to_symbol_str_from_str ... ok
[INFO] [stdout] test ontology::validation::tests::fit_issue_equality ... ok
[INFO] [stdout] test ontology::trio_loader::tests::to_symbol_str_from_symbol ... ok
[INFO] [stdout] test ontology::validation::tests::fit_issue_missing_marker ... ok
[INFO] [stdout] test ontology::validation::tests::validation_issue ... ok
[INFO] [stdout] test serde_impls::tests::coord_round_trip ... ok
[INFO] [stdout] test serde_impls::tests::hdict_empty ... ok
[INFO] [stdout] test serde_impls::tests::hdatetime_round_trip ... ok
[INFO] [stdout] test serde_impls::tests::hcol_round_trip ... ok
[INFO] [stdout] test serde_impls::tests::hdict_with_tags ... ok
[INFO] [stdout] test serde_impls::tests::hgrid_round_trip ... ok
[INFO] [stdout] test serde_impls::tests::href_with_dis ... ok
[INFO] [stdout] test serde_impls::tests::href_without_dis ... ok
[INFO] [stdout] test serde_impls::tests::kind_bool ... ok
[INFO] [stdout] test serde_impls::tests::kind_coord ... ok
[INFO] [stdout] test serde_impls::tests::kind_date ... ok
[INFO] [stdout] test serde_impls::tests::kind_datetime ... ok
[INFO] [stdout] test serde_impls::tests::kind_dict ... ok
[INFO] [stdout] test serde_impls::tests::kind_grid ... ok
[INFO] [stdout] test serde_impls::tests::kind_marker ... ok
[INFO] [stdout] test serde_impls::tests::kind_list ... ok
[INFO] [stdout] test serde_impls::tests::kind_na ... ok
[INFO] [stdout] test serde_impls::tests::kind_null ... ok
[INFO] [stdout] test serde_impls::tests::kind_null_json_shape ... ok
[INFO] [stdout] test serde_impls::tests::kind_num_json_shape ... ok
[INFO] [stdout] test serde_impls::tests::kind_num_no_unit_json_shape ... ok
[INFO] [stdout] test serde_impls::tests::kind_number_with_unit ... ok
[INFO] [stdout] test serde_impls::tests::kind_ref_json_shape ... ok
[INFO] [stdout] test serde_impls::tests::kind_number_unitless ... ok
[INFO] [stdout] test serde_impls::tests::kind_ref_with_dis ... ok
[INFO] [stdout] test serde_impls::tests::kind_str ... ok
[INFO] [stdout] test serde_impls::tests::kind_symbol ... ok
[INFO] [stdout] test serde_impls::tests::kind_time ... ok
[INFO] [stdout] test serde_impls::tests::kind_uri ... ok
[INFO] [stdout] test serde_impls::tests::kind_xstr ... ok
[INFO] [stdout] test serde_impls::tests::nested_dict_in_grid_in_dict ... ok
[INFO] [stdout] test serde_impls::tests::number_unitless ... ok
[INFO] [stdout] test serde_impls::tests::number_with_unit ... ok
[INFO] [stdout] test serde_impls::tests::symbol_round_trip ... ok
[INFO] [stdout] test serde_impls::tests::uri_round_trip ... ok
[INFO] [stdout] test serde_impls::tests::xstr_round_trip ... ok
[INFO] [stdout] test xeto::ast::tests::slot_def_new ... ok
[INFO] [stdout] test xeto::ast::tests::spec_def_new ... ok
[INFO] [stdout] test xeto::ast::tests::xeto_file_empty ... ok
[INFO] [stdout] test serde_impls::tests::kind_ref_without_dis ... ok
[INFO] [stdout] test xeto::export::tests::export_abstract_spec ... ok
[INFO] [stdout] test xeto::export::tests::export_lib_with_pragma ... ok
[INFO] [stdout] test xeto::export::tests::export_maybe_slot ... ok
[INFO] [stdout] test xeto::export::tests::export_simple_spec ... ok
[INFO] [stdout] test xeto::export::tests::export_roundtrip ... ok
[INFO] [stdout] test xeto::export::tests::export_slot_default_value_escapes_strings ... ok
[INFO] [stdout] test xeto::export::tests::export_spec_with_doc ... ok
[INFO] [stdout] test xeto::export::tests::export_spec_with_query_slot ... ok
[INFO] [stdout] test filter::eval::tests::spec_match_no_fit ... ok
[INFO] [stdout] test xeto::export::tests::format_meta_tag_escapes_strings ... ok
[INFO] [stdout] test xeto::fitting::tests::constraint_list_max_size ... ok
[INFO] [stdout] test xeto::fitting::tests::constraint_max_val ... ok
[INFO] [stdout] test xeto::fitting::tests::constraint_min_val ... ok
[INFO] [stdout] test xeto::fitting::tests::constraint_non_empty ... ok
[INFO] [stdout] test xeto::export::tests::export_spec_with_typed_slots ... ok
[INFO] [stdout] test xeto::export::tests::format_meta_tag_escapes_newlines_and_tabs ... ok
[INFO] [stdout] test xeto::fitting::tests::constraint_unitless ... ok
[INFO] [stdout] test xeto::fitting::tests::entity_fits_with_all_markers ... ok
[INFO] [stdout] test xeto::fitting::tests::entity_missing_mandatory_marker_fails ... ok
[INFO] [stdout] test xeto::fitting::tests::fits_explain_returns_missing_marker_issues ... ok
[INFO] [stdout] test xeto::fitting::tests::fits_with_resolver_none_works ... ok
[INFO] [stdout] test filter::eval::tests::spec_match_qualified_name ... ok
[INFO] [stdout] test xeto::fitting::tests::fits_explain_empty_when_valid ... ok
[INFO] [stdout] test filter::eval::tests::spec_match_with_namespace ... ok
[INFO] [stdout] test xeto::fitting::tests::kind_type_name_coverage ... ok
[INFO] [stdout] test kinds::number::tests::number_integer_display ... ok
[INFO] [stdout] test xeto::fitting::tests::maybe_slots_are_skipped ... ok
[INFO] [stdout] test xeto::fitting::tests::query_traversal_follows_refs ... ok
[INFO] [stdout] test graph::entity_graph::tests::equip_points_returns_points_only ... ok
[INFO] [stdout] test xeto::fitting::tests::query_traversal_transitive ... ok
[INFO] [stdout] test xeto::fitting::tests::traverse_refs_handles_cycles ... ok
[INFO] [stdout] test xeto::fitting::tests::type_checking_correct_type ... ok
[INFO] [stdout] test xeto::lexer::tests::bare_cr_as_whitespace ... ok
[INFO] [stdout] test xeto::lexer::tests::colon_colon_qualified_name ... ok
[INFO] [stdout] test xeto::lexer::tests::comments ... ok
[INFO] [stdout] test xeto::lexer::tests::complex_sequence ... ok
[INFO] [stdout] test xeto::lexer::tests::delimiters ... ok
[INFO] [stdout] test xeto::lexer::tests::newlines_collapsed ... ok
[INFO] [stdout] test xeto::lexer::tests::number_exponent_without_fraction ... ok
[INFO] [stdout] test xeto::lexer::tests::number_with_exponent ... ok
[INFO] [stdout] test xeto::lexer::tests::number_with_unit ... ok
[INFO] [stdout] test xeto::lexer::tests::string_escape_sequences ... ok
[INFO] [stdout] test xeto::lexer::tests::token_positions ... ok
[INFO] [stdout] test xeto::fitting::tests::invalid_regex_pattern_produces_constraint_violation ... ok
[INFO] [stdout] test xeto::lexer::tests::tokenize_identifiers ... ok
[INFO] [stdout] test xeto::lexer::tests::tokenize_numbers ... ok
[INFO] [stdout] test xeto::lexer::tests::tokenize_strings ... ok
[INFO] [stdout] test xeto::lexer::tests::unterminated_string_error ... ok
[INFO] [stdout] test xeto::fitting::tests::type_checking_wrong_type ... ok
[INFO] [stdout] test xeto::loader::tests::load_missing_dependency_fails ... ok
[INFO] [stdout] test xeto::loader::tests::load_and_unload_roundtrip ... ok
[INFO] [stdout] test xeto::fitting::tests::constraint_pattern ... ok
[INFO] [stdout] test xeto::fitting::tests::valid_constraints_produce_no_issues ... ok
[INFO] [stdout] test xeto::loader::tests::load_simple_spec ... ok
[INFO] [stdout] test xeto::loader::tests::load_registers_in_namespace ... ok
[INFO] [stdout] test xeto::loader::tests::load_multiple_specs ... ok
[INFO] [stdout] test xeto::fitting::tests::fitting_checks_inherited_markers ... ok
[INFO] [stdout] test xeto::loader::tests::load_with_deps_circular_detected ... ok
[INFO] [stdout] test xeto::parser::tests::meta_dict_value ... ok
[INFO] [stdout] test xeto::loader::tests::load_with_pragma ... ok
[INFO] [stdout] test xeto::parser::tests::parse_doc_comments ... ok
[INFO] [stdout] test xeto::parser::tests::parse_empty_file ... ok
[INFO] [stdout] test xeto::parser::tests::parse_global_slots ... ok
[INFO] [stdout] test xeto::parser::tests::parse_marker_slots ... ok
[INFO] [stdout] test xeto::parser::tests::parse_maybe_marker_slot ... ok
[INFO] [stdout] test xeto::parser::tests::parse_maybe_slots ... ok
[INFO] [stdout] test xeto::loader::tests::load_with_deps_duplicate_name ... ok
[INFO] [stdout] test xeto::parser::tests::parse_meta_with_typed_value ... ok
[INFO] [stdout] test xeto::parser::tests::parse_defaults ... ok
[INFO] [stdout] test xeto::parser::tests::parse_multiple_specs ... ok
[INFO] [stdout] test xeto::parser::tests::parse_dotted_type_refs ... ok
[INFO] [stdout] test xeto::parser::tests::meta_parameterized_type ... ok
[INFO] [stdout] test xeto::parser::tests::parse_number_defaults ... ok
[INFO] [stdout] test xeto::loader::tests::load_with_deps_respects_order ... ok
[INFO] [stdout] test xeto::parser::tests::parse_qualified_type_refs ... ok
[INFO] [stdout] test xeto::parser::tests::parse_pragma ... ok
[INFO] [stdout] test xeto::parser::tests::parse_query_slots ... ok
[INFO] [stdout] test xeto::parser::tests::parse_section_separator_comments ... ok
[INFO] [stdout] test xeto::parser::tests::parse_nested_body ... ok
[INFO] [stdout] test xeto::loader::tests::load_with_deps_single_dir ... ok
[INFO] [stdout] test xeto::parser::tests::parse_slot_doc_comments ... ok
[INFO] [stdout] test xeto::parser::tests::parse_spec_no_base ... ok
[INFO] [stdout] test xeto::parser::tests::parse_spec_with_meta ... ok
[INFO] [stdout] test xeto::parser::tests::spec_colon_meta_no_base ... ok
[INFO] [stdout] test xeto::resolver::tests::circular_dependency_detected ... ok
[INFO] [stdout] test xeto::resolver::tests::dependency_order_single_lib ... ok
[INFO] [stdout] test xeto::resolver::tests::dependency_ordering ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_fallback_to_all_libs ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_finds_in_current_lib ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_finds_in_dependencies ... ok
[INFO] [stdout] test xeto::parser::tests::parse_typed_slots ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_finds_in_sys ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_qualified_returns_as_is ... ok
[INFO] [stdout] test xeto::spec::tests::effective_slots_includes_inherited ... ok
[INFO] [stdout] test xeto::parser::tests::slot_maybe_after_params ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_sys_builtin_from_any_context ... ok
[INFO] [stdout] test xeto::resolver::tests::resolve_unknown_returns_none ... ok
[INFO] [stdout] test xeto::spec::tests::slot_from_ast_slot_def ... ok
[INFO] [stdout] test xeto::spec::tests::slot_is_maybe ... ok
[INFO] [stdout] test xeto::spec::tests::spec_mandatory_markers ... ok
[INFO] [stdout] test xeto::spec::tests::spec_from_def_conversion ... ok
[INFO] [stdout] test xeto::spec::tests::effective_slots_cycle_does_not_stackoverflow ... ok
[INFO] [stdout] test xeto::spec::tests::spec_markers ... ok
[INFO] [stdout] test xeto::spec::tests::spec_new ... ok
[INFO] [stdout] test xeto::spec::tests::spec_point_specs ... ok
[INFO] [stdout] test xeto::spec::tests::spec_point_specs_no_points_slot ... ok
[INFO] [stdout] test ontology::namespace::tests::supertypes_chain ... ok
[INFO] [stdout] test ontology::namespace::tests::unload_lib_removes_specs ... ok
[INFO] [stdout] test ontology::namespace::tests::unload_with_dependent_fails ... ok
[INFO] [stdout] test serde_impls::tests::kind_remove ... ok
[INFO] [stdout] test ontology::namespace::tests::fits_explain_no_issues_when_valid ... ok
[INFO] [stdout] test xeto::parser::tests::parse_simple_spec ... ok
[INFO] [stdout] test auth::tests::test_derive_credentials ... ok
[INFO] [stdout] test ontology::namespace::tests::load_standard_includes_xeto_specs ... ok
[INFO] [stdout] test ontology::namespace::tests::bundled_libs_cannot_be_unloaded ... ok
[INFO] [stdout] test auth::tests::test_client_server_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1075 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.73s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-a123faa23263912a)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test filter_round_trip_parse_and_match ... ok
[INFO] [stdout] test graph_crud_lifecycle ... ok
[INFO] [stdout] test multi_codec_grid_fidelity ... ok
[INFO] [stdout] test codec_round_trip_all_formats ... ok
[INFO] [stdout] test ontology_fits_and_validation_in_graph ... ok
[INFO] [stderr]      Running tests/graph_integration.rs (/opt/rustwide/target/debug/deps/graph_integration-d9bb4c9b01a80bc8)
[INFO] [stdout] test full_pipeline_load_build_query_validate_encode_decode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 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 empty_graph_queries ... ok
[INFO] [stdout] test add_remove_readd ... ok
[INFO] [stdout] test from_grid_with_all_entities ... ok
[INFO] [stdout] test changelog_integration ... ok
[INFO] [stdout] test ref_traversal_all_types ... ok
[INFO] [stdout] test load_entities_and_filter ... ok
[INFO] [stdout] test filter_with_or ... ok
[INFO] [stdout] test multiple_updates_same_entity ... ok
[INFO] [stdout] test error_on_invalid_filter ... ok
[INFO] [stdout] test ref_traversal_reverse ... ok
[INFO] [stdout] test read_returns_correct_grid_columns ... ok
[INFO] [stdout] test filter_with_comparison ... ok
[INFO] [stdout] test grid_round_trip ... ok
[INFO] [stdout] test ref_traversal_forward ... ok
[INFO] [stdout] test filter_with_missing ... ok
[INFO] [stdout] test filter_with_limit ... ok
[INFO] [stdout] test contains_after_operations ... ok
[INFO] [stdout] test filter_with_path_traversal ... ok
[INFO] [stdout] test remove_updates_ref_indices ... ok
[INFO] [stdout] test shared_graph_read_closure ... ok
[INFO] [stdout] test shared_graph_remove_and_verify ... ok
[INFO] [stdout] test shared_graph_update_and_version ... ok
[INFO] [stdout] test shared_graph_write_closure ... ok
[INFO] [stdout] test update_preserves_refs_in_query ... ok
[INFO] [stdout] test bulk_import_100_entities ... ok
[INFO] [stdout] test shared_graph_bulk_concurrent_writes ... ok
[INFO] [stdout] test shared_graph_concurrent_access ... ok
[INFO] [stdout] test spec_fitting_with_namespace ... ok
[INFO] [stderr]      Running tests/ontology_integration.rs (/opt/rustwide/target/debug/deps/ontology_integration-7f698737e70aa846)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test airhandlingequip_subtypes_include_ahu ... ok
[INFO] [stdout] test conjunct_hot_water ... ok
[INFO] [stdout] test ahu_is_not_site ... ok
[INFO] [stdout] test ahu_def_exists ... ok
[INFO] [stdout] test choice_def_exists ... ok
[INFO] [stdout] test conjunct_ac_elec ... ok
[INFO] [stdout] test ahu_is_entity ... ok
[INFO] [stdout] test fits_valid_ahu_entity ... ok
[INFO] [stdout] test ahu_is_not_point ... ok
[INFO] [stdout] test ahu_is_marker ... ok
[INFO] [stdout] test fits_missing_equip_marker ... ok
[INFO] [stdout] test entity_def_kind ... ok
[INFO] [stdout] test fits_explain_returns_issues ... ok
[INFO] [stdout] test validate_entity_catches_missing_mandatory ... ok
[INFO] [stdout] test site_is_entity ... ok
[INFO] [stdout] test load_standard_defs_count ... ok
[INFO] [stdout] test ahu_supertypes ... ok
[INFO] [stdout] test equip_subtypes_include_airhandlingequip ... ok
[INFO] [stdout] test site_def_exists ... ok
[INFO] [stdout] test tags_for_entity_type ... ok
[INFO] [stdout] test lib_versions ... ok
[INFO] [stdout] test lib_def_kind ... ok
[INFO] [stdout] test standard_libs_present ... ok
[INFO] [stdout] test ahu_is_equip ... ok
[INFO] [stdout] test non_conjunct_returns_none ... ok
[INFO] [stdout] test validate_entity_passes_for_valid_entity ... ok
[INFO] [stdout] test meter_is_equip ... ok
[INFO] [stdout] test point_is_entity ... ok
[INFO] [stdout] test mandatory_tags_for_ahu ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/haystack_server-d6a805406cad796b)
[INFO] [stdout] 
[INFO] [stdout] running 183 tests
[INFO] [stdout] test actions::tests::invoke_unknown_action_returns_error ... ok
[INFO] [stdout] test actions::tests::list_actions_returns_registered_names ... ok
[INFO] [stdout] test actions::tests::register_replaces_existing_handler ... ok
[INFO] [stdout] test actions::tests::empty_registry_has_no_actions ... ok
[INFO] [stdout] test app::tests::required_permission_admin_ops ... ok
[INFO] [stdout] test app::tests::required_permission_federation_sync_named ... ok
[INFO] [stdout] test app::tests::required_permission_read_ops ... ok
[INFO] [stdout] test app::tests::required_permission_write_ops ... ok
[INFO] [stdout] test actions::tests::invoke_known_action ... ok
[INFO] [stdout] test auth::tests::check_permission_admin_has_all ... ok
[INFO] [stdout] test auth::tests::check_permission_viewer_limited ... ok
[INFO] [stdout] test auth::tests::empty_manager_is_disabled ... ok
[INFO] [stdout] test app::tests::writer_cannot_access_system ... ok
[INFO] [stdout] test app::tests::viewer_can_close ... ok
[INFO] [stdout] test app::tests::formats_passes_through_without_auth ... ok
[INFO] [stdout] test app::tests::admin_can_access_system ... ok
[INFO] [stdout] test app::tests::protected_endpoint_without_token_returns_401 ... ok
[INFO] [stdout] test app::tests::writer_can_write ... ok
[INFO] [stdout] test app::tests::invalid_token_returns_401 ... ok
[INFO] [stdout] test app::tests::ops_passes_through_without_auth ... ok
[INFO] [stdout] test app::tests::viewer_cannot_invoke_action ... ok
[INFO] [stdout] test auth::tests::with_token_ttl_sets_custom_duration ... ok
[INFO] [stdout] test auth::users::tests::builtin_roles_exist ... ok
[INFO] [stdout] test app::tests::viewer_cannot_write ... ok
[INFO] [stdout] test app::tests::viewer_cannot_access_system ... ok
[INFO] [stdout] test app::tests::about_passes_through_without_auth ... ok
[INFO] [stdout] test app::tests::viewer_can_his_read ... ok
[INFO] [stdout] test app::tests::viewer_can_read ... ok
[INFO] [stdout] test auth::users::tests::parse_invalid_format ... ok
[INFO] [stdout] test app::tests::viewer_cannot_his_write ... ok
[INFO] [stdout] test auth::users::tests::resolve_permissions_both_prefers_permissions ... ok
[INFO] [stdout] test auth::users::tests::resolve_permissions_direct ... ok
[INFO] [stdout] test auth::users::tests::resolve_permissions_role ... ok
[INFO] [stdout] test auth::tests::hello_known_user_succeeds ... ok
[INFO] [stdout] test connector::tests::cache_version_increments_on_update ... ok
[INFO] [stdout] test connector::tests::cache_version_starts_at_zero ... ok
[INFO] [stdout] test connector::tests::connector_config_deserialization ... ok
[INFO] [stdout] test connector::tests::connector_config_deserialization_full ... ok
[INFO] [stdout] test connector::tests::connector_config_deserialization_without_prefix ... ok
[INFO] [stdout] test connector::tests::connector_config_new_fields_default_to_none ... ok
[INFO] [stdout] test connector::tests::connector_new_defaults_transport_and_connected ... ok
[INFO] [stdout] test connector::tests::connector_new_empty_cache ... ok
[INFO] [stdout] test connector::tests::connector_state_populated ... ok
[INFO] [stdout] test connector::tests::connector_tracks_entity_ids_in_ownership ... ok
[INFO] [stdout] test connector::tests::derive_ws_url_from_http ... ok
[INFO] [stdout] test connector::tests::derive_ws_url_from_https ... ok
[INFO] [stdout] test connector::tests::explicit_ws_url_overrides_derived ... ok
[INFO] [stdout] test connector::tests::filter_cached_or_query ... ok
[INFO] [stdout] test connector::tests::filter_cached_respects_limit ... ok
[INFO] [stdout] test connector::tests::filter_cached_returns_matching_entities ... ok
[INFO] [stdout] test connector::tests::id_prefix_application ... ok
[INFO] [stdout] test connector::tests::id_prefix_skips_non_ref_values ... ok
[INFO] [stdout] test connector::tests::remote_watch_add_and_remove ... ok
[INFO] [stdout] test connector::tests::strip_prefix_refs_ignores_non_matching ... ok
[INFO] [stdout] test connector::tests::strip_prefix_refs_reverses_prefix ... ok
[INFO] [stdout] test content::tests::decode_request_grid_bytes_text_fallback ... ok
[INFO] [stdout] test content::tests::decode_request_grid_empty_zinc ... ok
[INFO] [stdout] test content::tests::encode_decode_hbf_round_trip ... ok
[INFO] [stdout] test content::tests::encode_response_grid_default ... ok
[INFO] [stdout] test content::tests::normalize_content_type_empty ... ok
[INFO] [stdout] test content::tests::normalize_content_type_hbf ... ok
[INFO] [stdout] test content::tests::normalize_content_type_json_v3 ... ok
[INFO] [stdout] test content::tests::normalize_content_type_with_charset ... ok
[INFO] [stdout] test content::tests::parse_accept_empty ... ok
[INFO] [stdout] test content::tests::parse_accept_hbf ... ok
[INFO] [stdout] test content::tests::parse_accept_json ... ok
[INFO] [stdout] test content::tests::parse_accept_json_v3 ... ok
[INFO] [stdout] test content::tests::parse_accept_multiple_with_quality ... ok
[INFO] [stdout] test content::tests::parse_accept_trio ... ok
[INFO] [stdout] test content::tests::parse_accept_unsupported_falls_back ... ok
[INFO] [stdout] test content::tests::parse_accept_wildcard ... ok
[INFO] [stdout] test content::tests::parse_accept_zinc ... ok
[INFO] [stdout] test content::tests::streaming_zinc_matches_full_encode ... ok
[INFO] [stdout] test demo::tests::demo_has_expected_count ... ok
[INFO] [stdout] test demo::tests::demo_points_have_kind ... ok
[INFO] [stdout] test demo::tests::demo_refs_are_valid ... ok
[INFO] [stdout] test demo::tests::demo_site_has_required_tags ... ok
[INFO] [stdout] test domain_scope::tests::default_is_wildcard ... ok
[INFO] [stdout] test domain_scope::tests::empty_scope_includes_unscoped ... ok
[INFO] [stdout] test domain_scope::tests::scoped_excludes_non_matching ... ok
[INFO] [stdout] test domain_scope::tests::scoped_includes_matching ... ok
[INFO] [stdout] test domain_scope::tests::unscoped_connector_always_included ... ok
[INFO] [stdout] test domain_scope::tests::wildcard_includes_everything ... ok
[INFO] [stdout] test error::tests::error_grid_has_err_marker ... ok
[INFO] [stdout] test error::tests::grid_from_cols_rows_builds_correctly ... ok
[INFO] [stdout] test error::tests::haystack_error_display ... ok
[INFO] [stdout] test error::tests::haystack_error_response_is_grid ... ok
[INFO] [stdout] test federation::tests::cached_entities_for_scope_scoped ... ok
[INFO] [stdout] test federation::tests::cached_entities_for_scope_wildcard ... ok
[INFO] [stdout] test federation::tests::connector_states_populated ... ok
[INFO] [stdout] test federation::tests::federation_add_connector ... ok
[INFO] [stdout] test federation::tests::federation_all_cached_entities_empty ... ok
[INFO] [stdout] test federation::tests::federation_from_toml_str ... ok
[INFO] [stdout] test federation::tests::federation_from_toml_str_empty ... ok
[INFO] [stdout] test federation::tests::federation_from_toml_str_invalid ... ok
[INFO] [stdout] test federation::tests::federation_new_empty ... ok
[INFO] [stdout] test federation::tests::federation_owner_of_returns_correct_connector ... ok
[INFO] [stdout] test federation::tests::federation_status_empty ... ok
[INFO] [stdout] test federation::tests::federation_status_with_connectors ... ok
[INFO] [stdout] test his_store::tests::duplicate_timestamp_replaces_value ... ok
[INFO] [stdout] test his_store::tests::empty_read_returns_empty ... ok
[INFO] [stdout] test his_store::tests::multiple_points_are_independent ... ok
[INFO] [stdout] test his_store::tests::range_query ... ok
[INFO] [stdout] test his_store::tests::sorted_order_maintained ... ok
[INFO] [stdout] test his_store::tests::write_and_read_back ... ok
[INFO] [stdout] test ops::data::tests::export_empty_graph ... ok
[INFO] [stdout] test ops::data::tests::import_entities ... ok
[INFO] [stdout] test ops::data::tests::import_then_export_roundtrip ... ok
[INFO] [stdout] test ops::data::tests::import_updates_existing_entities ... ok
[INFO] [stdout] test ops::graph::tests::connected_components_disjoint ... ok
[INFO] [stdout] test ops::graph::tests::connected_components_empty ... ok
[INFO] [stdout] test ops::graph::tests::connected_components_single ... ok
[INFO] [stdout] test ops::graph::tests::entity_depth_classification ... ok
[INFO] [stdout] test ops::graph::tests::entity_type_detection ... ok
[INFO] [stdout] test ops::graph::tests::parent_ref_detection ... ok
[INFO] [stdout] test ops::system::tests::backup_empty_graph ... ok
[INFO] [stdout] test ops::system::tests::backup_then_restore_roundtrip ... ok
[INFO] [stdout] test ops::system::tests::backup_with_entities ... ok
[INFO] [stdout] test ops::system::tests::restore_adds_entities ... ok
[INFO] [stdout] test ops::system::tests::restore_invalid_json_returns_400 ... ok
[INFO] [stdout] test ops::system::tests::restore_updates_existing_entities ... ok
[INFO] [stdout] test ops::system::tests::status_empty_graph ... ok
[INFO] [stdout] test ops::system::tests::status_reflects_watch_count ... ok
[INFO] [stdout] test ops::system::tests::status_returns_server_info ... ok
[INFO] [stdout] test session::affinity::tests::default_creates_empty ... ok
[INFO] [stdout] test session::affinity::tests::ownership_cache_overwrites ... ok
[INFO] [stdout] test session::affinity::tests::record_hit_and_ownership ... ok
[INFO] [stdout] test session::affinity::tests::rerank_orders_by_hits ... ok
[INFO] [stdout] test session::peek::tests::lazy_collect_limit_exceeds_items ... ok
[INFO] [stdout] test session::peek::tests::lazy_collect_with_limit ... ok
[INFO] [stdout] test session::peek::tests::lazy_collect_without_limit ... ok
[INFO] [stdout] test session::peek::tests::peek_empty_iterator ... ok
[INFO] [stdout] test session::peek::tests::peek_limit_not_satisfied ... ok
[INFO] [stdout] test session::peek::tests::peek_limit_satisfied ... ok
[INFO] [stdout] test session::peek::tests::peek_no_limit_stops_at_peek_size ... ok
[INFO] [stdout] test session::profile::tests::registry_create_get_remove ... ok
[INFO] [stdout] test session::profile::tests::registry_default ... ok
[INFO] [stdout] test session::profile::tests::registry_evict_idle ... ok
[INFO] [stdout] test session::profile::tests::registry_get_mut ... ok
[INFO] [stdout] test session::profile::tests::session_idle_detection ... ok
[INFO] [stdout] test session::profile::tests::session_profile_creation ... ok
[INFO] [stdout] test session::profile::tests::session_touch_updates_activity ... ok
[INFO] [stdout] test session::working_set::tests::cache_hit_on_same_version ... ok
[INFO] [stdout] test session::working_set::tests::cache_miss_on_connector_version_change ... ok
[INFO] [stdout] test session::working_set::tests::cache_miss_on_graph_version_change ... ok
[INFO] [stdout] test session::working_set::tests::clear_empties_cache ... ok
[INFO] [stdout] test session::working_set::tests::lru_eviction ... ok
[INFO] [stdout] test session::working_set::tests::stats_tracking ... ok
[INFO] [stdout] test ws::tests::add_ids_ownership_check ... ok
[INFO] [stdout] test ws::tests::get_ids_returns_none_for_unknown_watch ... ok
[INFO] [stdout] test ws::tests::poll_no_changes ... ok
[INFO] [stdout] test ws::tests::poll_unknown_watch ... ok
[INFO] [stdout] test ws::tests::poll_with_changes ... ok
[INFO] [stdout] test ws::tests::poll_wrong_owner ... ok
[INFO] [stdout] test ws::tests::remove_ids_leaves_watch_alive ... ok
[INFO] [stdout] test ws::tests::remove_ids_nonexistent_watch ... ok
[INFO] [stdout] test ws::tests::remove_ids_selective ... ok
[INFO] [stdout] test ws::tests::remove_ids_wrong_owner ... ok
[INFO] [stdout] test ws::tests::subscribe_returns_watch_id ... ok
[INFO] [stdout] test ws::tests::unsubscribe_full_removal ... ok
[INFO] [stdout] test ws::tests::unsubscribe_removes_watch ... ok
[INFO] [stdout] test ws::tests::unsubscribe_wrong_owner ... ok
[INFO] [stdout] test ws::tests::ws_error_response_format ... ok
[INFO] [stdout] test ws::tests::ws_request_deserialization ... ok
[INFO] [stdout] test ws::tests::ws_request_deserialization_minimal ... ok
[INFO] [stdout] test ws::tests::ws_response_includes_req_id ... ok
[INFO] [stdout] test ws::tests::ws_response_omits_none_fields ... ok
[INFO] [stdout] test ws::tests::ws_response_serialization ... ok
[INFO] [stdout] test auth::tests::manager_with_users_is_enabled ... ok
[INFO] [stdout] test auth::tests::revoke_token_returns_false_for_unknown ... ok
[INFO] [stdout] test auth::tests::validate_token_returns_none_for_unknown ... ok
[INFO] [stdout] test auth::tests::validate_token_fails_after_expiry ... ok
[INFO] [stdout] test auth::tests::validate_token_succeeds_before_expiry ... ok
[INFO] [stdout] test auth::users::tests::permissions_override_role ... ok
[INFO] [stdout] test auth::users::tests::load_users_mixed_role_and_permissions ... ok
[INFO] [stdout] test auth::users::tests::unknown_role_gives_empty_permissions ... ok
[INFO] [stdout] test auth::users::tests::load_users_direct_permissions ... ok
[INFO] [stdout] test auth::users::tests::hash_and_parse_roundtrip ... ok
[INFO] [stdout] test auth::users::tests::load_users_role_based ... ok
[INFO] [stdout] test auth::users::tests::no_role_no_permissions_gives_empty ... ok
[INFO] [stdout] test auth::tests::hello_known_and_unknown_users_look_similar ... ok
[INFO] [stdout] test auth::tests::hello_unknown_user_returns_fake_challenge ... ok
[INFO] [stdout] test auth::tests::fake_challenge_is_deterministic_per_username ... ok
[INFO] [stderr]      Running tests/federation_integration.rs (/opt/rustwide/target/debug/deps/federation_integration-4644467d040845dd)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 183 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 22.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test filter_read_merges_federated_entities ... ok
[INFO] [stdout] test federation_status_no_connectors ... ok
[INFO] [stdout] test federation_status_with_connectors ... ok
[INFO] [stdout] test id_read_prefers_local_over_federated ... ok
[INFO] [stdout] test id_read_returns_federated_entity ... ok
[INFO] [stdout] test sync_one_nonexistent_connector ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests haystack_client
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test haystack-client/src/lib.rs - (line 17) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.75s; merged doctests compilation took 0.73s
[INFO] [stderr]    Doc-tests haystack_core
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test haystack-core/src/graph/subscriber.rs - graph::subscriber::GraphSubscriber (line 13) ... ignored
[INFO] [stdout] test haystack-core/src/codecs/mod.rs - codecs (line 21) ... ok
[INFO] [stdout] test haystack-core/src/filter/mod.rs - filter (line 14) ... ok
[INFO] [stdout] test haystack-core/src/lib.rs - (line 21) ... ok
[INFO] [stdout] test haystack-core/src/codecs/hbf/mod.rs - codecs::hbf (line 15) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.16s; merged doctests compilation took 1.13s
[INFO] [stderr]    Doc-tests haystack_server
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test haystack-server/src/lib.rs - (line 19) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.97s; merged doctests compilation took 0.94s
[INFO] running `Command { std: "docker" "inspect" "115ec5cd33e442d8e00e464621f684c9c9f023e4b414c6d9fc54559420a0c072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "115ec5cd33e442d8e00e464621f684c9c9f023e4b414c6d9fc54559420a0c072", kill_on_drop: false }`
[INFO] [stdout] 115ec5cd33e442d8e00e464621f684c9c9f023e4b414c6d9fc54559420a0c072
