[INFO] cloning repository https://github.com/fern-support/lattice-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fern-support/lattice-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffern-support%2Flattice-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffern-support%2Flattice-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cf0e63406e47cc5a3f5b25ec036fbc889816c44a
[INFO] testing fern-support/lattice-cli against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffern-support%2Flattice-cli" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fern-support/lattice-cli
[INFO] finished tweaking git repo https://github.com/fern-support/lattice-cli
[INFO] tweaked toml for git repo https://github.com/fern-support/lattice-cli written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fern-support/lattice-cli on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fern-support/lattice-cli 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" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wiremock v0.6.5
[INFO] [stderr]   Downloaded serde_json_path_macros v0.1.6
[INFO] [stderr]   Downloaded serde_json_path_macros_internal v0.1.2
[INFO] [stderr]   Downloaded serde_qs v1.1.2
[INFO] [stderr]   Downloaded serde_json_path v0.7.2
[INFO] [stderr]   Downloaded serde_json_path_core v0.2.2
[INFO] [stderr]   Downloaded clap_mangen v0.2.33
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded clap_complete v4.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9ed75d293a609e9e5524550e6053fa68aa65b2c6f8c3a38a0026f76371c3cde
[INFO] running `Command { std: "docker" "start" "-a" "c9ed75d293a609e9e5524550e6053fa68aa65b2c6f8c3a38a0026f76371c3cde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9ed75d293a609e9e5524550e6053fa68aa65b2c6f8c3a38a0026f76371c3cde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9ed75d293a609e9e5524550e6053fa68aa65b2c6f8c3a38a0026f76371c3cde", kill_on_drop: false }`
[INFO] [stdout] c9ed75d293a609e9e5524550e6053fa68aa65b2c6f8c3a38a0026f76371c3cde
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4eb7b11e649c7d4530c158eba2c915df954940ea61ef3ece9217e40649b87fb9
[INFO] running `Command { std: "docker" "start" "-a" "4eb7b11e649c7d4530c158eba2c915df954940ea61ef3ece9217e40649b87fb9", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling inventory v0.3.24
[INFO] [stderr]    Compiling serde_json_path_macros_internal v0.1.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde_json_path_core v0.2.2
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde_json_path_macros v0.1.6
[INFO] [stderr]    Compiling serde_qs v1.1.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.5
[INFO] [stderr]    Compiling clap_mangen v0.2.33
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling serde_json_path v0.7.2
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling fern-cli-sdk v0.18.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.66s
[INFO] running `Command { std: "docker" "inspect" "4eb7b11e649c7d4530c158eba2c915df954940ea61ef3ece9217e40649b87fb9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4eb7b11e649c7d4530c158eba2c915df954940ea61ef3ece9217e40649b87fb9", kill_on_drop: false }`
[INFO] [stdout] 4eb7b11e649c7d4530c158eba2c915df954940ea61ef3ece9217e40649b87fb9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 014f336ce57d0af5308bf1b528b943bdf829b337a980818265b38a3cfab5d795
[INFO] running `Command { std: "docker" "start" "-a" "014f336ce57d0af5308bf1b528b943bdf829b337a980818265b38a3cfab5d795", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling serde_json_path_core v0.2.2
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde_json_path_macros v0.1.6
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling serial_test v3.4.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling serde_json_path v0.7.2
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling fern-cli-sdk v0.18.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 51.17s
[INFO] running `Command { std: "docker" "inspect" "014f336ce57d0af5308bf1b528b943bdf829b337a980818265b38a3cfab5d795", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "014f336ce57d0af5308bf1b528b943bdf829b337a980818265b38a3cfab5d795", kill_on_drop: false }`
[INFO] [stdout] 014f336ce57d0af5308bf1b528b943bdf829b337a980818265b38a3cfab5d795
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ee7fc5d2f1ce5b5f1aba5ba1a2c22583d0905e97a13dece3075420958de2a586
[INFO] running `Command { std: "docker" "start" "-a" "ee7fc5d2f1ce5b5f1aba5ba1a2c22583d0905e97a13dece3075420958de2a586", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fern_cli_sdk-8f7050e47c7772ea)
[INFO] [stdout] 
[INFO] [stdout] running 950 tests
[INFO] [stdout] test auth::builder::tests::basic_username_only_against_non_basic_scheme_is_skipped ... ok
[INFO] [stdout] test auth::builder::tests::no_bindings_returns_noop ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_describes_basic_pair ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_describes_chain ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_describes_env_var ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_none_for_empty_bindings ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_marks_custom_provider_opaque ... ok
[INFO] [stdout] test auth::builder::tests::strategy_all_with_zero_bindings_returns_no_auth ... ok
[INFO] [stdout] test auth::builder::tests::strategy_any_overrides_spec_routing ... ok
[INFO] [stdout] test auth::builder::tests::strategy_auto_picks_any_when_no_per_endpoint_security ... ok
[INFO] [stdout] test auth::builder::tests::strategy_auto_picks_routing_when_spec_has_per_endpoint_security ... ok
[INFO] [stdout] test auth::builder::tests::strategy_routing_used_even_without_per_endpoint_security ... ok
[INFO] [stdout] test auth::builder::tests::strategy_routing_with_zero_bindings_returns_no_auth ... ok
[INFO] [stdout] test auth::builder::tests::token_binding_for_basic_scheme_is_skipped ... ok
[INFO] [stdout] test auth::compose::tests::all_auth_empty_provider_list_is_no_credentials ... ok
[INFO] [stdout] test auth::compose::tests::all_auth_has_credentials_requires_every_child ... ok
[INFO] [stdout] test auth::builder::tests::bearer_scheme_routes_to_bearer_provider ... ok
[INFO] [stdout] test auth::compose::tests::any_auth_no_credentials_is_passthrough ... ok
[INFO] [stdout] test auth::builder::tests::custom_binding_used_as_is ... ok
[INFO] [stdout] test auth::builder::tests::apikey_header_uses_declared_header_name ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_explicit_anonymous_is_true ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_satisfiable_requirement_is_true ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unsatisfiable_requirement_is_false ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unspecified_delegates_to_default ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unspecified_propagates_default_false ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unspecified_with_no_default_uses_general_check ... ok
[INFO] [stdout] test auth::compose::tests::any_auth_picks_first_with_credentials ... ok
[INFO] [stdout] test auth::compose::tests::all_auth_applies_every_provider ... ok
[INFO] [stdout] test auth::compose::tests::routing_setup_registers_provider_named_apikey ... ok
[INFO] [stdout] test auth::builder::tests::from_bindings_works_without_doc ... ok
[INFO] [stdout] test auth::builder::tests::uses_routing_when_doc_has_per_endpoint_security ... ok
[INFO] [stdout] test auth::credential::tests::chain_picks_first_with_value ... ok
[INFO] [stdout] test auth::credential::tests::chain_returns_none_when_all_missing ... ok
[INFO] [stdout] test auth::credential::tests::chain_with_empty_literal_falls_through ... ok
[INFO] [stdout] test auth::credential::tests::cli_args_collects_recursively_through_chain ... ok
[INFO] [stdout] test auth::builder::tests::routing_falls_back_to_any_for_unspecified_endpoint ... ok
[INFO] [stdout] test auth::builder::tests::basic_username_only_binding_sends_authorization_with_empty_password ... ok
[INFO] [stdout] test auth::credential::tests::cli_strips_leading_dashes ... ok
[INFO] [stdout] test auth::credential::tests::closure_resolves ... ok
[INFO] [stdout] test auth::credential::tests::closure_returning_empty_string_is_missing ... ok
[INFO] [stdout] test auth::credential::tests::closure_returning_none_is_missing ... ok
[INFO] [stdout] test auth::builder::tests::strategy_all_applies_every_scheme_unconditionally ... ok
[INFO] [stdout] test auth::credential::tests::env_returns_none_when_unset ... ok
[INFO] [stdout] test auth::credential::tests::env_treats_empty_as_missing ... ok
[INFO] [stdout] test auth::compose::tests::all_auth_short_circuits_on_provider_error ... ok
[INFO] [stdout] test auth::builder::tests::basic_scheme_routes_to_basic_provider ... ok
[INFO] [stdout] test auth::credential::tests::cli_resolves_to_none_before_finalize ... ok
[INFO] [stdout] test auth::credential::tests::cli_args_empty_when_no_cli_variants ... ok
[INFO] [stdout] test auth::credential::tests::env_treats_whitespace_only_as_missing ... ok
[INFO] [stdout] test auth::credential::tests::env_trims_surrounding_whitespace ... ok
[INFO] [stdout] test auth::credential::tests::file_missing_resolves_to_none ... ok
[INFO] [stdout] test auth::credential::tests::debug_redacts_literal_value ... ok
[INFO] [stdout] test auth::credential::tests::file_empty_content_is_missing ... ok
[INFO] [stdout] test auth::credential::tests::file_reads_and_trims_contents ... ok
[INFO] [stdout] test auth::compose::tests::routing_explicit_anonymous_skips_auth_even_with_default ... ok
[INFO] [stdout] test auth::credential::tests::finalize_cli_returns_none_when_flag_absent ... ok
[INFO] [stdout] test auth::credential::tests::finalize_recurses_into_chain_with_cli_fallback_to_env ... ok
[INFO] [stdout] test auth::credential::tests::expand_home_resolves_tilde_prefix ... ok
[INFO] [stdout] test auth::credential::tests::finalize_passes_through_non_cli_variants ... ok
[INFO] [stdout] test auth::credential::tests::finalize_replaces_cli_with_closure_reading_matches ... ok
[INFO] [stdout] test auth::credential::tests::home_dir_falls_back_to_userprofile_when_home_unset ... ok
[INFO] [stdout] test auth::credential::tests::finalize_chain_cli_wins_over_env ... ok
[INFO] [stdout] test auth::credential::tests::literal_empty_string_resolves_to_none ... ok
[INFO] [stdout] test auth::credential::tests::missing_resolves_to_none ... ok
[INFO] [stdout] test auth::credential::tests::resolved_secret_does_not_leak_through_debug ... ok
[INFO] [stdout] test auth::error::tests::falls_back_to_raw_body_when_non_json ... ok
[INFO] [stdout] test auth::error::tests::friendly_when_provider_has_no_credentials_for_endpoint ... ok
[INFO] [stdout] test auth::error::tests::handles_top_level_reason_field ... ok
[INFO] [stdout] test auth::oauth2::tests::parse_oauth_error_prefers_error_and_description ... ok
[INFO] [stdout] test auth::credential::tests::literal_resolves ... ok
[INFO] [stdout] test auth::compose::tests::routing_combines_anded_schemes_in_one_requirement ... ok
[INFO] [stdout] test auth::error::tests::parses_structured_error_envelope ... ok
[INFO] [stdout] test auth::error::tests::passes_through_when_credentials_present ... ok
[INFO] [stdout] test auth::oauth2::tests::has_credentials_true_when_cache_has_valid_token ... ok
[INFO] [stdout] test auth::builder::tests::basic_password_only_binding_sends_authorization_with_empty_username ... ok
[INFO] [stdout] test auth::oauth2::tests::token_cache_expired_token_returns_none ... ok
[INFO] [stdout] test auth::compose::tests::routing_picks_satisfiable_requirement ... ok
[INFO] [stdout] test auth::oauth2::tests::token_cache_file_permissions ... ok
[INFO] [stdout] test auth::oauth2::tests::token_cache_no_expiry_always_valid ... ok
[INFO] [stdout] test auth::oauth2::tests::token_cache_remove ... ok
[INFO] [stdout] test auth::oauth2::tests::token_cache_preserves_refresh_token_on_update ... ok
[INFO] [stdout] test auth::oauth2::tests::truncate_body_long ... ok
[INFO] [stdout] test auth::oauth2::tests::truncate_body_multibyte_utf8_no_panic ... ok
[INFO] [stdout] test auth::provider::tests::endpoint_metadata_three_states ... ok
[INFO] [stdout] test auth::oauth2::tests::token_cache_store_and_load ... ok
[INFO] [stdout] test auth::compose::tests::any_auth_skips_routing_child_that_cant_satisfy_endpoint ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_full_missing_password_is_no_credentials ... ok
[INFO] [stdout] test auth::compose::tests::routing_uses_default_when_endpoint_has_no_requirements ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_full_missing_username_is_no_credentials ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_password_only_missing_is_no_credentials ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_username_only_missing_is_no_credentials ... ok
[INFO] [stdout] test auth::compose::tests::routing_no_satisfiable_requirement_is_passthrough ... ok
[INFO] [stdout] test auth::compose::tests::routing_falls_back_to_or_alternative ... ok
[INFO] [stdout] test auth::compose::tests::routing_unspecified_no_default_is_passthrough ... ok
[INFO] [stdout] test auth::builder::tests::duplicate_binding_uses_last_write_consistently ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_username_only_sends_empty_password ... ok
[INFO] [stdout] test auth::schemes::tests::bearer_provider_emits_authorization_bearer ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_password_only_sends_empty_username ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_format_before_subcommand ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_format_equals_before_subcommand ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_root ... ok
[INFO] [stdout] test cli_args::tests::test_is_version_flag ... ok
[INFO] [stdout] test cli_args::tests::test_no_json_help_without_format ... ok
[INFO] [stdout] test cli_args::tests::test_no_json_help_without_help_flag ... ok
[INFO] [stdout] test cli_args::tests::test_wants_json_help_case_insensitive ... ok
[INFO] [stdout] test cli_args::tests::test_wants_json_help_equals ... ok
[INFO] [stdout] test cli_args::tests::test_wants_json_help_short_flag ... ok
[INFO] [stdout] test cli_args::tests::test_wants_json_help_space_separated ... ok
[INFO] [stdout] test completions::tests::parse_shell_invalid ... ok
[INFO] [stdout] test completions::tests::parse_shell_rejects_uppercase ... ok
[INFO] [stdout] test completions::tests::parse_shell_valid ... ok
[INFO] [stdout] test completions::tests::wants_completion_detects_subcommand ... ok
[INFO] [stdout] test completions::tests::wants_completion_false_for_normal_commands ... ok
[INFO] [stdout] test completions::tests::wants_completion_false_when_flag_value ... ok
[INFO] [stdout] test completions::tests::wants_completion_false_when_nested ... ok
[INFO] [stdout] test completions::tests::wants_completion_true_after_eq_flag ... ok
[INFO] [stdout] test completions::tests::wants_completion_with_boolean_flag ... ok
[INFO] [stdout] test completions::tests::wants_completion_with_multiple_boolean_flags ... ok
[INFO] [stdout] test auth::schemes::tests::bearer_provider_no_token_is_noop ... ok
[INFO] [stdout] test custom_commands::tests::graft_creates_missing_intermediate_parent ... ok
[INFO] [stdout] test custom_commands::tests::graft_into_existing_parent_keeps_siblings ... ok
[INFO] [stdout] test custom_commands::tests::graft_leaf_collision_under_parent_replaces ... ok
[INFO] [stdout] test custom_commands::tests::graft_top_level_adds_command ... ok
[INFO] [stdout] test custom_commands::tests::graft_top_level_collision_replaces_leaf ... ok
[INFO] [stdout] test custom_commands::tests::registry_dispatch_invokes_matching_handler ... ok
[INFO] [stdout] test custom_commands::tests::registry_dispatch_returns_none_when_no_custom_invoked ... ok
[INFO] [stdout] test custom_commands::tests::registry_graft_into_grafts_all_entries ... ok
[INFO] [stdout] test custom_commands::tests::registry_registers_top_level_command ... ok
[INFO] [stdout] test custom_commands::tests::registry_registers_under_path ... ok
[INFO] [stdout] test custom_commands::tests::walk_matches_finds_leaf ... ok
[INFO] [stdout] test custom_commands::tests::walk_matches_misses_when_parent_diverges ... ok
[INFO] [stdout] test custom_commands::tests::walk_matches_misses_when_path_diverges ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_basic ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_false_for_other_subcommand ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_false_when_flag_value ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_true_after_boolean_flag ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_true_after_eq_flag ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_true_after_multiple_boolean_flags ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_eq_flag ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_out_of_range ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_skips_value_flag ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_with_boolean_flag ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_zeroth ... ok
[INFO] [stdout] test error::tests::test_error_to_json_validation ... ok
[INFO] [stdout] test error::tests::test_exit_codes_all_variants ... ok
[INFO] [stdout] test error::tests::test_exit_codes_are_distinct ... ok
[INFO] [stdout] test error::tests::test_print_error_json_all_variants_no_panic ... ok
[INFO] [stdout] test error::tests::test_error_to_json_api ... ok
[INFO] [stdout] test error::tests::test_to_json_auth ... ok
[INFO] [stdout] test error::tests::test_to_json_discovery ... ok
[INFO] [stdout] test error::tests::test_to_json_other ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_single_page_json_is_pretty_with_trailing_newline ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_defaults_to_json_auto ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_falls_back_to_json_on_unknown_format ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_reads_explicit_format ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_paginated_json_is_compact_one_line ... ok
[INFO] [stdout] test formatter::tests::test_extract_items ... ok
[INFO] [stdout] test formatter::tests::test_extract_items_none ... ok
[INFO] [stdout] test formatter::tests::test_format_csv ... ok
[INFO] [stdout] test formatter::tests::test_format_csv_array_of_arrays ... ok
[INFO] [stdout] test formatter::tests::test_format_csv_escape ... ok
[INFO] [stdout] test formatter::tests::test_format_csv_flat_scalars ... ok
[INFO] [stdout] test formatter::tests::test_format_csv_flat_scalars_with_escaping ... ok
[INFO] [stdout] test formatter::tests::test_format_json ... ok
[INFO] [stdout] test formatter::tests::test_format_table_array_of_objects ... ok
[INFO] [stdout] test formatter::tests::test_format_table_empty_array ... ok
[INFO] [stdout] test formatter::tests::test_format_table_multibyte_exact_boundary ... ok
[INFO] [stdout] test formatter::tests::test_format_table_multibyte_truncation_does_not_panic ... ok
[INFO] [stdout] test formatter::tests::test_format_table_nested_object_flattened ... ok
[INFO] [stdout] test formatter::tests::test_format_table_nested_objects_in_array ... ok
[INFO] [stdout] test formatter::tests::test_format_table_single_object ... ok
[INFO] [stdout] test formatter::tests::test_format_value_paginated_csv_continuation_no_header ... ok
[INFO] [stdout] test formatter::tests::test_format_value_paginated_table_continuation_no_header ... ok
[INFO] [stdout] test formatter::tests::test_format_value_paginated_table_first_page_has_header ... ok
[INFO] [stdout] test formatter::tests::test_format_value_paginated_yaml_has_document_separator ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_colon_in_string_is_quoted ... ok
[INFO] [stdout] test formatter::tests::test_format_value_paginated_csv_first_page_has_header ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_hash_in_string_is_quoted_not_block ... ok
[INFO] [stdout] test formatter::tests::test_output_format_from_str ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_multiline_still_uses_block ... ok
[INFO] [stdout] test formatter::tests::test_output_format_parse_unknown_returns_err ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_auth_scheme_records_binding ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_builder ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_command_under_records_path ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_custom_command_top_level ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_endpoint ... ok
[INFO] [stdout] test graphql::commands::tests::test_all_commands_always_shown ... ok
[INFO] [stdout] test graphql::commands::tests::test_builtin_flag_names_not_duplicated ... ok
[INFO] [stdout] test graphql::commands::tests::test_method_params_become_flags ... ok
[INFO] [stdout] test graphql::commands::tests::test_root_uses_doc_name ... ok
[INFO] [stdout] test graphql::discovery::tests::test_deserialize_defaults ... ok
[INFO] [stdout] test formatter::tests::test_output_format_parse_known ... ok
[INFO] [stdout] test graphql::discovery::tests::test_deserialize_graphql_schema ... ok
[INFO] [stdout] test graphql::executor::tests::test_build_graphql_body_injects_cursor_when_after_arg_present ... ok
[INFO] [stdout] test graphql::executor::tests::test_build_graphql_body_reconstructs_nested_input ... ok
[INFO] [stdout] test graphql::executor::tests::test_build_graphql_body_no_cursor_when_no_after_arg ... ok
[INFO] [stdout] test graphql::executor::tests::test_execute_method_dry_run_with_http_config ... ok
[INFO] [stdout] test graphql::executor::tests::test_extract_graphql_cursor_returns_cursor_when_has_next ... ok
[INFO] [stdout] test graphql::executor::tests::test_extract_graphql_cursor_returns_none_when_no_next ... ok
[INFO] [stdout] test graphql::executor::tests::test_extract_graphql_cursor_returns_none_when_no_page_info ... ok
[INFO] [stdout] test graphql::executor::tests::test_handle_json_response_capture_output ... ok
[INFO] [stdout] test graphql::executor::tests::test_handle_json_response_non_json_body ... ok
[INFO] [stdout] test graphql::executor::tests::test_pagination_config_default ... ok
[INFO] [stdout] test graphql::executor::tests::test_parse_graphql_response_errors_and_data_returns_data ... ok
[INFO] [stdout] test graphql::executor::tests::test_parse_graphql_response_errors_only_is_fatal ... ok
[INFO] [stdout] test graphql::executor::tests::test_parse_graphql_response_null_data_with_errors_is_fatal ... ok
[INFO] [stdout] test graphql::executor::tests::test_parse_graphql_response_unwraps_single_field ... ok
[INFO] [stdout] test graphql::executor::tests::test_set_nested_value_flat ... ok
[INFO] [stdout] test graphql::executor::tests::test_set_nested_value_three_levels ... ok
[INFO] [stdout] test auth::schemes::tests::bearer_provider_rejects_invalid_token_bytes ... ok
[INFO] [stdout] test graphql::help::tests::test_render_json_help_dispatches_nested_path ... ok
[INFO] [stdout] test graphql::executor::tests::test_set_nested_value_two_levels ... ok
[INFO] [stdout] test graphql::help::tests::test_render_json_help_nested_sub_resource_listing ... ok
[INFO] [stdout] test graphql::help::tests::test_render_nested_operation_schema ... ok
[INFO] [stdout] test graphql::help::tests::test_render_resource ... ok
[INFO] [stdout] test auth::provider::tests::no_auth_provider_emits_no_headers ... ok
[INFO] [stdout] test graphql::help::tests::test_render_root_lists_all ... ok
[INFO] [stdout] test graphql::parser::tests::test_camel_to_kebab ... ok
[INFO] [stdout] test graphql::help::tests::test_render_operation_schema ... ok
[INFO] [stdout] test graphql::parser::tests::test_load_minimal_schema ... ok
[INFO] [stdout] test graphql::parser::tests::test_split_mutation_name ... ok
[INFO] [stdout] test graphql::parser::tests::test_nested_input_flattening ... ok
[INFO] [stdout] test graphql::parser::tests::test_singular_kebab ... ok
[INFO] [stdout] test graphql::parser::tests::test_split_query_name ... ok
[INFO] [stdout] test graphql::parser::tests::test_undeclared_scalar_as_arg ... ok
[INFO] [stdout] test auth::schemes::tests::header_provider_custom_header_name ... ok
[INFO] [stdout] test http::tests::env_prefix_uppercases_and_translates_dashes ... ok
[INFO] [stdout] test auth::schemes::tests::header_provider_raw_value_no_prefix ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_emits_base64_authorization ... ok
[INFO] [stdout] test auth::schemes::tests::header_provider_bearer_prefix_named_header ... ok
[INFO] [stdout] test http::tests::http_config_rejects_empty_name ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_uses_cached_refresh_token ... ok
[INFO] [stdout] test http::tests::is_truthy_is_case_insensitive ... ok
[INFO] [stdout] test graphql::executor::tests::test_build_http_request_posts_json_body ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_falls_through_when_cached_refresh_fails ... ok
[INFO] [stdout] test auth::oauth2::tests::client_credentials_fetches_and_caches_token ... ok
[INFO] [stdout] test http::tests::resolve_clean_env_yields_no_overrides ... ok
[INFO] [stdout] test http::tests::resolve_invalid_ca_bundle_contents_errors ... ok
[INFO] [stdout] test http::tests::resolve_invalid_ca_bundle_path_errors ... ok
[INFO] [stdout] test http::tests::first_env_picks_first_set_value_and_skips_empty ... ok
[INFO] [stdout] test http::tests::first_env_truthy_rejects_falsy ... ok
[INFO] [stdout] test http::tests::first_env_truthy_returns_active_key_name ... ok
[INFO] [stdout] test http::tests::is_first_emission_dedupes_by_binary_and_kind ... ok
[INFO] [stdout] test http::tests::resolve_picks_up_insecure_flag ... ok
[INFO] [stdout] test http::tests::scoped_helper_concatenates_prefix_and_suffix ... ok
[INFO] [stdout] test http::tests::with_extra_root_cert_rejects_empty_bundle ... ok
[INFO] [stdout] test http::tests::with_extra_root_cert_rejects_non_pem ... ok
[INFO] [stdout] test logging::tests::test_env_prefix ... ok
[INFO] [stdout] test logging::tests::test_env_var_names_derived ... ok
[INFO] [stdout] test http::tests::resolve_and_build_client_agree_on_common_env_var_shape ... ok
[INFO] [stdout] test http::tests::resolve_appends_env_ca_bundle_after_compile_time_roots ... ok
[INFO] [stdout] test logging::tests::test_init_logging_with_stderr_filter_no_panic ... ok
[INFO] [stdout] test man::tests::generate_man_produces_roff ... ok
[INFO] [stdout] test man::tests::wants_man_basic ... ok
[INFO] [stdout] test man::tests::wants_man_false_when_flag_value ... ok
[INFO] [stdout] test man::tests::wants_man_with_boolean_flag ... ok
[INFO] [stdout] test openapi::app::tests::test_app_context_extra_headers_optional_missing_is_ok ... ok
[INFO] [stdout] test openapi::app::tests::test_app_context_extra_headers_per_op_param_satisfies_required ... ok
[INFO] [stdout] test openapi::app::tests::test_app_context_extra_headers_required_missing_errors ... ok
[INFO] [stdout] test openapi::app::tests::test_app_context_spec_accessor ... ok
[INFO] [stdout] test openapi::app::tests::test_apply_server_var_substitutions_walks_named_servers ... ok
[INFO] [stdout] test openapi::app::tests::test_apply_server_var_substitutions_walks_nested_resources ... ok
[INFO] [stdout] test openapi::app::tests::test_auth_basic_scheme_password_only_records_specialized_binding ... ok
[INFO] [stdout] test openapi::app::tests::test_auth_basic_scheme_records_basic_binding ... ok
[INFO] [stdout] test openapi::app::tests::test_auth_basic_scheme_username_only_records_specialized_binding ... ok
[INFO] [stdout] test openapi::app::tests::test_auth_scheme_records_token_binding ... ok
[INFO] [stdout] test openapi::app::tests::test_build_global_header_overrides_errors_when_required_missing ... ok
[INFO] [stdout] test openapi::app::tests::test_build_global_header_overrides_per_op_param_wins ... ok
[INFO] [stdout] test openapi::app::tests::test_build_pagination_config_defaults ... ok
[INFO] [stdout] test openapi::app::tests::test_build_pagination_config_uses_doc_token_names ... ok
[INFO] [stdout] test openapi::app::tests::test_cli_app_builder ... ok
[INFO] [stdout] test openapi::app::tests::test_cli_app_command_under_records_path ... ok
[INFO] [stdout] test openapi::app::tests::test_cli_app_custom_command ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_empty_when_no_flags ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_individual_flags ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_invalid_json_override ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_override_wins ... ok
[INFO] [stdout] test openapi::app::tests::test_compose_root_after_help_sections_skips_absent ... ok
[INFO] [stdout] test openapi::app::tests::test_global_header_arg_id_is_namespaced_by_wire_name ... ok
[INFO] [stdout] test openapi::app::tests::test_global_header_flag_name_respects_name_field_then_header ... ok
[INFO] [stdout] test openapi::app::tests::test_idempotency_header_env_matches_by_header ... ok
[INFO] [stdout] test openapi::app::tests::test_idempotency_header_env_matches_by_name ... ok
[INFO] [stdout] test openapi::app::tests::test_idempotency_header_env_skips_non_idempotent_ops ... ok
[INFO] [stdout] test openapi::app::tests::test_merge_global_headers_first_write_wins ... ok
[INFO] [stdout] test openapi::app::tests::test_merge_schemas_first_write_wins_on_duplicate ... ok
[INFO] [stdout] test openapi::app::tests::test_merge_security_schemes_first_write_wins ... ok
[INFO] [stdout] test openapi::app::tests::test_multi_spec_collision_error ... ok
[INFO] [stdout] test openapi::app::tests::test_multi_spec_flat_merge ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.107173Z[0m [34mDEBUG[0m Applying overlay "Overlay 1" v1.0
[INFO] [stderr] [2m2026-06-12T20:53:10.107536Z[0m [34mDEBUG[0m Applying overlay "Overlay 2" v1.0
[INFO] [stdout] test openapi::app::tests::test_multiple_overlays_on_same_spec ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.109832Z[0m [34mDEBUG[0m Applying overlay "Add fern extensions" v1.0
[INFO] [stdout] test openapi::app::tests::test_overlay_adds_fern_extensions ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.111807Z[0m [34mDEBUG[0m Applying overlay "Add description" v1.0
[INFO] [stdout] test openapi::app::tests::test_overlay_applied_before_parsing ... ok
[INFO] [stdout] test openapi::app::tests::test_overrides_array_of_objects_merged_by_index ... ok
[INFO] [stdout] test openapi::app::tests::test_overrides_null_removes_field ... ok
[INFO] [stdout] test openapi::app::tests::test_overrides_primitive_array_replaced ... ok
[INFO] [stdout] test openapi::app::tests::test_per_method_root_url_set_by_openapi_parser ... ok
[INFO] [stdout] test openapi::app::tests::test_per_op_header_param_override_is_case_insensitive ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_global_header_value_filters_empty_and_whitespace ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_method_empty_path ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_method_from_matches_basic ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_method_from_matches_nested ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_method_method_not_found ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_method_resource_not_found ... ok
[INFO] [stdout] test openapi::app::tests::test_resolve_method_sub_resource_not_found ... ok
[INFO] [stdout] test openapi::app::tests::test_sdk_variable_collides_with_builtin_flags ... ok
[INFO] [stdout] test openapi::app::tests::test_security_schemes_merge_across_multi_spec ... ok
[INFO] [stdout] test openapi::app::tests::test_sequential_overrides_chain ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_accepts_slash_delimited_path ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_collides_on_inner_resource ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_hoists_matching_top_level_resource ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_merges_multiple_specs_into_same_prefix ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_namespaces_resources ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_root_url_on_methods ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_under_with_overrides ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_with_overrides_applies_fern_extensions ... ok
[INFO] [stdout] test openapi::app::tests::test_spec_without_overrides_unchanged ... ok
[INFO] [stdout] test openapi::app::tests::test_specs_under_batch_helper ... ok
[INFO] [stdout] test openapi::app::tests::test_specs_under_named_creates_nested_namespaces ... ok
[INFO] [stdout] test openapi::app::tests::test_specs_under_named_with_overrides ... ok
[INFO] [stdout] test openapi::app::tests::test_substitute_url_vars_replaces_known_and_leaves_unknown ... ok
[INFO] [stdout] test openapi::app::tests::test_title_description_override ... ok
[INFO] [stdout] test openapi::commands::tests::test_all_commands_always_shown ... ok
[INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_accepts_both_display_and_wire ... ok
[INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_no_fern_enum_uses_wire_values ... ok
[INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_renders_display_name_and_per_value_help ... ok
[INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_skips_alias_when_display_equals_wire ... ok
[INFO] [stdout] test openapi::commands::tests::test_builtin_flag_names_not_duplicated ... ok
[INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_empty_is_noop ... ok
[INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_is_case_sensitive ... ok
[INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_multiple_unions_matches ... ok
[INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_nonexistent_prunes_empty_resources ... ok
[INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_recurses_into_nested_resources ... ok
[INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_single_keeps_matching_only ... ok
[INFO] [stdout] test openapi::commands::tests::test_group_about_falls_back_to_legacy_label_when_no_metadata ... ok
[INFO] [stdout] test openapi::commands::tests::test_group_description_sets_long_about_only ... ok
[INFO] [stdout] test openapi::commands::tests::test_group_summary_and_description_populate_both_about_fields ... ok
[INFO] [stdout] test openapi::commands::tests::test_group_summary_overrides_about_text ... ok
[INFO] [stdout] test openapi::commands::tests::test_json_help_text_rest_method ... ok
[INFO] [stdout] test openapi::commands::tests::test_method_params_become_flags ... ok
[INFO] [stdout] test openapi::commands::tests::test_root_uses_doc_name ... ok
[INFO] [stdout] test openapi::commands::tests::test_variable_bound_param_skipped_from_per_op_flags ... ok
[INFO] [stdout] test openapi::commands::tests::test_x_fern_groups_does_not_restructure_clap_tree ... ok
[INFO] [stdout] test openapi::commands::tests::test_x_fern_groups_missing_entry_falls_back_to_default_label ... ok
[INFO] [stdout] test openapi::commands::tests::test_x_fern_groups_summary_drives_about_for_matched_group ... ok
[INFO] [stdout] test openapi::discovery::tests::test_deserialize_defaults ... ok
[INFO] [stdout] test openapi::discovery::tests::test_deserialize_rest_description ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_persists_token_to_disk ... ok
[INFO] [stdout] {
[INFO] [stdout]   "body": {
[INFO] [stdout]     "name": "test.txt"
[INFO] [stdout]   },
[INFO] [stdout]   "dry_run": true,
[INFO] [stdout]   "headers": [],
[INFO] [stdout]   "is_multipart_upload": false,
[INFO] [stdout]   "method": "POST",
[INFO] [stdout]   "query_params": [],
[INFO] [stdout]   "url": "https://example.googleapis.com/v1/files/123"
[INFO] [stdout] }
[INFO] [stdout] test openapi::executor::test_execute_method_dry_run ... ok
[INFO] [stdout] test openapi::executor::test_execute_method_missing_path_param ... ok
[INFO] [stdout] test openapi::executor::test_bearer_header_sends_bearer_prefix ... ok
[INFO] [stdout] test openapi::executor::test_get_value_type_helper ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.388020Z[0m [34mDEBUG[0m Using cached OAuth2 access token for https://example.com/token
[INFO] [stdout] test auth::oauth2::tests::provider_uses_disk_cache ... ok
[INFO] [stdout] test openapi::executor::test_get_does_not_set_content_length_zero ... ok
[INFO] [stdout] test openapi::executor::tests::test_apply_base_path_helper_handles_edge_cases ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_is_stdin ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_at_dash_is_stdin ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_at_path_strips_prefix ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_dash_is_stdin ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_double_at_is_literal_at_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_plain_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_body_params_merge_into_body_via_params_json ... ok
[INFO] [stdout] test openapi::executor::test_post_with_body_does_not_add_content_length_zero ... ok
[INFO] [stdout] test openapi::executor::test_post_without_body_sets_content_length_zero ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_http_request_put_patch_delete ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_body_no_metadata ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_bytes_with_metadata ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_bytes_without_metadata ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_stream_content_length ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_stream_large_file ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_applies_to_doc_base_url ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_applies_to_media_upload_branch ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_applies_to_spec_root_url ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_composes_with_per_operation_server ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_doc_base_url_with_path_component ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_leading_slash_x_server_no_trailing_slash ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_leading_slash_x_server_trailing_slash ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_multi_segment ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_multi_templated_params_substitute ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_no_leading_slash_x_server_no_trailing_slash ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_no_leading_slash_x_server_trailing_slash ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_none_unchanged ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_per_op_server_with_trailing_slash ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_preserves_path_substitution ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_templated_param_declared_as_path_param_does_not_error ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_templated_param_missing_value_leaves_placeholder ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_templated_param_substitutes_and_does_not_leak_to_query ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_templated_param_with_base_url_override ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_templated_with_operation_path_param_and_query ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_with_trailing_slash_normalized ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_basic ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_does_not_replace_placeholder_like_values ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_empty_method_root_url_falls_back_to_doc ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_encodes_path_parameter_chars ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_errors_for_path_param_not_in_template ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_flatpath_fallback_on_mismatch ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_method_root_url_overrides_doc_root_url ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_override_no_double_slash_with_leading_slash_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_override_replaces_spec_base ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_override_trailing_slash_normalized ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_plus_expansion_preserves_slashes ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_plus_expansion_rejects_path_traversal ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_plus_expansion_rejects_reserved_chars ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_query_params ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_repeated_query_param_expands_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_substitution ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_upload_endpoint_substitutes_path_params ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_url_uses_root_url_and_service_path_when_no_base_url ... ok
[INFO] [stdout] test openapi::executor::tests::test_coerce_body_param_value_nested_decodes_json ... ok
[INFO] [stdout] test openapi::executor::tests::test_coerce_body_param_value_rejects_bad_input ... ok
[INFO] [stdout] test openapi::executor::tests::test_coerce_body_param_value_scalar_types ... ok
[INFO] [stdout] test openapi::executor::tests::test_compute_backoff_delay_default_entropy_produces_jitter ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_body ... ok
[INFO] [stdout] test openapi::executor::tests::test_compute_backoff_delay_disabled_returns_zero ... ok
[INFO] [stdout] test openapi::executor::tests::test_compute_backoff_delay_jitter_symmetric_around_raw ... ok
[INFO] [stdout] test openapi::executor::tests::test_compute_backoff_delay_no_jitter_is_deterministic ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_disabled_config_no_retry ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_falls_back_to_backoff_when_retry_after_invalid ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_honors_retry_after_numeric ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_max_attempts_cap ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_network_error_get_retries ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_network_error_post_without_idempotent_no_retry ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_no_retry_flag_short_circuits ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_non_retryable_status_no_retry ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_post_429_always_safe ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_post_503_with_idempotent_retries ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_post_503_without_idempotent_no_retry ... ok
[INFO] [stdout] test openapi::executor::tests::test_decide_retry_retryable_status_get_retries ... ok
[INFO] [stdout] test openapi::executor::tests::test_decode_ndjson_emits_whole_line ... ok
[INFO] [stdout] test openapi::executor::tests::test_decode_ndjson_skips_blank_lines ... ok
[INFO] [stdout] test openapi::executor::tests::test_decode_ndjson_terminator_only_when_configured ... ok
[INFO] [stdout] test openapi::executor::tests::test_decode_text_emits_each_line_verbatim ... ok
[INFO] [stdout] test openapi::executor::tests::test_decode_text_skips_blank_lines ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_http_request_unsupported_method ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_descriptor_appears_verbatim_in_error ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_nested_resolves ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_no_extract_overrides_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_no_path_returns_full_body ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_resolved_null_is_preserved_not_errored ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_top_level_resolves ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_return_value_unresolved_path_errors ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_str_missing_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_str_nested_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_str_non_string_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_str_simple ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_array_index ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_array_index_on_object_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_array_index_out_of_range_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_consecutive_dots_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_empty_path_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_missing_intermediate_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_missing_top_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_nested_property ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_object_key_named_zero_wins_over_array_index ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_path_through_array_with_index ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_returns_primitive_subvalue ... ok
[INFO] [stdout] test openapi::executor::tests::test_get_nested_value_top_level_property ... ok
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_capture_output ... ok
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_extract_unresolved_errors ... ok
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_extracts_subvalue_capture ... ok
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_no_extract_keeps_full_body ... ok
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_non_json_body ... ok
[INFO] [stdout] {"items":[],"nextPageToken":"would-be-next"}
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_pagination_at_limit ... ok
[INFO] [stdout] {"items":[],"nextPageToken":"next-tok"}
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_pagination_continues ... ok
[INFO] [stdout] test openapi::executor::tests::test_handle_json_response_pagination_with_extract_emits_subvalue_per_page ... ok
[INFO] [stdout] test openapi::executor::tests::test_header_params_not_in_query_string ... ok
[INFO] [stdout] test openapi::executor::tests::test_explicit_anonymous_endpoint_skips_auth ... ok
[INFO] [stdout] test openapi::executor::tests::test_is_retryable_status_set_matches_docs ... ok
[INFO] [stdout] test openapi::executor::tests::test_json_flag_overrides_body_field_flags ... ok
[INFO] [stdout] test openapi::executor::tests::test_default_accept_skipped_when_accept_in_params ... ok
[INFO] [stdout] test openapi::executor::tests::test_method_allows_retry_idempotent_methods ... ok
[INFO] [stdout] test openapi::executor::tests::test_method_allows_retry_non_idempotent_methods_only_when_marked ... ok
[INFO] [stdout] test openapi::executor::tests::test_mime_from_extension_various ... ok
[INFO] [stdout] test openapi::executor::tests::test_mime_to_extension_additional_branches ... ok
[INFO] [stdout] test openapi::executor::tests::test_mime_to_extension_more_types ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_initial_for_each_form ... ok
[INFO] [stdout] test openapi::executor::tests::test_non_object_json_replaces_body_and_drops_per_field_flags ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_injection_endpoint_cursor_uses_op_param_name ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_injection_heuristic_first_page ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_injection_heuristic_with_token ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_injection_offset_nonzero_injects ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_injection_offset_zero_skipped_on_first_page ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_injection_uri_path_custom_no_query_param ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_url_override_only_for_next_url ... ok
[INFO] [stdout] test openapi::executor::tests::test_pagination_config_default ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_and_validate_inputs_invalid_body_json ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_and_validate_inputs_invalid_params_json ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_and_validate_inputs_required_query_param_missing ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_garbage_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_http_date_future ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_http_date_in_the_past_clamps_to_zero ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_numeric_seconds ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_whitespace_and_empty ... ok
[INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_zero ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_field_body_flags_path_runs_schema_validation ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_op_cursor_pagination_continues_with_response_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_op_offset_pagination_advances_by_results_len ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_op_cursor_stops_on_empty_next_cursor ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_op_offset_step_continues_on_full_page ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_op_offset_step_stops_on_short_page ... ok
[INFO] [stdout] test openapi::executor::tests::test_project_text_event_bypasses_return_value_projection ... ok
[INFO] [stdout] test openapi::executor::tests::test_per_op_offset_stops_when_has_next_page_false ... ok
[INFO] [stdout] test openapi::executor::tests::test_required_body_field_missing_mentions_flag_json_and_params ... ok
[INFO] [stdout] test openapi::executor::tests::test_required_param_missing_uses_flag_name_override ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_next_path_absolute_path_keeps_scheme_and_host ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_next_path_absolute_url_overrides_base ... ok
[INFO] [stdout] test openapi::executor::tests::test_required_non_body_param_missing_omits_json_hint ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_next_path_rejects_invalid_base_url ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_next_path_relative_path_inherits_directory ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_step_target_from_request_param ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_step_target_literal_integer ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_step_target_none_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_all_control_chars_falls_back ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_step_target_unresolvable_returns_none ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_explicit_enables_import_conversion ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_explicit_flag ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_extension_beats_metadata ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_extension_when_no_metadata ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_fallback ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_metadata_fallback_for_unknown_extension ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_strips_control_chars ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object_array_uses_repeated_keys ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object_nested ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object_non_object_value ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_default_style_is_form ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_form_no_explode_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_form_explode_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_blank_line_without_buffered_data_dispatches_nothing ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_dispatches_on_blank_line_with_multiline_concat ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_dispatches_two_events_separated_by_blank ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_flushes_final_event_without_blank_line ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_no_space_after_data ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_skips_comments_and_unknown_fields ... ok
[INFO] [stdout] test openapi::executor::tests::test_sse_decoder_strips_data_prefix_and_one_space ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_deep_validation ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_open_schema_allows_any_properties ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_unknown_field ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_valid ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_value_schema_not_found ... ok
[INFO] [stdout] test openapi::executor::tests::test_value_to_query_string_null ... ok
[INFO] [stdout] test openapi::executor::tests::test_value_to_query_string_object_serializes ... ok
[INFO] [stdout] test openapi::help::tests::test_render_json_help_dispatches_nested_path ... ok
[INFO] [stdout] test openapi::help::tests::test_render_json_help_nested_sub_resource_listing ... ok
[INFO] [stdout] test openapi::help::tests::test_render_nested_operation_schema ... ok
[INFO] [stdout] test openapi::help::tests::test_render_operation_schema ... ok
[INFO] [stdout] test openapi::help::tests::test_render_root_lists_all ... ok
[INFO] [stdout] test openapi::help::tests::test_render_resource ... ok
[INFO] [stdout] test openapi::help::tests::test_root_listing_stays_bare_array_when_no_sdk_variables ... ok
[INFO] [stdout] test openapi::help::tests::test_root_listing_surfaces_sdk_variables_when_declared ... ok
[INFO] [stdout] test openapi::help::tests::test_variable_bound_param_annotated_and_not_required_in_per_op_schema ... ok
[INFO] [stdout] test openapi::overlay::tests::test_apply_overlays_to_spec_no_overlays ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.853788Z[0m [34mDEBUG[0m Applying overlay "Overlay 1" v1.0
[INFO] [stderr] [2m2026-06-12T20:53:10.854628Z[0m [34mDEBUG[0m Applying overlay "Overlay 2" v1.0
[INFO] [stdout] test openapi::overlay::tests::test_apply_multiple_overlays ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.853788Z[0m [34mDEBUG[0m Applying overlay "Add description" v1.0
[INFO] [stdout] test openapi::overlay::tests::test_array_append_boolean ... ok
[INFO] [stdout] test openapi::overlay::tests::test_array_append_null ... ok
[INFO] [stdout] test openapi::overlay::tests::test_array_append_number ... ok
[INFO] [stdout] test openapi::overlay::tests::test_array_append_object ... ok
[INFO] [stdout] test openapi::overlay::tests::test_apply_overlays_to_spec_roundtrip ... ok
[INFO] [stdout] test openapi::overlay::tests::test_array_append_string ... ok
[INFO] [stdout] test openapi::overlay::tests::test_array_replace_with_array ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_arrays_index_by_index ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_array_type_mismatch_replaces ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_arrays_of_arrays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_arrays_of_objects ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_empty_arrays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_mixed_type_arrays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_nested ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_nested_objects_in_arrays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_objects ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_overwrites_primitives ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_preserves_existing ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_sparse_like_arrays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_update_extends_shorter_array ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_actions_on_items_from_earlier_actions ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_array_edge_cases_append_and_replace ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_array_index_targeting ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_does_not_mutate_input ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_deep_merge_preserves_nested_structure ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_merge_array_element_by_filter ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_merge_multiple_array_items_by_filter ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_merge_updates_into_schema ... ok
[INFO] [stdout] test auth::oauth2::tests::refresh_token_fetches_token ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_multiple_overlay_actions ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_multiple_consecutive_array_removals ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_remove_ignores_update ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_replace_primitive_arrays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_root_level_targeting ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_wildcard_across_multiple_paths ... ok
[INFO] [stdout] test openapi::overlay::tests::test_merge_at_path_array_append ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_key_with_special_chars ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.874476Z[0m [34mDEBUG[0m Applying overlay "fixture-overlay" v1.0.0
[INFO] [stdout] test openapi::overlay::tests::test_normalized_path_to_segments_direct ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_on_fixture_spec ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_remove_property ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_remove_array_element ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_root_target ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_update_nested_path ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_sequential_actions ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_wildcard_update ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_update_simple_path ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_zero_match_no_error ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.880968Z[0m [34mDEBUG[0m Applying overlay "noop" v1.0.0
[INFO] [stdout] test openapi::overlay::tests::test_parse_overlay_json ... ok
[INFO] [stdout] test openapi::overlay::tests::test_validate_overlay_action_no_target ... ok
[INFO] [stdout] test openapi::overlay::tests::test_validate_overlay_action_no_update_no_remove ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.881880Z[0m [34mDEBUG[0m Applying overlay "add-description" v1.0.0
[INFO] [stdout] test openapi::overlay::tests::test_validate_overlay_missing_version ... ok
[INFO] [stdout] test openapi::overlay::tests::test_validate_overlay_no_actions ... ok
[INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_resolves_anchors ... ok
[INFO] [stdout] test openapi::overlay::tests::test_parse_overlay_yaml ... ok
[INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_strips_custom_tags ... ok
[INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_strips_comments ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_objects_empty_arrays_vacuous_truth ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_objects_servers_array_is_all_objects ... ok
[INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_with_overlay_preserves_structure ... ok
[INFO] [stdout] test openapi::parser::tests::test_allow_null_keys_covers_all_fern_cli_keys ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_objects_tags_array_is_primitives ... ok
[INFO] [stdout] test openapi::parser::tests::test_binary_request_body_defaults_to_body_when_not_binary_format ... ok
[INFO] [stdout] test openapi::parser::tests::test_binary_request_body_flag_name_defaults_to_file_for_format_binary ... ok
[INFO] [stdout] test openapi::parser::tests::test_body_depth_3_plus_not_flattened ... ok
[INFO] [stdout] test openapi::parser::tests::test_build_rs_to_kebab_matches_parser_camel_to_kebab ... ok
[INFO] [stdout] test openapi::parser::tests::test_camel_to_kebab ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_adds_new_keys ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_empty_override_is_identity ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_enum_array_replaced ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_mixed_array_replaced_wholesale ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_mixed_examples_and_non_examples_nulls ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_multi_operation_fern_extensions ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_multiple_overrides_applied_sequentially ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_nested_object_merging ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_nested_openapi_paths ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_nested_sibling_keys ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_null_deletes_deeply_nested ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_null_deletes_key ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_null_removed_inside_object_array ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_null_removes_from_merged_result ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_object_arrays_merged_by_index ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_object_arrays_override_longer ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_override_adds_fern_extensions_to_spec ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_override_adds_new_schema ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_override_adds_schema_property ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_override_changes_group_name ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_parameters_array_merges_by_index ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_preserves_nulls_deeply_nested_under_examples ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_preserves_nulls_inside_examples ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_primitive_array_shorter_override_replaces ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_primitive_arrays_replaced_wholesale ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_removes_pre_existing_nulls_outside_examples ... ok
[INFO] [stdout] test openapi::parser::tests::test_deep_merge_scalars_override_wins ... ok
[INFO] [stdout] test openapi::parser::tests::test_default_value_absent_when_no_default_anywhere ... ok
[INFO] [stdout] test openapi::parser::tests::test_empty_and_whitespace_server_names_are_dropped ... ok
[INFO] [stdout] test openapi::parser::tests::test_explicit_empty_operation_security_means_anonymous ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_absent_yields_empty_vec ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_default_accepts_scalar_types ... ok
[INFO] [stdout] test openapi::executor::tests::test_header_params_sent_as_http_headers ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_minimal_entry_uses_defaults ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_full_entry_round_trips ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_preserves_declaration_order ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_optional_true_lowers_to_optional ... ok
[INFO] [stdout] test openapi::parser::tests::test_binary_request_body_honors_x_fern_parameter_name ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_x_fern_default_overrides_default ... ok
[INFO] [stdout] test openapi::parser::tests::test_group_name_accepts_scalar_string ... ok
[INFO] [stdout] test openapi::parser::tests::test_idempotency_headers_parsed_from_spec_root ... ok
[INFO] [stdout] test openapi::parser::tests::test_idempotent_op_without_spec_root_headers_has_no_synthetic_params ... ok
[INFO] [stdout] test openapi::parser::tests::test_idempotent_op_surfaces_header_param_non_idempotent_does_not ... ok
[INFO] [stdout] test openapi::parser::tests::test_idempotent_op_uses_name_for_flag_derivation ... ok
[INFO] [stdout] test openapi::parser::tests::test_inline_request_body_produces_per_field_body_params ... ok
[INFO] [stdout] test openapi::parser::tests::test_method_name_keeps_operation_id_when_no_tag_overlap ... ok
[INFO] [stdout] test openapi::parser::tests::test_method_name_skips_strip_when_explicit_group_name ... ok
[INFO] [stdout] test openapi::parser::tests::test_inline_body_does_not_clobber_query_params_with_same_name ... ok
[INFO] [stdout] test openapi::parser::tests::test_load_openapi_spec_with_root_retries ... ok
[INFO] [stdout] test openapi::parser::tests::test_method_name_strips_tag_prefix_with_tag_grouping ... ok
[INFO] [stdout] test openapi::parser::tests::test_named_server_empty_v2_still_falls_back_to_v1 ... ok
[INFO] [stdout] test openapi::parser::tests::test_named_server_empty_v1_falls_through_to_v2 ... ok
[INFO] [stdout] test openapi::parser::tests::test_named_server_v1_alias_x_name_is_recognized ... ok
[INFO] [stdout] test openapi::parser::tests::test_named_server_v1_wins_when_both_present ... ok
[INFO] [stdout] test openapi::parser::tests::test_named_server_v2_spelling_is_parsed ... ok
[INFO] [stdout] test openapi::parser::tests::test_nested_group_names ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_zero_match_continues_processing ... ok
[INFO] [stdout] test openapi::parser::tests::test_no_security_anywhere_leaves_requirements_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_normalize_base_path ... ok
[INFO] [stdout] test openapi::parser::tests::test_null_preserved_under_x_fern_examples ... ok
[INFO] [stdout] test openapi::parser::tests::test_null_preserved_under_example_singular ... ok
[INFO] [stdout] test openapi::parser::tests::test_no_named_servers_when_extensions_absent ... ok
[INFO] [stdout] test openapi::parser::tests::test_null_preserved_under_x_code_samples ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_alpha ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_absent_defaults_to_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_alias_ga ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_beta ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_legacy ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_deprecated_value ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_pre_release ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_generally_available_canonical ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_preview ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_pre_release_wire_spelling ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_stable_is_rejected ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_can_reference_undeclared_scheme ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_inherits_spec_level_security ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_return_value_absent_is_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_openapi_deprecated_true_falls_back_to_deprecated ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_return_value_empty_string_is_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_return_value_whitespace_trimmed ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_security_overrides_spec_default ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_return_value_nested_dotted_path ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_return_value_top_level_path ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_x_fern_availability_overrides_openapi_deprecated ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_apikey_header_and_query ... ok
[INFO] [stdout] test openapi::parser::tests::test_parameter_openapi_deprecated_falls_back_to_deprecated_availability ... ok
[INFO] [stdout] test openapi::parser::tests::test_or_of_ands_security_requirements ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_http_basic_security_scheme ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_oauth2_security_scheme_as_oauth2 ... ok
[INFO] [stdout] test openapi::parser::tests::test_per_operation_servers_override_is_captured ... ok
[INFO] [stdout] test openapi::parser::tests::test_plain_path_param_without_variable_reference ... ok
[INFO] [stdout] test openapi::parser::tests::test_per_operation_server_override ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_enum_display_to_wire_identity_without_fern_enum ... ok
[INFO] [stdout] test openapi::parser::tests::test_ref_property_within_inline_schema_resolved ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_cursor_form_requires_all_fields ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_cursor_form_strips_prefixes ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_custom_form ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_custom_form_rejects_unknown_type ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_discrimination_order_matches_upstream ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_inherits_root_when_op_is_true ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_missing_extension_returns_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_non_object_form_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_offset_form_with_optional_fields ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_offset_form_with_step_and_has_next_page ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_op_bool_with_root_bool_is_validation_error ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_op_false_inherits_root_like_upstream ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_op_true_without_root_returns_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_path_form ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_unknown_form_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_uri_form ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_uri_form_requires_both_fields ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_absent_returns_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_disabled_non_bool_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_factor_below_one_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_jitter_out_of_range_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_max_negative_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_shape_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_max_attempts_alias_spellings ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_max_zero_treated_as_disabled ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_false_disables_regardless_of_root ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_object_overrides_root_field_by_field ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_object_reenables_after_root_disabled ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_true_inherits_root_object ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_true_no_root_uses_defaults ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_root_disabled_inherited_by_default ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_upstream_disabled_object ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_missing_inherits_root_object ... ok
[INFO] [stdout] test openapi::parser::tests::test_schema_default_via_ref_lowers_as_documentation_only ... ok
[INFO] [stdout] test openapi::parser::tests::test_sdk_variable_marks_path_parameter ... ok
[INFO] [stdout] test openapi::parser::tests::test_sdk_variables_absent_yields_empty_vec ... ok
[INFO] [stdout] test openapi::parser::tests::test_sdk_variables_parses_string_entries_with_descriptions ... ok
[INFO] [stdout] test openapi::parser::tests::test_sdk_variables_skips_non_string_types ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.973568Z[0m [33m WARN[0m x-fern-sdk-variables entry 'count' has unsupported type 'integer'; only string variables are supported today (skipping)
[INFO] [stderr] [2m2026-06-12T20:53:10.974536Z[0m [33m WARN[0m x-fern-sdk-variable 'tenant' on non-path parameter 'tenant' is ignored
[INFO] [stdout] test openapi::parser::tests::test_security_scheme_type_and_scheme_are_case_insensitive ... ok
[INFO] [stdout] test openapi::parser::tests::test_sdk_variable_on_non_path_parameter_is_ignored ... ok
[INFO] [stdout] test openapi::parser::tests::test_spec_declared_param_wins_over_injection ... ok
[INFO] [stdout] test openapi::parser::tests::test_spec_level_empty_security_inherited_as_anonymous ... ok
[INFO] [stdout] test openapi::parser::tests::test_standard_openapi_default_lowers_as_documentation_only ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_and_pagination_mutually_exclusive ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_boolean_false_is_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_boolean_true_is_ndjson ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_invalid_format_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_invalid_kind_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_object_default_format_is_json ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_object_format_json ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_object_format_sse ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_object_format_text ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_text_rejects_terminator ... ok
[INFO] [stdout] test openapi::parser::tests::test_strip_pagination_prefix_request_and_response ... ok
[INFO] [stdout] test openapi::parser::tests::test_streaming_object_sse_with_terminator ... ok
[INFO] [stdout] test openapi::parser::tests::test_strip_tag_prefix_strips_when_op_starts_with_tag ... ok
[INFO] [stdout] test openapi::parser::tests::test_tokenize_camel_and_other ... ok
[INFO] [stdout] test openapi::parser::tests::test_strip_tag_prefix_no_strip_when_no_overlap ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_http_bearer_security_scheme ... ok
[INFO] [stdout] test openapi::parser::tests::test_unknown_security_type_falls_through_to_other ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_audiences_explicit_empty_yields_empty_vec ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_audiences_missing_yields_empty_vec ... ok
[INFO] [stdout] test openapi::parser::tests::test_parameter_availability_beta ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_audiences_multiple_values_preserve_order ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_audiences_preserves_duplicate_entries ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_audiences_single_value ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_base_path_absent_yields_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_base_path_does_not_affect_command_tree ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_base_path_empty_string_collapses_to_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_base_path_with_leading_slash_captured_verbatim ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_base_path_without_leading_slash_captured_verbatim ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_default_from_resolved_component_when_no_ref_site_override ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_default_alone_lowers_as_client_default ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_default_supersedes_schema_default_for_help_too ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_enum_absent_yields_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_enum_drops_empty_entries ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_default_at_ref_site_wins_over_resolved_component ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_enum_display_to_wire_round_trip ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_absent_yields_empty_map ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_description_only_keeps_summary_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_enum_partial_override_skips_missing_entries ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_keys_are_kebab_cased ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_enum_full_override_round_trips_per_value_fields ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_single_group_round_trips ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_multiple_groups_parse_independently ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.994092Z[0m [34mDEBUG[0m GET /users has a parameter marked with x-fern-ignore. Skipping.
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_summary_only_keeps_description_none ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.994147Z[0m [34mDEBUG[0m GET /users has a parameter marked with x-fern-ignore. Skipping.
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_at_parameter_ref_site_drops_parameter ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_at_component_drops_parameter_via_any_ref ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_default_false_keeps_operation_and_parameter ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.995889Z[0m [34mDEBUG[0m GET /users is marked with x-fern-ignore. Skipping.
[INFO] [stderr] [2m2026-06-12T20:53:10.996821Z[0m [34mDEBUG[0m GET /users is marked with x-fern-ignore. Skipping.
[INFO] [stderr] [2m2026-06-12T20:53:10.997035Z[0m [34mDEBUG[0m GET /users has a parameter marked with x-fern-ignore. Skipping.
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_drops_operation ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_mixed_path_keeps_non_ignored_ops ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_drops_parameter ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_absent_leaves_display_name_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_at_ref_site_wins_over_component ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_falls_back_to_component_when_ref_site_absent ... ok
[INFO] [stderr] [2m2026-06-12T20:53:10.998968Z[0m [34mDEBUG[0m GET /parent/child is marked with x-fern-ignore. Skipping.
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_prunes_empty_nested_group ... ok
[INFO] [stdout] test output::tests::colorize_returns_text_in_no_color_mode ... ok
[INFO] [stdout] test output::tests::reject_bom ... ok
[INFO] [stdout] test output::tests::reject_c1_control_csi ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_kebab_normalization_via_commands_builder ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_inline_sets_display_name ... ok
[INFO] [stdout] test output::tests::reject_clean_string ... ok
[INFO] [stdout] test output::tests::reject_del ... ok
[INFO] [stdout] test output::tests::reject_line_separator ... ok
[INFO] [stdout] test output::tests::reject_newline ... ok
[INFO] [stdout] test output::tests::reject_paragraph_separator ... ok
[INFO] [stdout] test output::tests::reject_preserves_normal_unicode ... ok
[INFO] [stdout] test output::tests::reject_rtl_override ... ok
[INFO] [stdout] test output::tests::reject_tab ... ok
[INFO] [stdout] test output::tests::reject_zero_width_joiner ... ok
[INFO] [stdout] test output::tests::reject_zero_width_space ... ok
[INFO] [stdout] test output::tests::sanitize_preserves_newlines_and_tabs ... ok
[INFO] [stdout] test output::tests::sanitize_preserves_normal_unicode ... ok
[INFO] [stdout] test output::tests::sanitize_strips_ansi_escape_sequences ... ok
[INFO] [stdout] test output::tests::sanitize_strips_bidi_overrides ... ok
[INFO] [stdout] test output::tests::sanitize_strips_carriage_return ... ok
[INFO] [stdout] test output::tests::sanitize_strips_directional_isolates ... ok
[INFO] [stdout] test output::tests::sanitize_strips_bell_and_backspace ... ok
[INFO] [stdout] test output::tests::sanitize_strips_line_separators ... ok
[INFO] [stdout] test text::tests::does_not_cut_url_looking_periods ... ok
[INFO] [stdout] test text::tests::empty_and_whitespace ... ok
[INFO] [stdout] test output::tests::sanitize_strips_zero_width_chars ... ok
[INFO] [stdout] test text::tests::hard_cut_no_spaces ... ok
[INFO] [stdout] test text::tests::multibyte_safe ... ok
[INFO] [stdout] test text::tests::preserves_links_when_strip_links_false ... ok
[INFO] [stdout] test text::tests::preserves_sentence_ending_at_limit ... ok
[INFO] [stdout] test text::tests::short_desc_unchanged ... ok
[INFO] [stdout] test text::tests::sentence_boundary_at_exact_limit ... ok
[INFO] [stdout] test text::tests::strips_markdown_links ... ok
[INFO] [stdout] test text::tests::test_to_kebab_flag ... ok
[INFO] [stdout] test text::tests::test_strip_markdown_links ... ok
[INFO] [stdout] test text::tests::strips_markdown_links_and_truncates ... ok
[INFO] [stdout] test text::tests::test_to_screaming_snake ... ok
[INFO] [stdout] test text::tests::truncate_at_sentence_boundary ... ok
[INFO] [stdout] test text::tests::truncate_at_word_boundary ... ok
[INFO] [stdout] test validate::tests::test_dir_path_cwd ... ok
[INFO] [stdout] test text::tests::zero_max_chars ... ok
[INFO] [stdout] test validate::tests::test_dir_path_rejects_absolute ... ok
[INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_escapes_reserved_chars ... ok
[INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_hierarchical_name ... ok
[INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_spaces_and_unicode ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_already_encoded ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_email ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_fragment_injection ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_hyphenated_id ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_path_traversal ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_plain_id ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_query_injection ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_spaces ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_unicode ... ok
[INFO] [stdout] test validate::tests::test_file_path_rejects_control_chars ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_tolerates_unknown_fields ... ok
[INFO] [stdout] test http::tests::build_client_succeeds_with_clean_env ... ok
[INFO] [stdout] test auth::oauth2::tests::refresh_token_no_creds_without_refresh_env ... ok
[INFO] [stdout] test validate::tests::test_output_dir_non_existing_subdir ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_absolute ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_control_chars ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_null_bytes ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_rtl_override ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_symlink_traversal ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_traversal ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_unicode_line_separator ... ok
[INFO] [stdout] test http::tests::parse_secs_handles_numeric_and_invalid ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_zero_width_chars ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_bom ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_clean ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_del ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_newline ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_normal_unicode_ok ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_paragraph_separator ... ok
[INFO] [stdout] test http::tests::resolve_preserves_compile_time_pem_bytes_unchanged ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_rtl_override ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_unicode_line_separator ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_zero_width_joiner ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_zero_width_space ... ok
[INFO] [stdout] test validate::tests::test_validate_api_identifier_empty ... ok
[INFO] [stdout] test validate::tests::test_validate_api_identifier_rejects_path_traversal ... ok
[INFO] [stdout] test validate::tests::test_validate_api_identifier_rejects_special_chars ... ok
[INFO] [stdout] test validate::tests::test_validate_api_identifier_valid ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_bidi_embedding ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_control_chars ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_empty ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_tab ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_homoglyphs_pass_through ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_overlong_accepted ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_error_messages_are_clear ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_percent_bypass ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_query_injection ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_rtl_override ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_traversal ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_valid ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_unicode_line_seps ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_zero_width_chars ... ok
[INFO] [stdout] test websocket::auth::tests::bearer_helper_prepends_literal_bearer_space ... ok
[INFO] [stdout] test websocket::auth::tests::bearer_helper_surfaces_missing_credential_loudly ... ok
[INFO] [stdout] test websocket::auth::tests::first_message_is_noop_at_handshake ... ok
[INFO] [stdout] test websocket::auth::tests::first_message_merges_field_into_json_object ... ok
[INFO] [stdout] test websocket::auth::tests::first_message_missing_credential_errors ... ok
[INFO] [stdout] test websocket::auth::tests::first_message_rejects_non_object ... ok
[INFO] [stdout] test websocket::auth::tests::header_adds_to_header_list_does_not_touch_url ... ok
[INFO] [stdout] test websocket::auth::tests::header_rejects_ws_protocol_reserved_names ... ok
[INFO] [stdout] test websocket::auth::tests::headers_variant_emits_all_pairs_in_order ... ok
[INFO] [stdout] test websocket::auth::tests::headers_variant_missing_credential_errors ... ok
[INFO] [stdout] test websocket::auth::tests::headers_variant_rejects_reserved_names_per_pair ... ok
[INFO] [stdout] test websocket::auth::tests::missing_credential_for_header_surfaces_as_auth_error ... ok
[INFO] [stdout] test websocket::auth::tests::none_is_noop ... ok
[INFO] [stdout] test websocket::auth::tests::other_variants_skip_merge_into_first_message ... ok
[INFO] [stdout] test websocket::auth::tests::query_param_appends_to_clean_url ... ok
[INFO] [stdout] test websocket::auth::tests::query_param_appends_with_ampersand_when_query_present ... ok
[INFO] [stdout] test websocket::auth::tests::query_param_percent_encodes_special_chars ... ok
[INFO] [stdout] test websocket::auth::tests::token_helper_does_not_double_prefix_already_prefixed_value ... ok
[INFO] [stdout] test websocket::auth::tests::token_helper_prepends_literal_token_space ... ok
[INFO] [stdout] test websocket::client::tests::strip_keys_noop_when_keys_absent ... ok
[INFO] [stdout] test websocket::client::tests::strip_keys_removes_top_level_and_nested ... ok
[INFO] [stdout] test websocket::error::tests::close_1000_is_ok ... ok
[INFO] [stdout] test websocket::error::tests::close_1001_going_away_is_ok ... ok
[INFO] [stdout] test websocket::error::tests::close_1006_is_err_with_hint ... ok
[INFO] [stdout] test websocket::error::tests::close_with_reason_includes_reason_in_message ... ok
[INFO] [stdout] test websocket::error::tests::custom_hint_replaces_default_in_message ... ok
[INFO] [stdout] test websocket::error::tests::handshake_url_error_maps_to_validation ... ok
[INFO] [stdout] test websocket::error::tests::missing_close_frame_is_abnormal_err ... ok
[INFO] [stdout] test websocket::error::tests::truncate_respects_char_boundary ... ok
[INFO] [stdout] test websocket::auth::tests::missing_credential_for_query_param_surfaces_as_auth_error ... ok
[INFO] [stdout] test http::tests::resolve_proxy_falls_back_to_global_no_proxy ... ok
[INFO] [stdout] test http::tests::resolve_timeouts_parsed_as_seconds ... ok
[INFO] [stdout] test logging::tests::test_init_logging_default_no_panic ... ok
[INFO] [stdout] test validate::tests::test_dir_path_rejects_traversal ... ok
[INFO] [stdout] test validate::tests::test_file_path_rejects_traversal ... ok
[INFO] [stdout] test validate::tests::test_file_path_rejects_symlink_escape ... ok
[INFO] [stdout] test validate::tests::test_file_path_rejects_traversal_via_nonexistent_prefix ... ok
[INFO] [stdout] test logging::tests::test_init_logging_with_file_dir_no_panic ... ok
[INFO] [stdout] test auth::oauth2::tests::client_credentials_no_creds_when_env_unset ... ok
[INFO] [stdout] test validate::tests::test_file_path_relative_is_ok ... ok
[INFO] [stdout] test http::tests::ca_bundle_env_empty_file_returns_error ... ok
[INFO] [stdout] test http::tests::ca_bundle_env_invalid_path_returns_error ... ok
[INFO] [stdout] test http::tests::resolve_proxy_with_explicit_no_proxy_wins_over_env ... ok
[INFO] [stdout] test validate::tests::test_output_dir_relative_subdir ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 950 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.69s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests cli/lattice/main.rs (/opt/rustwide/target/debug/deps/lattice-0a52a32c731c297c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/auth_routing_wire.rs (/opt/rustwide/target/debug/deps/auth_routing_wire-34b77968e501068a)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_strategy_all_attaches_every_scheme_to_every_request ... ok
[INFO] [stdout] test test_bearer_required_endpoint_unauthorized_when_no_bearer_binding ... ok
[INFO] [stdout] test test_credential_source_full_chain_cli_env_file ... ok
[INFO] [stdout] test test_credential_source_chain_cli_wins_over_env ... ok
[INFO] [stdout] test test_credential_source_file_reads_from_disk ... ok
[INFO] [stdout] test test_routing_explicit_anonymous_endpoint_sends_no_auth_headers ... ok
[INFO] [stdout] test test_strategy_all_friendly_error_when_any_scheme_missing ... ok
[INFO] [stdout] test test_credential_source_cli_finalizes_and_routes ... ok
[INFO] [stdout] test test_bearer_only_endpoint_does_not_leak_apikey_header ... ok
[INFO] [stdout] test test_routing_endpoint_requires_bearer_only ... ok
[INFO] [stdout] test test_routing_endpoint_requires_apikey_only ... ok
[INFO] [stdout] test test_basic_auth_with_per_field_chains ... ok
[INFO] [stdout] test test_routing_anonymous_endpoint_uses_any_auth_fallback ... ok
[INFO] [stdout] test test_credential_source_chain_falls_back_through_sources ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lib_api.rs (/opt/rustwide/target/debug/deps/lib_api-a56b4f5e49e937e8)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_error_type_accessible ... ok
[INFO] [stdout] test test_cli_app_builder_chain ... ok
[INFO] [stderr]      Running tests/openapi_streaming_wire.rs (/opt/rustwide/target/debug/deps/openapi_streaming_wire-2189c1c6f8143de2)
[INFO] [stdout] test test_building_blocks_accessible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test streaming_sse_flushes_final_event_without_trailing_blank_line ... ok
[INFO] [stdout] test streaming_sse_separates_events_on_blank_line ... ok
[INFO] [stdout] test streaming_no_stream_flag_buffers_into_unary_value ... ok
[INFO] [stdout] test streaming_sse_custom_terminator_replaces_default_sentinel ... ok
[INFO] [stdout] test streaming_ndjson_emits_one_value_per_line ... ok
[INFO] [stdout] test streaming_sse_emits_events_in_order_and_honors_terminator ... ok
[INFO] [stdout] test streaming_text_emits_each_non_empty_line_as_string_event ... ok
[INFO] [stdout] test streaming_endpoints_do_not_inject_accept_header ... ok
[INFO] [stdout] test streaming_sse_concatenates_multiline_data_into_one_event ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tls_env_vars.rs (/opt/rustwide/target/debug/deps/tls_env_vars-d0e22b136e004282)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tls_env_vars_change_trust_outcome ... 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] [stderr]      Running tests/websocket_wire.rs (/opt/rustwide/target/debug/deps/websocket_wire-44b976fd8150d580)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test close_abnormal_maps_to_other_with_hint ... ok
[INFO] [stdout] test first_message_auth_field_injected ... ok
[INFO] [stdout] test handshake_404_maps_to_discovery_error ... ok
[INFO] [stdout] {"hi":true}
[INFO] [stdout] test close_1000_mid_stream_exits_zero ... ok
[INFO] [stdout] test auto_responder_elides_ping_and_sends_pong ... ok
[INFO] [stdout] test abrupt_disconnect_maps_to_other_error ... ok
[INFO] [stdout] {"text":"hello world","type":"agent_response"}
[INFO] [stdout] test auto_responder_interleaved_with_data_frames ... ok
[INFO] [stdout] test custom_abnormal_close_hint_appears_in_error ... ok
[INFO] [stdout] test bad_url_maps_to_validation_error ... ok
[INFO] [stdout] test header_auth_sent_on_handshake ... ok
[INFO] [stdout] test handshake_5xx_maps_to_api_error ... ok
[INFO] [stdout] test handshake_succeeds ... ok
[INFO] [stdout] {"n":1}
[INFO] [stdout] {"n":2}
[INFO] [stdout] {"n":3}
[INFO] [stdout] test round_trips_three_frames ... ok
[INFO] [stdout] test handshake_401_maps_to_auth_error ... ok
[INFO] [stdout] test close_1001_going_away_is_clean_exit ... ok
[INFO] [stdout] test first_send_done_propagates_into_recv_loop ... ok
[INFO] [stdout] test two_header_auth_emits_both_pairs ... ok
[INFO] [stdout] test shutdown_future_sends_close_and_exits_zero ... ok
[INFO] [stdout] test send_binary_emits_binary_frames ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/x_name_server_alias_wire.rs (/opt/rustwide/target/debug/deps/x_name_server_alias_wire-0160f3d9fdec2165)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test x_name_legacy_alias_drives_full_command_tree_dispatch ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fern_cli_sdk
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/graphql/app.rs - graphql::app::CliApp::extra_root_cert (line 223) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::audiences (line 756) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::auth_scheme_env (line 1094) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::extra_root_cert (line 1290) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::idempotency_header_env (line 785) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::overlay (line 987) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::specs_under_named_with_overrides (line 944) ... ignored
[INFO] [stdout] test src/websocket/client.rs - websocket::client::AutoResponder (line 43) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ee7fc5d2f1ce5b5f1aba5ba1a2c22583d0905e97a13dece3075420958de2a586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee7fc5d2f1ce5b5f1aba5ba1a2c22583d0905e97a13dece3075420958de2a586", kill_on_drop: false }`
[INFO] [stdout] ee7fc5d2f1ce5b5f1aba5ba1a2c22583d0905e97a13dece3075420958de2a586
