[INFO] fetching crate nsip 0.4.0... [INFO] testing nsip-0.4.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate nsip 0.4.0 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate nsip 0.4.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate nsip 0.4.0 [INFO] tweaked toml for crates.io crate nsip 0.4.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate nsip 0.4.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nsip 0.4.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 38f6423a75feb9c3cd347ba3c65fba96a88e6ed523b16ed3e0a86da782b2ca00 [INFO] running `Command { std: "docker" "start" "-a" "38f6423a75feb9c3cd347ba3c65fba96a88e6ed523b16ed3e0a86da782b2ca00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "38f6423a75feb9c3cd347ba3c65fba96a88e6ed523b16ed3e0a86da782b2ca00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38f6423a75feb9c3cd347ba3c65fba96a88e6ed523b16ed3e0a86da782b2ca00", kill_on_drop: false }` [INFO] [stdout] 38f6423a75feb9c3cd347ba3c65fba96a88e6ed523b16ed3e0a86da782b2ca00 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d0d4dbba1b571476d2e4e6c44c06688a1bd4a43df472ca306ae8b109546e0171 [INFO] running `Command { std: "docker" "start" "-a" "d0d4dbba1b571476d2e4e6c44c06688a1bd4a43df472ca306ae8b109546e0171", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling zmij v1.0.19 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling base16ct v0.2.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling deranged v0.5.8 [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 zerofrom v0.1.6 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling rmcp v1.1.1 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling rsa v0.9.10 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling rmcp-macros v1.1.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling sse-stream v0.2.1 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling roff v0.2.2 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling clap_mangen v0.2.31 [INFO] [stderr] Compiling jsonwebtoken v10.3.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling clap_complete v4.5.66 [INFO] [stderr] Compiling nsip v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 20s [INFO] running `Command { std: "docker" "inspect" "d0d4dbba1b571476d2e4e6c44c06688a1bd4a43df472ca306ae8b109546e0171", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0d4dbba1b571476d2e4e6c44c06688a1bd4a43df472ca306ae8b109546e0171", kill_on_drop: false }` [INFO] [stdout] d0d4dbba1b571476d2e4e6c44c06688a1bd4a43df472ca306ae8b109546e0171 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7172c827c3e593434f43b3179489197896324a5b0edb3d22a4ede7d4bd081ffa [INFO] running `Command { std: "docker" "start" "-a" "7172c827c3e593434f43b3179489197896324a5b0edb3d22a4ede7d4bd081ffa", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling test-case-macros v3.3.1 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling rsa v0.9.10 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling test-case v3.3.1 [INFO] [stderr] Compiling jsonwebtoken v10.3.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rmcp v1.1.1 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling nsip v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 03s [INFO] running `Command { std: "docker" "inspect" "7172c827c3e593434f43b3179489197896324a5b0edb3d22a4ede7d4bd081ffa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7172c827c3e593434f43b3179489197896324a5b0edb3d22a4ede7d4bd081ffa", kill_on_drop: false }` [INFO] [stdout] 7172c827c3e593434f43b3179489197896324a5b0edb3d22a4ede7d4bd081ffa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] aec49ee3b33c5159df009c133aa83f88854f9df84896f5684a0e354d067a02cb [INFO] running `Command { std: "docker" "start" "-a" "aec49ee3b33c5159df009c133aa83f88854f9df84896f5684a0e354d067a02cb", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] [stderr] Running unittests crates/lib.rs (/opt/rustwide/target/debug/deps/nsip-5244c5a80ebdf3dc) [INFO] [stdout] [INFO] [stdout] running 451 tests [INFO] [stdout] test client::tests::builder_configures_all_fields ... ok [INFO] [stdout] test client::tests::client_creation_default ... ok [INFO] [stdout] test client::tests::retryable_errors ... ok [INFO] [stdout] test client::tests::client_with_custom_url ... ok [INFO] [stdout] test client::tests::validation_page_size ... ok [INFO] [stdout] test client::tests::validation_breed_id ... ok [INFO] [stdout] test client::tests::validation_empty_search_string ... ok [INFO] [stdout] test client::tests::wiremock_tests::breed_groups_direct_array_format ... ok [INFO] [stdout] test client::tests::wiremock_tests::date_last_updated_returns_value ... ok [INFO] [stdout] test client::tests::wiremock_tests::bad_request_returns_api_error ... ok [INFO] [stdout] test client::tests::wiremock_tests::parse_breed_value_missing_fields ... ok [INFO] [stdout] test client::tests::wiremock_tests::parse_breed_value_with_aliases ... ok [INFO] [stdout] test client::tests::wiremock_tests::no_retry_on_client_error ... ok [INFO] [stdout] test client::tests::wiremock_tests::progeny_pagination ... ok [INFO] [stdout] test client::tests::wiremock_tests::invalid_json_returns_parse_error ... ok [INFO] [stdout] test client::tests::wiremock_tests::progeny_validation_zero_page_size ... ok [INFO] [stdout] test client::tests::wiremock_tests::animal_details_nested_format ... ok [INFO] [stdout] test client::tests::wiremock_tests::empty_search_results ... ok [INFO] [stdout] test client::tests::wiremock_tests::breed_groups_wrapper_format ... ok [INFO] [stdout] test client::tests::wiremock_tests::search_animals_basic ... ok [INFO] [stdout] test client::tests::wiremock_tests::search_animals_with_criteria ... ok [INFO] [stdout] test client::tests::wiremock_tests::not_found_returns_error ... ok [INFO] [stdout] test client::tests::wiremock_tests::server_error_returns_api_error ... ok [INFO] [stdout] test client::tests::wiremock_tests::statuses_returns_list ... ok [INFO] [stdout] test mcp::analytics::tests::ancestor_path_combinations_empty_dam_depths ... ok [INFO] [stdout] test mcp::analytics::tests::ancestor_path_combinations_empty_sire_depths ... ok [INFO] [stdout] test client::tests::wiremock_tests::search_by_lpn_validation_empty_id ... ok [INFO] [stdout] test client::tests::wiremock_tests::statuses_non_array_returns_empty ... ok [INFO] [stdout] test client::tests::wiremock_tests::trait_ranges_returns_json ... ok [INFO] [stdout] test mcp::analytics::tests::ancestor_path_combinations_multiple_depths ... ok [INFO] [stdout] test mcp::analytics::tests::ancestor_path_combinations_single_depth_each ... ok [INFO] [stdout] test mcp::analytics::tests::calculate_coi_empty_pedigrees ... ok [INFO] [stdout] test mcp::analytics::tests::calculate_coi_parent_in_common_depth0 ... ok [INFO] [stdout] test mcp::analytics::tests::calculate_coi_three_generation_overlap ... ok [INFO] [stdout] test mcp::analytics::tests::coi_half_siblings ... ok [INFO] [stdout] test mcp::analytics::tests::coi_no_shared_ancestors ... ok [INFO] [stdout] test mcp::analytics::tests::coi_rating_thresholds ... ok [INFO] [stdout] test mcp::analytics::tests::collect_ancestor_depths_no_parents ... ok [INFO] [stdout] test mcp::analytics::tests::collect_ancestor_depths_parents_only ... ok [INFO] [stdout] test mcp::analytics::tests::collect_ancestor_depths_same_animal_at_multiple_depths ... ok [INFO] [stdout] test mcp::analytics::tests::collect_ancestor_depths_with_generations ... ok [INFO] [stdout] test mcp::analytics::tests::ebv_glossary_all_expected_abbreviations ... ok [INFO] [stdout] test mcp::analytics::tests::ebv_glossary_fields_nonempty ... ok [INFO] [stdout] test mcp::analytics::tests::ebv_glossary_has_all_traits ... ok [INFO] [stdout] test mcp::analytics::tests::ebv_glossary_unique_abbreviations ... ok [INFO] [stdout] test mcp::analytics::tests::find_shared_ancestors_multiple_at_different_depths ... ok [INFO] [stdout] test mcp::analytics::tests::find_shared_ancestors_no_overlap ... ok [INFO] [stdout] test mcp::analytics::tests::find_shared_ancestors_parent_level ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_basic ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_empty_input ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_empty_weights ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_missing_trait_ignored ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_negative_weights ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_tie_breaking_stable ... ok [INFO] [stdout] test mcp::analytics::tests::rank_animals_zero_accuracy ... ok [INFO] [stdout] test mcp::analytics::tests::trait_complementarity_basic ... ok [INFO] [stdout] test mcp::analytics::tests::trait_complementarity_both_empty ... ok [INFO] [stdout] test mcp::analytics::tests::trait_complementarity_dam_has_extra_traits ... ok [INFO] [stdout] test mcp::analytics::tests::trait_complementarity_no_shared_traits ... ok [INFO] [stdout] test mcp::analytics::tests::trait_complementarity_sire_has_extra_traits ... ok [INFO] [stdout] test mcp::elicitation::tests::all_fields_are_optional ... ok [INFO] [stdout] test mcp::elicitation::tests::compare_preferences_debug_format ... ok [INFO] [stdout] test mcp::elicitation::tests::compare_preferences_deserialize_with_traits ... ok [INFO] [stdout] test mcp::elicitation::tests::compare_preferences_schema_has_traits_field ... ok [INFO] [stdout] test mcp::elicitation::tests::compare_preferences_schema_is_object ... ok [INFO] [stdout] test mcp::elicitation::tests::compare_preferences_with_traits ... ok [INFO] [stdout] test mcp::elicitation::tests::flock_context_debug_format ... ok [INFO] [stdout] test mcp::elicitation::tests::flock_context_round_trip ... ok [INFO] [stdout] test mcp::elicitation::tests::flock_context_schema_has_fields ... ok [INFO] [stdout] test mcp::elicitation::tests::flock_context_schema_is_object ... ok [INFO] [stdout] test mcp::elicitation::tests::flock_context_with_all_fields ... ok [INFO] [stdout] test mcp::elicitation::tests::mating_constraints_debug_format ... ok [INFO] [stdout] test mcp::elicitation::tests::mating_constraints_schema_has_max_coi_field ... ok [INFO] [stdout] test mcp::elicitation::tests::mating_constraints_schema_is_object ... ok [INFO] [stdout] test mcp::elicitation::tests::mating_constraints_with_all_fields ... ok [INFO] [stdout] test mcp::elicitation::tests::round_trip_serialization ... ok [INFO] [stdout] test mcp::elicitation::tests::selection_criteria_debug_format ... ok [INFO] [stdout] test mcp::elicitation::tests::selection_criteria_round_trip ... ok [INFO] [stdout] test mcp::elicitation::tests::selection_criteria_schema_has_fields ... ok [INFO] [stdout] test mcp::elicitation::tests::selection_criteria_schema_is_object ... ok [INFO] [stdout] test mcp::elicitation::tests::selection_criteria_with_all_fields ... ok [INFO] [stdout] test mcp::elicitation::tests::try_elicit_opt_returns_none_for_flock_context_without_context ... ok [INFO] [stdout] test mcp::elicitation::tests::try_elicit_opt_returns_none_for_mating_constraints_without_context ... ok [INFO] [stdout] test mcp::elicitation::tests::try_elicit_opt_returns_none_for_selection_criteria_without_context ... ok [INFO] [stdout] test mcp::elicitation::tests::try_elicit_opt_returns_none_when_context_is_none ... ok [INFO] [stdout] test mcp::instructions::tests::contains_all_seven_prompt_names ... ok [INFO] [stdout] test mcp::instructions::tests::contains_all_thirteen_tool_names ... ok [INFO] [stdout] test mcp::instructions::tests::contains_nsip_uri_references ... ok [INFO] [stdout] test mcp::instructions::tests::contains_section_headers ... ok [INFO] [stdout] test mcp::instructions::tests::disabled_all_tool_sets_still_has_header_and_resources ... ok [INFO] [stdout] test mcp::instructions::tests::disabled_analytics_omits_analytics_section ... ok [INFO] [stdout] test mcp::instructions::tests::disabled_search_omits_search_section ... ok [INFO] [stdout] test mcp::instructions::tests::output_is_nonempty ... ok [INFO] [stdout] test mcp::instructions::tests::uses_preallocated_buffer ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::authorize_invalid_response_type ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::authorize_redirect_uri_mismatch ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::authorize_unknown_client ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::authorize_valid_request_redirects_to_github ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::authorize_invalid_code_challenge_method ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::empty_registered_list_fails ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::exact_match_succeeds ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::invalid_request_uri_fails ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::loopback_any_port_127_0_0_1 ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::loopback_any_port_ipv6 ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::loopback_different_path_fails ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::scheme_mismatch_for_loopback_fails ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::multiple_registered_uris_first_match_wins ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::non_loopback_different_port_fails ... ok [INFO] [stdout] test mcp::oauth::callback::tests::callback_params_deserialize ... ok [INFO] [stdout] test mcp::oauth::callback::tests::callback_unknown_state_returns_error ... ok [INFO] [stdout] test mcp::oauth::callback::tests::callback_valid_state_redirects ... ok [INFO] [stdout] test mcp::oauth::callback::tests::callback_with_allowed_users_denies_unlisted ... ok [INFO] [stdout] test mcp::oauth::config::tests::try_from_lookup_custom_ttl_and_issuer ... ok [INFO] [stdout] test mcp::oauth::config::tests::try_from_lookup_invalid_ttl_uses_default ... ok [INFO] [stdout] test mcp::oauth::config::tests::try_from_lookup_missing_one_required_var ... ok [INFO] [stdout] test mcp::oauth::config::tests::try_from_lookup_parses_allowed_users ... ok [INFO] [stdout] test mcp::oauth::config::tests::try_from_lookup_returns_none_when_missing_required ... ok [INFO] [stdout] test mcp::oauth::config::tests::try_from_lookup_returns_some_with_required_vars ... ok [INFO] [stdout] test mcp::oauth::discovery::tests::authorization_server_metadata_returns_endpoints ... ok [INFO] [stdout] test mcp::oauth::discovery::tests::protected_resource_metadata_returns_resource ... ok [INFO] [stdout] test mcp::oauth::error::tests::clone_and_eq ... ok [INFO] [stdout] test mcp::oauth::error::tests::description_returns_inner_string ... ok [INFO] [stdout] test mcp::oauth::error::tests::display_all_variants ... ok [INFO] [stdout] test mcp::oauth::error::tests::display_format ... ok [INFO] [stdout] test mcp::oauth::error::tests::error_code_strings ... ok [INFO] [stdout] test mcp::oauth::error::tests::error_trait_impl ... ok [INFO] [stdout] test mcp::oauth::error::tests::into_response_json_shape ... ok [INFO] [stdout] test mcp::oauth::error::tests::status_code_bad_request_variants ... ok [INFO] [stdout] test mcp::oauth::error::tests::status_code_unauthorized_variants ... ok [INFO] [stdout] test mcp::oauth::error::tests::status_codes ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_client_construction ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_client_http_client_is_valid ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_client_fields_accessible ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_debug_format ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_deserialize ... ok [INFO] [stdout] test mcp::oauth::authorize::tests::non_matching_uri_fails ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_clone ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_deserialize_empty_name ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_deserialize_extra_fields_ignored ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_deserialize_no_name ... ok [INFO] [stdout] test mcp::oauth::github::tests::github_user_deserialize_numeric_id_boundaries ... ok [INFO] [stdout] test mcp::oauth::github::tests::mock_github_exchange_error ... ok [INFO] [stdout] test mcp::oauth::github::tests::mock_github_get_user_error ... ok [INFO] [stdout] test mcp::oauth::github::tests::mock_github_round_trip ... ok [INFO] [stdout] test mcp::oauth::github::tests::mock_github_user_without_name ... ok [INFO] [stdout] test mcp::oauth::github::tests::token_response_deserializes_empty ... ok [INFO] [stdout] test mcp::oauth::github::tests::token_response_deserializes_error ... ok [INFO] [stdout] test mcp::oauth::github::tests::token_response_deserializes_success ... ok [INFO] [stdout] test mcp::oauth::jwt::tests::issue_produces_unique_jti ... ok [INFO] [stdout] test mcp::oauth::jwt::tests::round_trip_issue_validate ... ok [INFO] [stdout] test mcp::oauth::jwt::tests::validate_rejects_wrong_key ... ok [INFO] [stdout] test mcp::oauth::jwt::tests::validate_rejects_expired_token ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_basic_auth_header_returns_401 ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_callback_endpoint_bypasses ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_gho_pat_passes ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_github_pat_prefix_passes ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_invalid_jwt_returns_401 ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_invalid_pat_returns_401 ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_authorize_endpoint_bypasses ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_missing_token_returns_401 ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_none_state_passes_through ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_oauth_endpoints_bypass ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_pat_cache_hit ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_pat_populates_cache ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_token_endpoint_bypasses ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_valid_pat_passes ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_valid_jwt_passes ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::bearer_auth_well_known_endpoint_bypasses ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::is_github_pat_detects_gho_prefix ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::is_github_pat_detects_ghp_prefix ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::is_github_pat_detects_github_pat_prefix ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::lookup_pat_cache_expired_returns_none ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::is_github_pat_rejects_empty ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::pat_cache_insert_and_retrieve ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::is_github_pat_rejects_jwt ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::lookup_pat_cache_missing_returns_none ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::pat_cache_creation ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::pat_claims_sets_subject ... ok [INFO] [stdout] test mcp::oauth::middleware::tests::unauthorized_response_has_www_authenticate ... ok [INFO] [stdout] test mcp::oauth::registration::tests::register_minimal_request ... ok [INFO] [stdout] test mcp::oauth::registration::tests::register_empty_redirect_uris_fails ... ok [INFO] [stdout] test mcp::oauth::registration::tests::register_multiple_redirect_uris ... ok [INFO] [stdout] test mcp::oauth::registration::tests::register_unsupported_grant_type_fails ... ok [INFO] [stdout] test mcp::oauth::registration::tests::registration_request_defaults ... ok [INFO] [stdout] test mcp::oauth::registration::tests::registration_request_deserialize ... ok [INFO] [stdout] test mcp::oauth::registration::tests::registration_response_serialize ... ok [INFO] [stdout] test mcp::oauth::registration::tests::register_valid_client ... ok [INFO] [stdout] test mcp::oauth::store::tests::concurrent_access ... ok [INFO] [stdout] test mcp::oauth::store::tests::consume_nonexistent_refresh_token_returns_none ... ok [INFO] [stdout] test mcp::oauth::store::tests::get_nonexistent_client ... ok [INFO] [stdout] test mcp::oauth::store::tests::register_and_get_client ... ok [INFO] [stdout] test mcp::oauth::store::tests::store_and_consume_auth_code ... ok [INFO] [stdout] test mcp::oauth::store::tests::store_and_consume_pending ... ok [INFO] [stdout] test mcp::oauth::store::tests::ttl_expiry_auth_codes ... ok [INFO] [stdout] test mcp::oauth::store::tests::ttl_expiry_pending ... ok [INFO] [stdout] test mcp::oauth::store::tests::ttl_expiry_refresh_tokens ... ok [INFO] [stdout] test mcp::oauth::tests::oauth_router_builds_without_panic ... ok [INFO] [stdout] test mcp::oauth::tests::oauth_state_clone_shares_config ... ok [INFO] [stdout] test mcp::oauth::tests::oauth_state_has_pat_cache ... ok [INFO] [stdout] test mcp::oauth::tests::oauth_state_new_construction ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_authorization_code_bad_pkce ... ok [INFO] [stdout] test mcp::oauth::store::tests::store_and_consume_refresh_token ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_authorization_code_full_flow ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_authorization_code_missing_code_verifier ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_client_id_and_redirect_mismatch ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_authorization_code_missing_redirect_uri ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_error_paths ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_form_encoded_refresh_token_success ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_form_encoded_unsupported_grant ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_malformed_json_body ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_form_encoded_authorization_code_success ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_refresh_token_flow ... ok [INFO] [stdout] test mcp::oauth::token::tests::generate_refresh_token_batch_uniqueness ... ok [INFO] [stdout] test mcp::oauth::token::tests::generate_refresh_token_consistent_length ... ok [INFO] [stdout] test mcp::oauth::token::tests::generate_refresh_token_uniqueness ... ok [INFO] [stdout] test mcp::oauth::token::tests::generate_refresh_token_is_url_safe_base64 ... ok [INFO] [stdout] test mcp::oauth::token::tests::exchange_token_missing_refresh_token_field ... ok [INFO] [stdout] test mcp::oauth::token::tests::generate_refresh_token_no_padding ... ok [INFO] [stdout] test mcp::oauth::token::tests::generate_refresh_token_not_empty ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_constant_time_comparison ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_invalid ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_error_is_invalid_grant ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_empty_challenge_fails ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_empty_verifier_fails ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_long_verifier ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_unicode_verifier ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_debug_format ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_valid ... ok [INFO] [stdout] test mcp::oauth::token::tests::pkce_verification_with_known_verifier ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_all_fields_populated ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_defaults_optional_fields ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_deserializes_authorization_code ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_empty_grant_type ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_deserializes_minimal_refresh ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_response_debug_format ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_deserializes_refresh_token ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_unknown_grant_type ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_request_with_only_refresh_token_field ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_response_large_expires_in ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_response_zero_expires_in ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_response_serializes_all_fields ... ok [INFO] [stdout] test mcp::prompts::tests::all_prompt_arguments_have_titles ... ok [INFO] [stdout] test mcp::oauth::token::tests::token_response_serializes_correctly ... ok [INFO] [stdout] test mcp::prompts::tests::all_expected_prompt_names_present ... ok [INFO] [stdout] test mcp::prompts::tests::all_prompt_arguments_have_descriptions ... ok [INFO] [stdout] test mcp::prompts::tests::compare_breeding_stock_has_animal_ids_argument ... ok [INFO] [stdout] test mcp::prompts::tests::evaluate_ram_has_required_argument ... ok [INFO] [stdout] test mcp::prompts::tests::evaluate_ewe_description_mentions_maternal ... ok [INFO] [stdout] test mcp::prompts::tests::evaluate_ewe_has_required_lpn_argument ... ok [INFO] [stdout] test mcp::prompts::tests::flock_improvement_has_required_and_optional_args ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_compare_too_many_ids_returns_error ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_compare_too_few_ids_returns_error ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_evaluate_ewe_missing_lpn ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_flock_improvement_invalid_breed_id ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_interpret_ebvs_missing_lpn ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_missing_required_arg_returns_error ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_plan_mating_missing_dam ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_plan_mating_missing_sire ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_select_replacement_invalid_breed_id ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_select_replacement_missing_gender ... ok [INFO] [stdout] test mcp::prompts::tests::interpret_ebvs_has_required_lpn_argument ... ok [INFO] [stdout] test mcp::prompts::tests::list_prompts_has_no_cursor ... ok [INFO] [stdout] test mcp::prompts::tests::plan_mating_has_two_arguments ... ok [INFO] [stdout] test mcp::prompts::tests::get_prompt_unknown_name_returns_error ... ok [INFO] [stdout] test mcp::prompts::tests::list_prompts_has_no_meta ... ok [INFO] [stdout] test mcp::prompts::tests::plan_mating_both_arguments_required ... ok [INFO] [stdout] test mcp::prompts::tests::prompt_names_are_unique ... ok [INFO] [stdout] test mcp::prompts::tests::prompts_have_names_and_descriptions ... ok [INFO] [stdout] test mcp::prompts::tests::require_arg_empty_string_is_valid ... ok [INFO] [stdout] test mcp::prompts::tests::require_arg_returns_error_for_missing ... ok [INFO] [stdout] test mcp::prompts::tests::prompts_list_has_seven_entries ... ok [INFO] [stdout] test mcp::prompts::tests::require_arg_error_message_contains_param_name ... ok [INFO] [stdout] test mcp::prompts::tests::require_arg_returns_correct_value_among_many ... ok [INFO] [stdout] test mcp::prompts::tests::require_arg_returns_value ... ok [INFO] [stdout] test mcp::prompts::tests::select_replacement_has_three_required_args ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::evaluate_ram_propagates_api_error ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::evaluate_ewe_returns_maternal_assessment ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::evaluate_ram_returns_assessment ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::compare_breeding_stock_two_animals ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::flock_improvement_breed_only ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::interpret_ebvs_returns_glossary_and_data ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::flock_improvement_with_flock_id ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::select_replacement_propagates_search_error ... ok [INFO] [stdout] test mcp::resources::tests::glossary_content_has_all_thirteen_traits ... ok [INFO] [stdout] test mcp::resources::tests::glossary_content_has_all_traits ... ok [INFO] [stdout] test mcp::resources::tests::glossary_content_has_header ... ok [INFO] [stdout] test mcp::resources::tests::glossary_content_includes_units_and_directions ... ok [INFO] [stdout] test mcp::resources::tests::inbreeding_guide_has_avoidance_strategies ... ok [INFO] [stdout] test mcp::resources::tests::inbreeding_guide_has_depression_effects ... ok [INFO] [stdout] test mcp::resources::tests::inbreeding_guide_has_key_sections ... ok [INFO] [stdout] test mcp::resources::tests::inbreeding_guide_has_traffic_light_ratings ... ok [INFO] [stdout] test mcp::resources::tests::json_resource_content_pretty_printed ... ok [INFO] [stdout] test mcp::resources::tests::json_resource_content_produces_json_mime_type ... ok [INFO] [stdout] test mcp::resources::tests::json_resources_have_correct_mime_type ... ok [INFO] [stdout] test mcp::resources::tests::markdown_resource_content_produces_markdown_mime_type ... ok [INFO] [stdout] test mcp::resources::tests::markdown_resources_have_correct_mime_type ... ok [INFO] [stdout] test mcp::resources::tests::parse_static_uris ... ok [INFO] [stdout] test mcp::resources::tests::parse_template_uris ... ok [INFO] [stdout] test mcp::resources::tests::parse_unknown_uri ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_bare_scheme ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_breed_without_ranges ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_empty_string ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_extra_path_segments ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_with_realistic_breed_id ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_with_realistic_lpn_id ... ok [INFO] [stdout] test mcp::resources::tests::parse_uri_without_scheme ... ok [INFO] [stdout] test mcp::resources::tests::read_resource_glossary ... ok [INFO] [stdout] test mcp::resources::tests::read_resource_inbreeding_guide ... ok [INFO] [stdout] test mcp::resources::tests::read_resource_invalid_breed_id_returns_error ... ok [INFO] [stdout] test mcp::resources::tests::read_resource_selection_guide ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::select_replacement_returns_candidates ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::flock_improvement_propagates_search_error ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::plan_mating_propagates_lineage_error ... ok [INFO] [stdout] test mcp::resources::tests::resource_templates_have_names_and_descriptions ... ok [INFO] [stdout] test mcp::resources::tests::resource_templates_all_json_mime_type ... ok [INFO] [stdout] test mcp::resources::tests::resource_templates_have_correct_uri_templates ... ok [INFO] [stdout] test mcp::resources::tests::read_resource_unknown_uri_returns_error ... ok [INFO] [stdout] test mcp::resources::tests::resource_templates_list ... ok [INFO] [stdout] test mcp::resources::tests::selection_guide_mentions_accuracy ... ok [INFO] [stdout] test mcp::resources::tests::static_resources_have_correct_uris ... ok [INFO] [stdout] test mcp::resources::tests::static_resources_have_mime_types ... ok [INFO] [stdout] test mcp::resources::tests::static_resources_have_names_and_descriptions ... ok [INFO] [stdout] test mcp::resources::tests::static_resources_have_no_cursor ... ok [INFO] [stdout] test mcp::resources::tests::static_resources_list ... ok [INFO] [stdout] test mcp::resources::tests::resource_templates_have_no_cursor ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_animal ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_animal_progeny ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_breed_ranges ... ok [INFO] [stdout] test mcp::resources::tests::selection_guide_has_key_sections ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_breeds ... ok [INFO] [stdout] test client::tests::wiremock_tests::search_by_lpn_combines_three_requests ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_animal_pedigree ... ok [INFO] [stdout] test client::tests::wiremock_tests::lineage_with_ancestors ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_status ... ok [INFO] [stdout] test client::tests::wiremock_tests::retries_on_server_error_then_succeeds ... ok [INFO] [stdout] test mcp::tests::capabilities_include_all_protocol_features ... ok [INFO] [stdout] test mcp::tests::paginate_cursor_at_end ... ok [INFO] [stdout] test mcp::tests::paginate_cursor_out_of_range ... ok [INFO] [stdout] test mcp::tests::paginate_empty_items ... ok [INFO] [stdout] test mcp::tests::paginate_exact_boundary ... ok [INFO] [stdout] test mcp::tests::paginate_first_page ... ok [INFO] [stdout] test mcp::tests::paginate_invalid_cursor ... ok [INFO] [stdout] test mcp::tests::paginate_last_page ... ok [INFO] [stdout] test mcp::tests::paginate_middle_page ... ok [INFO] [stdout] test mcp::tests::paginate_page_size_larger_than_items ... ok [INFO] [stdout] test mcp::tests::server_creation ... ok [INFO] [stdout] test mcp::tests::server_default_is_same_as_new ... ok [INFO] [stdout] test mcp::tests::server_info_has_implementation ... ok [INFO] [stdout] test mcp::tests::server_info_has_instructions ... ok [INFO] [stdout] test mcp::tests::server_is_clone ... ok [INFO] [stdout] test mcp::tests::with_tool_sets_filters_tools ... ok [INFO] [stdout] test mcp::tool_sets::tests::all_enables_every_set ... ok [INFO] [stdout] test mcp::tool_sets::tests::all_tool_names_have_set_mapping ... ok [INFO] [stdout] test mcp::tool_sets::tests::analytics_set_has_four_tools ... ok [INFO] [stdout] test mcp::tool_sets::tests::breed_set_has_two_tools ... ok [INFO] [stdout] test mcp::tool_sets::tests::default_enables_all ... ok [INFO] [stdout] test mcp::tool_sets::tests::disabled_tool_names_correct ... ok [INFO] [stdout] test mcp::tool_sets::tests::enabled_tool_sets_clone ... ok [INFO] [stdout] test mcp::tool_sets::tests::flock_set_has_two_tools ... ok [INFO] [stdout] test mcp::tool_sets::tests::from_csv_empty_enables_nothing ... ok [INFO] [stdout] test mcp::tool_sets::tests::from_csv_selective ... ok [INFO] [stdout] test mcp::tool_sets::tests::from_csv_unknown_tokens_ignored ... ok [INFO] [stdout] test mcp::tool_sets::tests::from_csv_whitespace_trimming ... ok [INFO] [stdout] test mcp::tool_sets::tests::search_set_has_five_tools ... ok [INFO] [stdout] test mcp::tool_sets::tests::tool_set_clone_and_eq ... ok [INFO] [stdout] test mcp::tool_sets::tests::tool_set_display ... ok [INFO] [stdout] test mcp::tool_sets::tests::unknown_tools_always_enabled ... ok [INFO] [stdout] test mcp::tools::tests::build_comparison_empty_animals ... ok [INFO] [stdout] test mcp::tools::tests::build_comparison_two_animals ... ok [INFO] [stdout] test mcp::tools::tests::build_comparison_with_trait_filter ... ok [INFO] [stdout] test mcp::tools::tests::build_flock_summary_basic ... ok [INFO] [stdout] test mcp::tools::tests::build_flock_summary_empty ... ok [INFO] [stdout] test mcp::tools::tests::build_flock_summary_single_animal ... ok [INFO] [stdout] test mcp::tools::tests::build_flock_summary_unknown_gender ... ok [INFO] [stdout] test mcp::tools::tests::build_target_weights_case_insensitive ... ok [INFO] [stdout] test mcp::tools::tests::build_target_weights_defaults ... ok [INFO] [stdout] test mcp::tools::tests::build_target_weights_from_traits ... ok [INFO] [stdout] test mcp::tools::tests::build_target_weights_negative_traits ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::breed_groups_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::compare_too_few_ids ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::compare_too_many_ids ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::compare_two_animals ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::compare_with_trait_filter ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::database_status_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::details_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::flock_summary_no_breed ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::flock_summary_success ... ok [INFO] [stdout] test mcp::prompts::tests::wiremock_tests::plan_mating_fetches_sire_dam_and_lineages ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::inbreeding_check_no_shared_ancestors ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::lineage_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::inbreeding_check_shared_ancestor ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::mating_recommendations_female_animal ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::mating_recommendations_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::progeny_defaults ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::progeny_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::rank_defaults ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::rank_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::profile_success ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::search_defaults ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::search_with_all_params ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::trait_ranges_bad_breed_returns_friendly_message ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_animal_api_error ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::trait_ranges_success ... ok [INFO] [stdout] test mcp::tools::tests::json_result_produces_success ... ok [INFO] [stdout] test mcp::tools::tests::parse_search_result_animals_camel_case ... ok [INFO] [stdout] test mcp::tools::tests::parse_search_result_animals_empty_input ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_breed_ranges_api_error ... ok [INFO] [stdout] test mcp::tools::tests::parse_search_result_animals_nested_format ... ok [INFO] [stdout] test mcp::tools::tests::server_creation ... ok [INFO] [stdout] test mcp::transport::tests::ensure_sse_accept_json_only_adds_sse ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_breeds_api_error ... ok [INFO] [stdout] test mcp::transport::tests::fix_rmcp_get_mcp_200_stays_200 ... ok [INFO] [stdout] test mcp::transport::tests::fix_rmcp_get_mcp_401_becomes_404 ... ok [INFO] [stdout] test mcp::transport::tests::fix_rmcp_get_other_401_stays_401 ... ok [INFO] [stdout] test mcp::transport::tests::ensure_sse_accept_no_header_adds_sse ... ok [INFO] [stdout] test mcp::transport::tests::fix_rmcp_post_mcp_401_stays_401 ... ok [INFO] [stdout] test mcp::transport::tests::log_requests_passes_through ... ok [INFO] [stdout] test mcp::transport::tests::log_requests_error_response_passes_through ... ok [INFO] [stdout] test mcp::transport::tests::log_requests_with_session_id_header ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_all_interfaces_passes ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_evil_domain_rejected ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_example_com_rejected ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_https_localhost_passes ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_ipv6_loopback_no_port_passes ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_localhost_passes ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_ipv6_loopback_passes ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_no_header_passes ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_subdomain_localhost_rejected ... ok [INFO] [stdout] test models::tests::animal_details_from_legacy_response ... ok [INFO] [stdout] test mcp::transport::tests::validate_origin_loopback_passes ... ok [INFO] [stdout] test models::tests::animal_details_from_nested_response ... ok [INFO] [stdout] test models::tests::animal_details_from_search_result ... ok [INFO] [stdout] test models::tests::breed_group_serializes ... ok [INFO] [stdout] test models::tests::extract_contact_info_null_returns_none ... ok [INFO] [stdout] test models::tests::legacy_format_missing_traits_key ... ok [INFO] [stdout] test models::tests::legacy_format_non_object_trait_value ... ok [INFO] [stdout] test mcp::transport::tests::ensure_sse_accept_already_present_unchanged ... ok [INFO] [stdout] test models::tests::parse_lineage_html_content ... ok [INFO] [stdout] test models::tests::progeny_from_api_response ... ok [INFO] [stdout] test models::tests::search_criteria_builder_round_trip ... ok [INFO] [stdout] test models::tests::search_criteria_serializes_to_camel_case ... ok [INFO] [stdout] test models::tests::search_criteria_with_trait_ranges ... ok [INFO] [stdout] test models::tests::search_results_from_api_response ... ok [INFO] [stdout] test models::tests::trait_range_filter_serializes ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_pedigree_api_error ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_progeny_api_error ... ok [INFO] [stdout] test mcp::resources::tests::wiremock_tests::read_resource_status_api_error ... ok [INFO] [stdout] test models::tests::lineage_node_without_children ... ok [INFO] [stdout] test models::tests::lineage_from_api_response ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::search_api_error ... ok [INFO] [stdout] test mcp::tools::tests::handler_tests::trait_ranges_server_error_returns_mcp_error ... ok [INFO] [stderr] Running unittests crates/main.rs (/opt/rustwide/target/debug/deps/nsip-2dca6d35eec4d853) [INFO] [stdout] [INFO] [stdout] test result: ok. 451 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.57s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 71 tests [INFO] [stdout] test format::tests::collect_sorted_trait_names_dedup ... ok [INFO] [stdout] test format::tests::comparison_trait_row_missing_trait ... ok [INFO] [stdout] test format::tests::comparison_trait_row_with_data ... ok [INFO] [stdout] test format::tests::extract_search_row_missing_fields ... ok [INFO] [stdout] test format::tests::extract_search_row_camel_case ... ok [INFO] [stdout] test format::tests::extract_search_row_pascal_case ... ok [INFO] [stdout] test format::tests::fmt_breed_groups_empty ... ok [INFO] [stdout] test format::tests::fmt_breed_groups_multiple ... ok [INFO] [stdout] test format::tests::fmt_breed_groups_single ... ok [INFO] [stdout] test format::tests::fmt_comparison_basic ... ok [INFO] [stdout] test format::tests::fmt_details_contact_no_city_state_zip ... ok [INFO] [stdout] test format::tests::fmt_details_contact_partial ... ok [INFO] [stdout] test format::tests::fmt_details_contact_section ... ok [INFO] [stdout] test format::tests::fmt_comparison_filter_case_insensitive ... ok [INFO] [stdout] test format::tests::fmt_comparison_no_traits ... ok [INFO] [stdout] test format::tests::fmt_details_full_output ... ok [INFO] [stdout] test format::tests::fmt_details_minimal_output ... ok [INFO] [stdout] test format::tests::fmt_comparison_with_trait_filter ... ok [INFO] [stdout] test format::tests::fmt_details_trait_accuracy_dash ... ok [INFO] [stdout] test format::tests::fmt_grandparents_sire_only ... ok [INFO] [stdout] test format::tests::fmt_lineage_empty ... ok [INFO] [stdout] test format::tests::fmt_details_traits_section ... ok [INFO] [stdout] test format::tests::fmt_lineage_full ... ok [INFO] [stdout] test format::tests::fmt_lineage_no_generations ... ok [INFO] [stdout] test format::tests::fmt_lineage_sire_only ... ok [INFO] [stdout] test format::tests::fmt_progeny_no_pagination_when_all_shown ... ok [INFO] [stdout] test format::tests::fmt_profile_output ... ok [INFO] [stdout] test format::tests::fmt_progeny_pagination_message ... ok [INFO] [stdout] test format::tests::fmt_progeny_trait_truncation ... ok [INFO] [stdout] test format::tests::fmt_progeny_with_animals ... ok [INFO] [stdout] test format::tests::fmt_search_results_empty ... ok [INFO] [stdout] test format::tests::fmt_search_results_with_data ... ok [INFO] [stdout] test format::tests::fmt_trait_ranges_array_format ... ok [INFO] [stdout] test format::tests::fmt_trait_ranges_array_missing_keys ... ok [INFO] [stdout] test format::tests::fmt_trait_ranges_array_pascal_case_keys ... ok [INFO] [stdout] test format::tests::fmt_trait_ranges_neither_array_nor_object ... ok [INFO] [stdout] test format::tests::fmt_trait_ranges_null ... ok [INFO] [stdout] test format::tests::fmt_trait_ranges_object_format ... ok [INFO] [stdout] test format::tests::format_row_basic ... ok [INFO] [stdout] test format::tests::format_row_missing_cells ... ok [INFO] [stdout] test format::tests::info_row_basic ... ok [INFO] [stdout] test format::tests::json_f64_first_key ... ok [INFO] [stdout] test format::tests::json_f64_integer_coercion ... ok [INFO] [stdout] test format::tests::json_str_first_key_match ... ok [INFO] [stdout] test format::tests::json_str_no_match ... ok [INFO] [stdout] test format::tests::json_str_non_string_value ... ok [INFO] [stdout] test format::tests::json_f64_no_match ... ok [INFO] [stdout] test format::tests::fmt_grandparents_both_present ... ok [INFO] [stdout] test format::tests::json_str_second_key_match ... ok [INFO] [stdout] test format::tests::json_f64_second_key ... ok [INFO] [stdout] test format::tests::fmt_grandparents_empty ... ok [INFO] [stdout] test format::tests::lineage_node_summary_full ... ok [INFO] [stdout] test format::tests::fmt_progeny_empty ... ok [INFO] [stdout] test format::tests::lineage_node_summary_minimal ... ok [INFO] [stdout] test format::tests::separator_line_basic ... ok [INFO] [stdout] test format::tests::separator_line_empty ... ok [INFO] [stdout] test format::tests::separator_line_single ... ok [INFO] [stdout] test format::tests::sorted_traits_canonical_order ... ok [INFO] [stdout] test format::tests::sorted_traits_with_extras ... ok [INFO] [stdout] test format::tests::table_column_width_adapts_to_content ... ok [INFO] [stdout] test format::tests::sorted_traits_empty ... ok [INFO] [stdout] test format::tests::table_with_rows ... ok [INFO] [stdout] test format::tests::trait_order_has_thirteen_entries ... ok [INFO] [stdout] test format::tests::table_empty_rows ... ok [INFO] [stdout] test format::tests::trait_sort_key_unknown ... ok [INFO] [stdout] test format::tests::table_row_shorter_than_headers ... ok [INFO] [stdout] test format::tests::trait_sort_key_known ... ok [INFO] [stdout] test format::tests::tree_connector_last ... ok [INFO] [stdout] test format::tests::tree_connector_with_sibling ... ok [INFO] [stdout] test format::tests::collect_sorted_trait_names_empty ... ok [INFO] [stdout] test format::tests::fmt_comparison_traits_headers_include_val_acc ... ok [INFO] [stderr] Running tests/cli_test.rs (/opt/rustwide/target/debug/deps/cli_test-a0cd844f6e30b1be) [INFO] [stdout] [INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 40 tests [INFO] [stdout] test breed_groups_help ... ok [INFO] [stdout] test compare_help ... ok [INFO] [stdout] test compare_only_one_id ... ok [INFO] [stdout] test compare_missing_args ... ok [INFO] [stdout] test completions_bash ... ok [INFO] [stdout] test date_updated_help ... ok [INFO] [stdout] test details_help ... ok [INFO] [stdout] test completions_zsh ... ok [INFO] [stdout] test completions_fish ... ok [INFO] [stdout] test completions_powershell ... ok [INFO] [stdout] test json_short_flag_accepted_with_help ... ok [INFO] [stdout] test help_flag_exits_zero ... ok [INFO] [stdout] test details_missing_arg ... ok [INFO] [stdout] test lineage_help ... ok [INFO] [stdout] test man_page_stdout ... ok [INFO] [stdout] test completions_invalid_shell ... ok [INFO] [stdout] test json_flag_after_subcommand_with_help ... ok [INFO] [stdout] test completions_help ... ok [INFO] [stdout] test man_pages_help ... ok [INFO] [stdout] test man_page_to_directory ... ok [INFO] [stdout] test mcp_help ... ok [INFO] [stdout] test progeny_help ... ok [INFO] [stdout] test progeny_missing_arg ... ok [INFO] [stdout] test profile_help ... ok [INFO] [stdout] test search_invalid_page_size_type ... ok [INFO] [stdout] test search_help ... ok [INFO] [stdout] test profile_missing_arg ... ok [INFO] [stdout] test no_subcommand_shows_help ... ok [INFO] [stdout] test lineage_missing_arg ... ok [INFO] [stdout] test short_help_flag_exits_zero ... ok [INFO] [stdout] test short_version_flag_exits_zero ... ok [INFO] [stdout] test json_flag_accepted_with_help ... ok [INFO] [stdout] test statuses_help ... ok [INFO] [stdout] test trait_ranges_help ... ok [INFO] [stdout] test search_invalid_page_type ... ok [INFO] [stdout] test version_flag_exits_zero ... ok [INFO] [stdout] test trait_ranges_invalid_breed_id ... ok [INFO] [stdout] test trait_ranges_missing_arg ... ok [INFO] [stdout] test completions_missing_shell ... ok [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-9e5cb555b4437aeb) [INFO] [stdout] test unknown_subcommand ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_error_types ... ok [INFO] [stdout] test test_search_criteria_builder ... ok [INFO] [stdout] test test_progeny_response ... ok [INFO] [stdout] test test_search_criteria_serialization ... ok [INFO] [stdout] test test_search_results_response ... ok [INFO] [stdout] test test_animal_details_nested_response ... ok [INFO] [stdout] test test_search_criteria_default ... ok [INFO] [stdout] test test_client_with_custom_url ... ok [INFO] [stdout] test test_client_creation ... ok [INFO] [stdout] test test_client_builder ... ok [INFO] [stdout] test property_tests::search_criteria_builder_preserves_values ... ok [INFO] [stdout] test test_lineage_response ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Doc-tests nsip [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test crates/../README.md - (line 173) ... ignored [INFO] [stdout] test crates/client.rs - client::NsipClient::animal_details (line 583) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::builder (line 190) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient (line 39) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::lineage (line 619) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::progeny (line 650) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::trait_ranges (line 479) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::search_by_lpn (line 698) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::statuses (line 450) - compile ... ok [INFO] [stdout] test crates/../README.md - (line 56) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::new (line 145) ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::search_animals (line 514) - compile ... ok [INFO] [stdout] test crates/models.rs - models::SearchCriteria (line 22) ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::with_base_url (line 168) ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::breed_groups (line 374) - compile ... ok [INFO] [stdout] test crates/client.rs - client::NsipClient::date_last_updated (line 354) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.19s; merged doctests compilation took 2.15s [INFO] running `Command { std: "docker" "inspect" "aec49ee3b33c5159df009c133aa83f88854f9df84896f5684a0e354d067a02cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aec49ee3b33c5159df009c133aa83f88854f9df84896f5684a0e354d067a02cb", kill_on_drop: false }` [INFO] [stdout] aec49ee3b33c5159df009c133aa83f88854f9df84896f5684a0e354d067a02cb