[INFO] cloning repository https://github.com/hedra-labs/hedra-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hedra-labs/hedra-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhedra-labs%2Fhedra-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhedra-labs%2Fhedra-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c6da7c98e36c318fd04245505f5802e53bdc427a
[INFO] testing hedra-labs/hedra-cli against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhedra-labs%2Fhedra-cli" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hedra-labs/hedra-cli
[INFO] finished tweaking git repo https://github.com/hedra-labs/hedra-cli
[INFO] tweaked toml for git repo https://github.com/hedra-labs/hedra-cli written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hedra-labs/hedra-cli on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hedra-labs/hedra-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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded deadpool v0.12.3
[INFO] [stderr]   Downloaded wiremock v0.6.5
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.126
[INFO] [stderr]   Downloaded js-sys v0.3.103
[INFO] [stderr]   Downloaded serial_test v3.5.0
[INFO] [stderr]   Downloaded serial_test_derive v3.5.0
[INFO] [stderr]   Downloaded serde_json_path_macros v0.1.6
[INFO] [stderr]   Downloaded serde_json_path_macros_internal v0.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.76
[INFO] [stderr]   Downloaded serde_json_path_core v0.2.2
[INFO] [stderr]   Downloaded serde_json_path v0.7.2
[INFO] [stderr]   Downloaded serde_qs v1.1.2
[INFO] [stderr]   Downloaded dbus-secret-service v4.1.0
[INFO] [stderr]   Downloaded keyring v3.6.3
[INFO] [stderr]   Downloaded jmespath v0.3.0
[INFO] [stderr]   Downloaded clap_mangen v0.2.33
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded web-sys v0.3.103
[INFO] [stderr]   Downloaded clap_complete v4.6.5
[INFO] [stderr]   Downloaded openssl-src v300.6.1+3.6.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a
[INFO] running `Command { std: "docker" "start" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling inventory v0.3.24
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling time v0.3.51
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling jmespath v0.3.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_json_path_macros_internal v0.1.2
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[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 tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling dbus v0.9.11
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling serde_json_path_core v0.2.2
[INFO] [stderr]    Compiling ordered-float v4.6.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling serde_qs v1.1.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling serde_json_path_macros v0.1.6
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_json_path v0.7.2
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling webbrowser v1.2.1
[INFO] [stderr]    Compiling dbus-secret-service v4.1.0
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling hedra_types v0.0.0 (/opt/rustwide/workdir/hedra-types)
[INFO] [stderr]    Compiling hedra_sdk v0.1.0 (/opt/rustwide/workdir/hedra-sdk)
[INFO] [stderr]    Compiling hedra-cli v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s
[INFO] running `Command { std: "docker" "inspect" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling serial_test_derive v3.5.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling tempfile v3.27.0
[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.5.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[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 hedra_types v0.0.0 (/opt/rustwide/workdir/hedra-types)
[INFO] [stderr]    Compiling hedra_sdk v0.1.0 (/opt/rustwide/workdir/hedra-sdk)
[INFO] [stderr]    Compiling hedra-cli v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `openapi::binding::OpenApiBinding` that must be used
[INFO] [stdout]    --> src/openapi/binding.rs:930:9
[INFO] [stdout]     |
[INFO] [stdout] 930 |         OpenApiBinding::default().command_namespace("auth");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 930 |         let _ = OpenApiBinding::default().command_namespace("auth");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused `openapi::binding::OpenApiBinding` that must be used
[INFO] [stderr]    --> src/openapi/binding.rs:930:9
[INFO] [stderr]     |
[INFO] [stderr] 930 |         OpenApiBinding::default().command_namespace("auth");
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 930 |         let _ = OpenApiBinding::default().command_namespace("auth");
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `hedra-cli` (lib test) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fern_cli_sdk-58395bb3ac45fc4f)
[INFO] [stdout] 
[INFO] [stdout] running 1704 tests
[INFO] [stdout] test app::tests::cli_app_must_use ... ok
[INFO] [stdout] test app::tests::deduplicate_after_help_preserves_unique_blocks ... ok
[INFO] [stdout] test app::tests::deduplicate_after_help_multiline_blocks_are_atomic ... ok
[INFO] [stdout] test app::tests::deduplicate_after_help_real_world_footer ... ok
[INFO] [stdout] test app::tests::deduplicate_after_help_removes_identical_blocks ... ok
[INFO] [stdout] test app::tests::resolve_binding_for_leaf_finds_owner ... ok
[INFO] [stdout] test app::tests::merge_disjoint_top_levels ... ok
[INFO] [stdout] test app::tests::merge_exempts_intrinsic_generate_skills_from_collision ... ok
[INFO] [stdout] test app::tests::merge_detects_leaf_collision ... ok
[INFO] [stdout] test app::tests::merge_overlapping_top_levels_disjoint_leaves ... ok
[INFO] [stdout] test app::tests::resolve_op_path_extracts_chain ... ok
[INFO] [stdout] test asyncapi::app::tests::cli_app_auth_scheme_records_binding ... ok
[INFO] [stdout] test arg_source::tests::env_arg_empty_returns_none ... ok
[INFO] [stdout] test arg_source::tests::literal_arg ... ok
[INFO] [stdout] test arg_source::tests::chain_arg_falls_through ... ok
[INFO] [stdout] test arg_source::tests::env_arg_reads_value ... ok
[INFO] [stdout] test asyncapi::app::tests::cli_arg_records_spec_with_no_env_fallback ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_env_fallback_promotes_nonempty_to_true_flag ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_cli_value_overrides_env_fallback ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_env_value_fallback_used_when_cli_absent ... ok
[INFO] [stdout] test arg_source::tests::file_arg_empty_returns_none ... ok
[INFO] [stdout] test arg_source::tests::chain_arg_empty_returns_none ... ok
[INFO] [stdout] test asyncapi::app::tests::cli_app_builder_records_spec_and_endpoint ... ok
[INFO] [stdout] test asyncapi::app::tests::cli_arg_env_records_fallback ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_flag_absent_is_false ... ok
[INFO] [stdout] test arg_source::tests::env_arg_missing_returns_none ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_reads_flag_from_cli ... ok
[INFO] [stdout] test asyncapi::app::tests::cli_app_init_payload_records_explicit_override ... ok
[INFO] [stdout] test arg_source::tests::file_arg_reads_and_trims ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_value_absent_returns_none ... ok
[INFO] [stdout] test asyncapi::app::tests::select_autoresponder_dynamic_closure_wins_over_static ... ok
[INFO] [stdout] test asyncapi::app::tests::select_init_payload_returns_none_when_neither_set ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_reads_value_from_cli ... ok
[INFO] [stdout] test arg_source::tests::file_arg_missing_returns_none ... ok
[INFO] [stdout] test asyncapi::binding::tests::resolve_channel_agrees_with_registrar_on_empty_sdk_method_name ... ok
[INFO] [stdout] test asyncapi::binding::tests::binding_inherits_root_auth ... ok
[INFO] [stdout] test asyncapi::app::tests::select_init_payload_dynamic_closure_wins_over_static ... ok
[INFO] [stdout] test asyncapi::binding::tests::resolve_channel_disambiguates_shared_leaf_by_group_path ... ok
[INFO] [stdout] test asyncapi::app::tests::select_init_payload_falls_back_to_static_when_dynamic_returns_none ... ok
[INFO] [stdout] test asyncapi::commands::tests::ac3_channel_without_method_name_falls_back_to_kebab_case ... ok
[INFO] [stdout] test asyncapi::commands::tests::ac2_leaf_exposes_optional_message_and_param_flags ... ok
[INFO] [stdout] test asyncapi::commands::tests::ac1_group_and_method_extension_produce_foo_bar_path ... ok
[INFO] [stdout] test asyncapi::commands::tests::ac2_message_is_optional_parse_succeeds_without_it ... ok
[INFO] [stdout] test asyncapi::commands::tests::channel_without_params_exposes_only_message_flag ... ok
[INFO] [stdout] test asyncapi::commands::tests::method_without_group_attaches_at_root ... ok
[INFO] [stdout] test asyncapi::executor::tests::compose_base_url_none_when_both_unset ... ok
[INFO] [stdout] test asyncapi::executor::tests::compose_base_url_merges_authority_with_endpoint_path ... ok
[INFO] [stdout] test asyncapi::executor::tests::concatenate_parts_handles_agent_response ... ok
[INFO] [stdout] test asyncapi::executor::tests::compose_base_url_uses_endpoint_alone ... ok
[INFO] [stdout] test asyncapi::executor::tests::concatenate_parts_ignores_unknown_shapes ... ok
[INFO] [stdout] test asyncapi::executor::tests::compose_base_url_uses_override_alone ... ok
[INFO] [stdout] test asyncapi::executor::tests::compose_base_url_trailing_slash_override_still_takes_endpoint_path ... ok
[INFO] [stdout] test asyncapi::executor::tests::compose_base_url_override_with_explicit_path_wins ... ok
[INFO] [stdout] test asyncapi::commands::tests::nested_groups_resolve_three_levels_deep ... ok
[INFO] [stdout] test asyncapi::commands::tests::parameter_flags_are_kebab_cased ... ok
[INFO] [stdout] test asyncapi::commands::tests::shared_group_merges_two_distinct_leaves ... ok
[INFO] [stdout] test asyncapi::executor::tests::concatenate_parts_assembles_chunks ... ok
[INFO] [stdout] test asyncapi::executor::tests::connect_url_encodes_special_chars ... ok
[INFO] [stdout] test asyncapi::executor::tests::connect_url_appends_channel_path_when_starts_with_slash ... ok
[INFO] [stdout] test asyncapi::executor::tests::connect_url_skips_empty_value_params ... ok
[INFO] [stdout] test asyncapi::executor::tests::dry_run_info_repl_has_null_message_and_init ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_server_url_multiple_servers_errors_with_candidates ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_server_url_override_always_wins ... ok
[INFO] [stdout] test asyncapi::executor::tests::connect_url_sorts_params ... ok
[INFO] [stdout] test asyncapi::executor::tests::describe_ws_auth_covers_every_variant ... ok
[INFO] [stdout] test asyncapi::executor::tests::describe_ws_auth_surfaces_location_and_name_without_secret ... ok
[INFO] [stdout] test asyncapi::executor::tests::dry_run_info_single_shot_shape ... ok
[INFO] [stdout] test asyncapi::executor::tests::init_payload_explicit_overrides_overlay ... ok
[INFO] [stdout] test asyncapi::executor::tests::init_payload_none_when_neither_set ... ok
[INFO] [stdout] test asyncapi::executor::tests::init_payload_uses_overlay_when_set ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_server_url_empty_url_skipped ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_server_url_single_server_used ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_server_url_zero_servers_errors ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_ws_auth_falls_back_to_none_with_multiple_bindings ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_ws_auth_falls_back_to_none_with_no_bindings ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_ws_auth_uses_scheme_name_from_binding ... ok
[INFO] [stdout] test asyncapi::executor::tests::response_timeout_parses_valid_override ... ok
[INFO] [stdout] test asyncapi::executor::tests::resolve_ws_auth_preserves_xi_api_key_scheme ... ok
[INFO] [stdout] test asyncapi::executor::tests::response_timeout_error_mentions_duration_frames_and_override ... ok
[INFO] [stdout] test asyncapi::overlay::tests::overlay_update_action_deep_merges_into_parsed_asyncapi ... ok
[INFO] [stdout] test asyncapi::executor::tests::user_message_frame_shape ... ok
[INFO] [stdout] test asyncapi::executor::tests::response_timeout_falls_back_on_bad_or_zero_values ... ok
[INFO] [stdout] test asyncapi::overlay::tests::overlay_jsonpath_filter_edge_case_no_matches ... ok
[INFO] [stdout] test asyncapi::overlay::tests::overlay_remove_action_removes_node_from_parsed_asyncapi ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_array_append_null ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_array_append_number ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_array_append_string ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_array_append_object ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_apply_overlays_to_spec_no_overlays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_arrays_of_arrays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_empty_arrays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_array_append_boolean ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_arrays_of_objects ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_nested_objects_in_arrays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_nested ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_apply_multiple_overlays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_mixed_type_arrays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_objects ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_array_replace_with_array ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_array_type_mismatch_replaces ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_arrays_index_by_index ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_apply_overlays_to_spec_roundtrip ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_overwrites_primitives ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_sparse_like_arrays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_update_extends_shorter_array ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_deep_merge_preserves_existing ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_remove_ignores_update ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_multiple_overlay_actions ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_merge_array_element_by_filter ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_does_not_mutate_input ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_multiple_consecutive_array_removals ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_merge_updates_into_schema ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_root_level_targeting ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_replace_primitive_arrays ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_wildcard_across_multiple_paths ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_merge_at_path_array_append ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_normalized_path_to_segments_direct ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_key_with_special_chars ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_actions_on_items_from_earlier_actions ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_zero_match_continues_processing ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_array_edge_cases_append_and_replace ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_array_index_targeting ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_deep_merge_preserves_nested_structure ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_fern_merge_multiple_array_items_by_filter ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_remove_array_element ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_root_target ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_sequential_actions ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_validate_overlay_action_no_target ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_wildcard_update ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_remove_property ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_zero_match_no_error ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_parse_overlay_json ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_update_simple_path ... ok
[INFO] [stdout] test asyncapi::binding::tests::cli_arg_attaches_global_flag_to_built_clap_tree ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_parse_overlay_yaml ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_validate_overlay_missing_version ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_overlay_update_nested_path ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_validate_overlay_action_no_update_no_remove ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_validate_overlay_no_actions ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_yaml_roundtrip_strips_comments ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_extracts_message_refs_from_oneof ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_extracts_message_ref_from_single_ref ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_yaml_roundtrip_resolves_anchors ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_yaml_roundtrip_with_overlay_preserves_structure ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_accepts_ws_and_wss_protocols ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_asyncapi_1_2_0 ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_asyncapi_2_5_0 ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_asyncapi_3_0_0 ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_missing_asyncapi_field ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_protocol_mqtt ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_protocol_sse ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_protocol_kafka ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_populates_x_fern_init_payload_when_present ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_rejects_protocol_amqp ... ok
[INFO] [stdout] test auth::builder::tests::no_bindings_returns_noop ... ok
[INFO] [stdout] test asyncapi::overlay::tests::test_yaml_roundtrip_strips_custom_tags ... 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_env_var ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_describes_chain ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_yields_none_when_x_fern_init_payload_absent ... 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_hintless_custom_provider_opaque ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_layers_help_handles_hintless_layer ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_layers_help_marks_optional_with_hints ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_help_section_shows_custom_provider_credential_hints ... ok
[INFO] [stdout] test auth::builder::tests::render_auth_layers_help_none_for_empty ... ok
[INFO] [stdout] test auth::builder::tests::strategy_any_overrides_spec_routing ... ok
[INFO] [stdout] test auth::builder::tests::strategy_all_with_zero_bindings_returns_no_auth ... ok
[INFO] [stdout] test auth::builder::tests::strategy_auto_picks_any_when_no_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_auto_picks_routing_when_spec_has_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 asyncapi::binding::tests::binding_registers_alongside_openapi_without_panic ... 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 asyncapi::binding::tests::cli_arg_value_attaches_global_value_arg ... ok
[INFO] [stdout] test arg_source::tests::chain_arg_first_wins ... ok
[INFO] [stdout] test asyncapi::app::tests::resolve_binding_args_env_fallback_empty_string_leaves_flag_false ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_extracts_real_spec_message_refs_for_agentmessages ... ok
[INFO] [stdout] test asyncapi::parser::tests::parse_real_elevenlabs_spec_returns_ok_with_agentmessages_and_31_messages ... ok
[INFO] [stdout] test auth::compose::tests::layered_credential_hints_exclude_layers ... ok
[INFO] [stdout] test auth::compose::tests::any_auth_picks_first_with_credentials ... ok
[INFO] [stdout] test auth::compose::tests::layered_satisfiability_follows_primary_only ... ok
[INFO] [stdout] test auth::builder::tests::uses_routing_when_doc_has_per_endpoint_security ... ok
[INFO] [stdout] test auth::compose::tests::layered_applies_primary_and_present_layer ... ok
[INFO] [stdout] test auth::compose::tests::layered_skips_layer_without_credentials ... ok
[INFO] [stdout] test auth::builder::tests::duplicate_binding_uses_last_write_consistently ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_explicit_anonymous_is_true ... ok
[INFO] [stdout] test auth::builder::tests::basic_scheme_routes_to_basic_provider ... 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_with_no_default_uses_general_check ... ok
[INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unspecified_propagates_default_false ... ok
[INFO] [stdout] test auth::compose::tests::all_auth_short_circuits_on_provider_error ... ok
[INFO] [stdout] test auth::builder::tests::apikey_header_uses_declared_header_name ... ok
[INFO] [stdout] test auth::builder::tests::strategy_all_applies_every_scheme_unconditionally ... ok
[INFO] [stdout] test auth::compose::tests::routing_combines_anded_schemes_in_one_requirement ... ok
[INFO] [stdout] test auth::credential::tests::chain_picks_first_with_value ... ok
[INFO] [stdout] test auth::compose::tests::any_auth_no_credentials_is_passthrough ... ok
[INFO] [stdout] test auth::credential::tests::chain_with_empty_literal_falls_through ... ok
[INFO] [stdout] test auth::compose::tests::any_auth_skips_routing_child_that_cant_satisfy_endpoint ... ok
[INFO] [stdout] test auth::credential::tests::chain_returns_none_when_all_missing ... ok
[INFO] [stdout] test auth::credential::tests::cli_args_empty_when_no_cli_variants ... 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::cli_resolves_to_none_before_finalize ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_chain_collects_all ... ok
[INFO] [stdout] test auth::builder::tests::routing_falls_back_to_any_for_unspecified_endpoint ... ok
[INFO] [stdout] test auth::credential::tests::closure_returning_none_is_missing ... ok
[INFO] [stdout] test auth::compose::tests::routing_setup_registers_provider_named_apikey ... ok
[INFO] [stdout] test auth::credential::tests::cli_args_collects_recursively_through_chain ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_closure_without_hint_is_empty ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_env ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_closure_with_hint_from_finalize ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_missing_is_empty ... ok
[INFO] [stdout] test auth::credential::tests::debug_redacts_literal_value ... ok
[INFO] [stdout] test auth::credential::tests::env_returns_none_when_unset ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_cli ... ok
[INFO] [stdout] test auth::credential::tests::env_treats_empty_as_missing ... 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::credential_hints_literal_is_empty ... ok
[INFO] [stdout] test auth::credential::tests::expand_home_resolves_tilde_prefix ... 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::credential::tests::finalize_passes_through_non_cli_variants ... ok
[INFO] [stdout] test auth::credential::tests::finalize_recurses_into_chain_with_cli_fallback_to_env ... ok
[INFO] [stdout] test auth::credential::tests::finalize_replaces_cli_with_closure_reading_matches ... ok
[INFO] [stdout] test auth::credential::tests::finalize_cli_returns_none_when_flag_absent ... ok
[INFO] [stdout] test auth::compose::tests::all_auth_applies_every_provider ... ok
[INFO] [stdout] test auth::credential::tests::keyring_credential_hint_describes_entry ... ok
[INFO] [stdout] test auth::credential::tests::keyring_debug_shows_service_and_account ... ok
[INFO] [stdout] test auth::credential::tests::keyring_finalize_is_pass_through ... ok
[INFO] [stdout] test auth::builder::tests::custom_binding_used_as_is ... ok
[INFO] [stdout] test auth::builder::tests::from_bindings_works_without_doc ... ok
[INFO] [stdout] test auth::credential::tests::keyring_source_empty_value_resolves_to_none ... ok
[INFO] [stdout] test auth::credential::tests::keyring_source_in_chain_falls_through_when_missing ... ok
[INFO] [stdout] test auth::credential::tests::keyring_source_returns_none_when_unset ... ok
[INFO] [stdout] test auth::credential::tests::literal_empty_string_resolves_to_none ... ok
[INFO] [stdout] test auth::credential::tests::literal_resolves ... 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::dedup_removes_duplicates_preserving_order ... ok
[INFO] [stdout] test auth::error::tests::forbidden_with_credentials_discloses_source ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_fallback_when_no_hints ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_json_envelope_contains_env_var ... ok
[INFO] [stdout] test auth::credential::tests::keyring_cli_args_is_empty ... ok
[INFO] [stdout] test auth::credential::tests::home_dir_falls_back_to_userprofile_when_home_unset ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_names_env_var_basic ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_names_env_var_bearer ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_names_cli_flag_in_chain ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_names_cli_flag_after_finalize ... ok
[INFO] [stdout] test auth::error::tests::friendly_error_names_env_var_header ... 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::error::tests::non_auth_status_codes_skip_source_disclosure ... ok
[INFO] [stdout] test auth::credential::tests::credential_hints_file ... 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::error::tests::unauthorized_with_credentials_discloses_source ... ok
[INFO] [stdout] test auth::keyring_store::tests::active_store_install_and_swap ... ok
[INFO] [stdout] test auth::keyring_store::tests::file_store_delete_missing_is_ok ... ok
[INFO] [stdout] test auth::keyring_store::tests::backend_labels_describe_themselves ... ok
[INFO] [stdout] test auth::keyring_store::tests::file_store_multiple_accounts_per_service ... ok
[INFO] [stdout] test auth::keyring_store::tests::mock_store_roundtrip ... ok
[INFO] [stdout] test auth::keyring_store::tests::file_store_writes_owner_only_perms ... ok
[INFO] [stdout] test auth::keyring_store::tests::file_store_isolates_services ... ok
[INFO] [stdout] test auth::keyring_store::tests::file_store_roundtrip ... ok
[INFO] [stdout] test auth::keyring_store::tests::mock_store_snapshot_lists_entries ... ok
[INFO] [stdout] test auth::login::tests::expand_sources_returns_empty_for_custom_with_no_login_flow ... ok
[INFO] [stdout] test auth::login::tests::expand_sources_synthesises_keyring_for_oauth_custom_binding ... ok
[INFO] [stdout] test auth::login::tests::inject_keyring_appends_to_existing_chain ... ok
[INFO] [stdout] test auth::login::tests::flatten_chain_handles_nested_chains ... ok
[INFO] [stdout] test auth::login::tests::inject_keyring_promotes_missing_to_keyring_alone ... ok
[INFO] [stdout] test auth::login::tests::inject_oauth2_caches_idempotent ... ok
[INFO] [stdout] test auth::login::tests::inject_oauth2_caches_is_noop_for_token_bindings ... ok
[INFO] [stdout] test auth::login::tests::inject_oauth2_caches_wires_cache_into_custom_provider ... ok
[INFO] [stdout] test auth::login::tests::paint_returns_plain_string_when_stderr_is_not_a_tty ... ok
[INFO] [stdout] test auth::login::tests::logout_clears_keyring_entry ... ok
[INFO] [stderr] ✓ Removed credential for my-cli:OAuth2 from mock (in-memory).
[INFO] [stdout] test auth::login::tests::resolve_scheme_disambiguates_via_single_login_flow ... ok
[INFO] [stdout] test auth::login::tests::resolve_scheme_explicit_wins ... ok
[INFO] [stdout] test auth::login::tests::resolve_scheme_multiple_bindings_no_arg_errors ... ok
[INFO] [stdout] test auth::login::tests::resolve_scheme_single_binding_no_arg ... ok
[INFO] [stdout] test auth::login::tests::token_paste_flow_type_and_scheme ... ok
[INFO] [stdout] test auth::login::tests::token_paste_with_url_carries_hint ... ok
[INFO] [stdout] test auth::login::tests::with_token_errors_on_bindingless_cli_without_explicit_scheme ... ok
[INFO] [stdout] test auth::compose::tests::routing_falls_back_to_or_alternative ... ok
[INFO] [stdout] test auth::login::tests::with_token_resolves_scheme_from_explicit_arg_when_bindingless ... ok
[INFO] [stdout] test auth::credential::tests::keyring_source_resolves_via_active_store ... ok
[INFO] [stdout] test auth::oauth2::tests::has_credentials_true_when_cache_has_valid_token ... ok
[INFO] [stdout] test auth::oauth2::tests::inject_token_cache_idempotent ... ok
[INFO] [stdout] test auth::oauth2::tests::inject_token_cache_sets_cache_via_trait ... ok
[INFO] [stdout] test auth::credential::tests::file_missing_resolves_to_none ... ok
[INFO] [stdout] test auth::login::tests::describe_source_covers_all_variants ... ok
[INFO] [stdout] test auth::builder::tests::bearer_scheme_routes_to_bearer_provider ... ok
[INFO] [stdout] test auth::compose::tests::routing_unspecified_no_default_is_passthrough ... ok
[INFO] [stdout] test auth::credential::tests::finalize_chain_cli_wins_over_env ... ok
[INFO] [stdout] test auth::error::tests::falls_back_to_raw_body_when_non_json ... ok
[INFO] [stdout] test auth::login::tests::inject_keyring_into_single_env_source ... ok
[INFO] [stdout] test auth::compose::tests::layered_does_not_attach_to_explicit_anonymous_endpoint ... 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_expired_token_returns_none ... 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::token_cache_store_and_load ... ok
[INFO] [stdout] test auth::oauth2::tests::with_cache_sets_oncelock ... ok
[INFO] [stdout] test auth::oauth_common::tests::parse_oauth_error_message_falls_back_to_description_only ... ok
[INFO] [stdout] test auth::oauth_common::tests::parse_oauth_error_message_prefers_error_and_description ... ok
[INFO] [stdout] test auth::oauth_common::tests::parse_oauth_error_message_none_on_non_json ... ok
[INFO] [stdout] test auth::oauth_common::tests::token_bundle_no_expires_at_never_expired ... ok
[INFO] [stdout] test auth::oauth_common::tests::token_bundle_expired_when_past_deadline ... ok
[INFO] [stdout] test auth::oauth_common::tests::token_bundle_raw_fallback ... ok
[INFO] [stdout] test auth::oauth_common::tests::token_bundle_roundtrip ... ok
[INFO] [stdout] test auth::oauth_common::tests::truncate_body_long_gets_ellipsis ... ok
[INFO] [stdout] test auth::oauth_common::tests::truncate_body_short_passes_through ... ok
[INFO] [stdout] test auth::oauth_login::tests::code_challenge_s256_matches_rfc_example ... ok
[INFO] [stdout] test auth::oauth_login::tests::code_verifier_is_url_safe_and_long_enough ... ok
[INFO] [stdout] test auth::oauth_common::tests::truncate_body_multibyte_utf8_no_panic ... ok
[INFO] [stdout] test auth::oauth_login::tests::device_code_flow_type_and_scheme ... ok
[INFO] [stdout] test auth::compose::tests::routing_no_satisfiable_requirement_is_passthrough ... ok
[INFO] [stdout] test auth::compose::tests::routing_explicit_anonymous_skips_auth_even_with_default ... ok
[INFO] [stdout] test auth::oauth_login::tests::device_code_validates_required_fields ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_authorize_url_appends_with_ampersand_when_query_present ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_authorize_url_includes_all_required_params ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_flow_type_and_scheme ... ok
[INFO] [stdout] test auth::compose::tests::routing_uses_default_when_endpoint_has_no_requirements ... ok
[INFO] [stdout] test auth::compose::tests::routing_picks_satisfiable_requirement ... ok
[INFO] [stdout] test auth::oauth2::tests::misconfigured_oauth2_provider_errors_instead_of_silent_unauth ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_loopback_handshake_surfaces_authorization_error_param ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_loopback_times_out_when_no_callback_arrives ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_loopback_ignores_favicon_and_accepts_callback ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_validates_required_fields ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_loopback_handshake_rejects_missing_code ... ok
[INFO] [stdout] test auth::oauth_login::tests::pkce_loopback_handshake_returns_code_and_state ... ok
[INFO] [stdout] test auth::oauth2::tests::client_credentials_fetches_and_caches_token ... ok
[INFO] [stdout] test auth::oauth_login::tests::provider_treats_raw_string_as_unexpired_bearer ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_falls_through_when_cached_refresh_fails ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_uses_cached_refresh_token ... ok
[INFO] [stdout] test auth::provider::tests::endpoint_metadata_three_states ... ok
[INFO] [stdout] test auth::provider::tests::no_auth_provider_emits_no_headers ... ok
[INFO] [stdout] test auth::root_builder::tests::api_key_auth_builds_token_binding ... ok
[INFO] [stdout] test auth::root_builder::tests::basic_auth_builds_basic_binding ... ok
[INFO] [stdout] test auth::root_builder::tests::bearer_auth_builds_token_binding ... ok
[INFO] [stdout] test auth::root_builder::tests::oauth2_auth_client_credentials_wires_oauth_provider ... ok
[INFO] [stdout] test auth::root_builder::tests::oauth2_auth_incomplete_config_fails_fast_not_silent ... ok
[INFO] [stdout] test auth::root_builder::tests::oauth2_auth_non_env_refresh_token_fails_fast ... ok
[INFO] [stdout] test auth::root_builder::tests::oauth2_auth_refresh_token_wires_oauth_provider ... ok
[INFO] [stdout] test auth::root_builder::tests::oauth2_auth_with_static_token ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_emits_base64_authorization ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_full_missing_password_is_no_credentials ... 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::oauth_login::tests::pkce_state_mismatch_aborts ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_username_only_missing_is_no_credentials ... ok
[INFO] [stdout] test auth::oauth_login::tests::provider_has_credentials_false_when_keyring_empty ... ok
[INFO] [stdout] test auth::oauth_login::tests::provider_has_credentials_returns_true_when_keyring_populated ... ok
[INFO] [stdout] test auth::oauth2::tests::client_credentials_no_creds_when_env_unset ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_password_only_sends_empty_username ... ok
[INFO] [stdout] test auth::schemes::tests::basic_provider_username_only_sends_empty_password ... ok
[INFO] [stdout] test auth::schemes::tests::bearer_provider_rejects_invalid_token_bytes ... ok
[INFO] [stdout] test auth::oauth_login::tests::provider_uses_cached_unexpired_token ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_embedded_value_flag ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_multi_segment ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_one_segment ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_root ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_skips_bool_flag_before_subcommand ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_skips_global_value_flag_before_subcommand ... ok
[INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_stops_at_first_flag ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_allows_help_and_format_flags ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_bare_format_name_not_hijacked ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_default_no_format ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_does_not_hijack_nested_resource ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_empty_args ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_format_equals ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_format_space_separated ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_negative ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_positive ... ok
[INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_rejects_unknown_flags ... ok
[INFO] [stdout] test cli_args::tests::test_is_version_flag ... ok
[INFO] [stdout] test cli_args::tests::test_wants_schema_absent ... ok
[INFO] [stdout] test cli_args::tests::test_wants_schema_present ... ok
[INFO] [stdout] test cli_args::tests::test_wants_spec_absent ... ok
[INFO] [stdout] test cli_args::tests::test_wants_spec_present ... ok
[INFO] [stdout] test cli_args::tests::test_wants_spec_raw_absent ... ok
[INFO] [stdout] test cli_args::tests::test_wants_spec_raw_present ... 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 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::typed_command_augments_args_onto_command ... ok
[INFO] [stdout] test custom_commands::tests::typed_command_context_mismatch_returns_error ... ok
[INFO] [stdout] test custom_commands::tests::typed_command_erased_dispatch_round_trip ... ok
[INFO] [stdout] test custom_commands::tests::typed_command_parses_args_from_matches ... ok
[INFO] [stdout] test custom_commands::tests::typed_command_parses_optional_absent ... 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 debug::tests::apisecret_redacted ... ok
[INFO] [stdout] test debug::tests::bare_json_scalar_not_pretty_printed ... ok
[INFO] [stdout] test debug::tests::body_preview_truncation ... ok
[INFO] [stdout] test debug::tests::body_preview_truncation_multibyte ... ok
[INFO] [stdout] test debug::tests::compound_password_keys_redacted ... ok
[INFO] [stdout] test debug::tests::compound_token_keys_redacted ... ok
[INFO] [stdout] test debug::tests::custom_auth_header_redacted ... ok
[INFO] [stdout] test debug::tests::dump_error_response_does_not_panic ... ok
[INFO] [stdout] test debug::tests::dump_graphql_request_does_not_panic_with_empty_variables ... ok
[INFO] [stdout] test debug::tests::dump_graphql_request_does_not_panic_with_populated_variables ... ok
[INFO] [stdout] test debug::tests::dump_request_does_not_panic ... ok
[INFO] [stdout] test debug::tests::dump_request_with_custom_auth_header ... ok
[INFO] [stdout] test auth::schemes::tests::bearer_provider_emits_authorization_bearer ... ok
[INFO] [stdout] test debug::tests::dump_response_does_not_panic ... ok
[INFO] [stdout] test auth::schemes::tests::bearer_provider_no_token_is_noop ... ok
[INFO] [stdout] test debug::tests::dump_streaming_note_does_not_panic ... ok
[INFO] [stdout] test debug::tests::dump_streaming_note_empty_headers_no_panic ... ok
[INFO] [stdout] test debug::tests::dump_streaming_note_no_panic_error_status ... ok
[INFO] [stdout] test debug::tests::form_encoded_body_redaction ... ok
[INFO] [stdout] test debug::tests::graphql_variables_nested_secret_redacted ... ok
[INFO] [stdout] test debug::tests::hyphenated_compound_stems_redacted ... ok
[INFO] [stdout] test debug::tests::graphql_variables_password_key_redacted_before_dump ... ok
[INFO] [stdout] test debug::tests::json_array_with_sensitive_keys ... ok
[INFO] [stdout] test debug::tests::json_all_sensitive_keys_redacted ... ok
[INFO] [stdout] test debug::tests::json_case_insensitive_key_match ... ok
[INFO] [stdout] test debug::tests::json_top_level_password_redacted ... ok
[INFO] [stdout] test debug::tests::key_and_session_exact_stems_redacted ... ok
[INFO] [stdout] test debug::tests::multiline_body_not_treated_as_form ... ok
[INFO] [stdout] test debug::tests::json_nested_password_redacted ... ok
[INFO] [stdout] test debug::tests::new_sensitive_headers_detected ... ok
[INFO] [stdout] test debug::tests::non_json_non_form_body_left_untouched ... ok
[INFO] [stdout] test debug::tests::non_sensitive_headers_pass_through ... ok
[INFO] [stdout] test debug::tests::no_box_drawing_characters_in_source ... ok
[INFO] [stdout] test debug::tests::private_key_and_api_variants_redacted ... ok
[INFO] [stdout] test debug::tests::redact_body_catches_response_tokens ... ok
[INFO] [stdout] test debug::tests::safe_keys_not_over_matched ... ok
[INFO] [stdout] test debug::tests::safe_keys_not_over_matched_extended ... ok
[INFO] [stdout] test debug::tests::sensitive_headers_detected ... ok
[INFO] [stdout] test debug::tests::short_exact_stems_redacted ... ok
[INFO] [stdout] test debug::tests::url_credentials_redacted ... ok
[INFO] [stdout] test debug::tests::url_no_credentials_unchanged ... ok
[INFO] [stdout] test debug::tests::url_query_api_key_redacted ... ok
[INFO] [stdout] test debug::tests::form_encoded_case_insensitive ... ok
[INFO] [stdout] test debug::tests::password_adjacent_keys_defensively_redacted ... ok
[INFO] [stdout] test debug::tests::url_query_password_redacted_page_preserved ... 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 debug::tests::url_query_no_query_unchanged ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_true_after_boolean_flag ... ok
[INFO] [stdout] test early_intercept::tests::first_positional_true_after_debug_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::first_positional_true_after_quiet_flag ... 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 debug::tests::url_query_extra_spec_param_redacted ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_with_debug_flag ... 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_with_quiet_flag ... ok
[INFO] [stdout] test error::tests::detect_errors_format_defaults_to_table ... ok
[INFO] [stdout] test error::tests::detect_errors_format_recognizes_json_equals ... ok
[INFO] [stdout] test early_intercept::tests::nth_positional_zeroth ... ok
[INFO] [stdout] test error::tests::detect_errors_format_case_insensitive ... ok
[INFO] [stdout] test error::tests::detect_errors_format_recognizes_json_space_separated ... ok
[INFO] [stdout] test error::tests::detect_errors_format_trailing_format_flag_with_no_value_is_table ... ok
[INFO] [stdout] test error::tests::detect_errors_format_unknown_format_falls_back_to_table ... ok
[INFO] [stdout] test error::tests::exit_code_table_covers_all_known_codes ... ok
[INFO] [stdout] test error::tests::exit_code_table_has_no_duplicates ... ok
[INFO] [stdout] test error::tests::is_raw_sentinel_false_for_api_with_raw_reason ... ok
[INFO] [stdout] test error::tests::is_raw_sentinel_false_for_non_api_errors ... ok
[INFO] [stdout] test error::tests::help_hint_shown_only_for_validation_errors ... ok
[INFO] [stdout] test error::tests::is_raw_sentinel_true_for_raw_sentinel_variant ... ok
[INFO] [stdout] test error::tests::print_errors_json_emits_expected_shape ... ok
[INFO] [stdout] test error::tests::raw_sentinel_exit_code_matches_api ... ok
[INFO] [stdout] test error::tests::raw_sentinel_duplicate ... ok
[INFO] [stdout] test error::tests::test_duplicate_preserves_variant ... ok
[INFO] [stdout] test error::tests::test_error_to_json_api ... ok
[INFO] [stdout] test error::tests::test_error_to_json_validation ... ok
[INFO] [stdout] {
[INFO] [stdout]   "error": {
[INFO] [stdout]     "code": 500,
[INFO] [stdout]     "message": "oops",
[INFO] [stdout]     "reason": "err"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] {
[INFO] [stdout]   "error": {
[INFO] [stdout]     "code": 400,
[INFO] [stdout]     "message": "bad input",
[INFO] [stdout]     "reason": "validationError"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] {
[INFO] [stdout]   "error": {
[INFO] [stdout]     "code": 401,
[INFO] [stdout]     "message": "no auth",
[INFO] [stdout]     "reason": "authError"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] {
[INFO] [stdout]   "error": {
[INFO] [stdout]     "code": 500,
[INFO] [stdout]     "message": "no spec",
[INFO] [stdout]     "reason": "discoveryError"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] {
[INFO] [stdout]   "error": {
[INFO] [stdout]     "code": 500,
[INFO] [stdout]     "message": "broken",
[INFO] [stdout]     "reason": "internalError"
[INFO] [stdout]   }
[INFO] [stdout] }
[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_to_json_auth ... ok
[INFO] [stdout] test error::tests::test_to_json_other ... ok
[INFO] [stdout] test error::tests::validation_label_is_error_validation ... ok
[INFO] [stdout] test error::tests::write_error_json_no_docs_url_for_non_api_errors ... ok
[INFO] [stdout] test error::tests::write_error_json_no_panic_without_context ... ok
[INFO] [stdout] test error::tests::write_error_json_raw_sentinel_suppresses_stdout ... ok
[INFO] [stdout] test error::tests::write_error_json_normal_api_error_writes_json ... ok
[INFO] [stdout] test error::tests::write_error_json_stdout_unchanged_with_context ... ok
[INFO] [stdout] test error::tests::test_to_json_discovery ... ok
[INFO] [stdout] test formatter::tests::apply_jmespath_array_filter ... ok
[INFO] [stdout] test formatter::tests::apply_jmespath_extracts_nested_field ... ok
[INFO] [stdout] test formatter::tests::apply_jmespath_invalid_expression ... ok
[INFO] [stdout] test formatter::tests::apply_jmespath_returns_null_for_missing_path ... ok
[INFO] [stdout] test formatter::tests::format_value_http_fallback_is_compact_json ... ok
[INFO] [stdout] test formatter::tests::format_value_paginated_http_fallback_is_compact_json ... ok
[INFO] [stdout] test formatter::tests::format_value_paginated_raw_fallback_is_compact_json ... ok
[INFO] [stdout] test formatter::tests::is_http_returns_false_for_other_formats ... ok
[INFO] [stdout] test formatter::tests::is_http_returns_true_for_http_format ... ok
[INFO] [stdout] test formatter::tests::is_raw_returns_true_for_raw_format ... ok
[INFO] [stdout] test formatter::tests::is_raw_returns_false_for_other_formats ... ok
[INFO] [stdout] test formatter::tests::jsonl_empty_array_is_empty_string ... ok
[INFO] [stdout] test formatter::tests::jsonl_list_response_extracts_and_flattens_data_array ... ok
[INFO] [stdout] test formatter::tests::jsonl_scalar_value ... ok
[INFO] [stdout] test formatter::tests::jsonl_paginated_flattens_array ... ok
[INFO] [stdout] test formatter::tests::format_value_raw_fallback_is_compact_json ... ok
[INFO] [stdout] test formatter::tests::jsonl_single_object_is_compact_one_line ... ok
[INFO] [stdout] test formatter::tests::parse_http_format ... ok
[INFO] [stdout] test formatter::tests::parse_jsonl_format ... ok
[INFO] [stdout] test formatter::tests::pipeline_apply_query_streaming_passes_non_null ... ok
[INFO] [stdout] test formatter::tests::pipeline_apply_query_streaming_suppresses_null ... ok
[INFO] [stdout] test formatter::tests::parse_raw_format ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_jsonl_flattens_array ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_paginated_json_is_compact_one_line ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_quiet_suppresses_output ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_single_page_json_is_pretty_with_trailing_newline ... ok
[INFO] [stdout] test formatter::tests::jsonl_top_level_array_flattened ... ok
[INFO] [stdout] test formatter::tests::pipeline_emit_with_query_projects_value ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_env_var_name_mirrors_logging_convention ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_explicit_http_flag ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_explicit_flag_beats_env ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_explicit_jsonl_flag ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_explicit_raw_flag ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_rejects_unknown_format ... ok
[INFO] [stdout] test formatter::tests::pipeline_from_matches_reads_explicit_format ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_empty_env_falls_back_to_tty_default ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_env_http ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_env_jsonl ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_env_is_case_insensitive ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_env_raw ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_invalid_env_falls_back_to_tty_default ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_no_env_terminal_is_table ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_no_env_piped_is_json ... ok
[INFO] [stdout] test formatter::tests::resolve_default_format_valid_env_wins_over_tty_default ... 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_array_of_arrays ... ok
[INFO] [stdout] test formatter::tests::test_format_csv ... 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_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_truncation_does_not_panic ... ok
[INFO] [stdout] test formatter::tests::test_format_json ... 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_csv_first_page_has_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_array_of_objects ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_colon_in_string_is_quoted ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_empty_array_has_space ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_empty_object_has_space ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_hash_in_string_is_quoted_not_block ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_multiline_still_uses_block ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_nested_array ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_nested_object ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_no_leading_blank_line ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_null_bool_number ... ok
[INFO] [stdout] test formatter::tests::test_format_yaml_top_level_array ... ok
[INFO] [stdout] test formatter::tests::test_output_format_from_str ... ok
[INFO] [stdout] test formatter::tests::test_output_format_parse_unknown_returns_err ... ok
[INFO] [stdout] test formatter::tests::test_output_format_parse_known ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_auth_scheme_records_binding ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_endpoint ... ok
[INFO] [stdout] test formatter::tests::test_format_table_multibyte_exact_boundary ... ok
[INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_builder ... 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_graphql_schema ... ok
[INFO] [stdout] test graphql::discovery::tests::test_deserialize_defaults ... 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_coerce_graphql_value_object_invalid_json_is_validation_error ... ok
[INFO] [stdout] test graphql::executor::tests::test_coerce_graphql_value_object_non_object_json_is_validation_error ... ok
[INFO] [stdout] test graphql::executor::tests::test_coerce_graphql_value_object_parses_json ... 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_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_graphql_json_plus_input_arg_validation_error ... ok
[INFO] [stdout] test graphql::executor::tests::test_execute_method_dry_run_with_http_config ... ok
[INFO] [stdout] test graphql::executor::tests::test_graphql_object_shorthand_plus_leaf_validation_error ... 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_resolve_retry_policy_default_vs_disabled ... ok
[INFO] [stdout] test auth::schemes::tests::header_provider_raw_value_no_prefix ... 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 graphql::executor::tests::test_set_nested_value_two_levels ... ok
[INFO] [stdout] test graphql::help::tests::test_default_selection_emitted_on_per_op_schema ... ok
[INFO] [stdout] test graphql::help::tests::test_default_selection_omitted_when_empty ... ok
[INFO] [stdout] test graphql::help::tests::test_render_nested_operation_schema ... ok
[INFO] [stdout] test graphql::help::tests::test_render_operation_schema ... ok
[INFO] [stdout] test graphql::help::tests::test_render_resource ... ok
[INFO] [stdout] test graphql::help::tests::test_render_root_lists_all ... ok
[INFO] [stdout] test graphql::help::tests::test_render_schema_dispatches_nested_path ... ok
[INFO] [stdout] test graphql::help::tests::test_render_schema_nested_sub_resource_listing ... ok
[INFO] [stdout] test graphql::parser::tests::test_camel_to_kebab ... ok
[INFO] [stdout] test graphql::parser::tests::test_input_arg_object_shorthand_basic ... ok
[INFO] [stdout] test graphql::parser::tests::test_load_minimal_schema ... 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_mutation_name ... 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 hooks::tests::pattern_empty ... ok
[INFO] [stdout] test hooks::tests::pattern_exact_match ... ok
[INFO] [stdout] test hooks::tests::pattern_globstar ... ok
[INFO] [stdout] test hooks::tests::pattern_globstar_prefix ... ok
[INFO] [stdout] test hooks::tests::pattern_globstar_suffix ... ok
[INFO] [stdout] test hooks::tests::pattern_single_wildcard ... ok
[INFO] [stdout] test auth::schemes::tests::header_provider_custom_header_name ... ok
[INFO] [stdout] test graphql::executor::tests::test_build_http_request_posts_json_body ... ok
[INFO] [stdout] test auth::schemes::tests::header_provider_bearer_prefix_named_header ... ok
[INFO] [stdout] test http::tests::compute_backoff_delay_grows_exponentially ... ok
[INFO] [stdout] test http::tests::decide_retry_exhausts_max_attempts ... ok
[INFO] [stdout] test http::tests::decide_retry_no_retry_flag_short_circuits ... ok
[INFO] [stdout] test http::tests::decide_retry_post_429_always_safe ... ok
[INFO] [stdout] test http::tests::decide_retry_post_5xx_without_idempotent_no_retry ... ok
[INFO] [stdout] test http::tests::env_prefix_uppercases_and_translates_dashes ... ok
[INFO] [stdout] test graphql::executor::tests::test_no_retry_yields_single_attempt ... ok
[INFO] [stdout] test graphql::executor::tests::test_retryable_status_retries_under_default_policy ... ok
[INFO] [stdout] test auth::oauth_login::tests::provider_refreshes_expired_token ... ok
[INFO] [stdout] test http::tests::generate_idempotency_key_is_uuid_shaped ... ok
[INFO] [stdout] test http::tests::generate_idempotency_key_unique ... ok
[INFO] [stdout] test http::tests::http_config_rejects_empty_name ... ok
[INFO] [stderr] ! First copy your one-time code: X
[INFO] [stderr]   Then visit: https://e
[INFO] [stderr]   (browser not opened — use the URL above)
[INFO] [stdout] test auth::oauth_login::tests::device_code_fails_on_access_denied ... ok
[INFO] [stdout] test http::tests::is_retryable_status_covers_5xx_408_429 ... ok
[INFO] [stdout] test http::tests::is_truthy_is_case_insensitive ... ok
[INFO] [stdout] test http::tests::method_allows_retry_idempotent_verbs ... ok
[INFO] [stdout] test http::tests::needs_idempotency_key_post_put_patch ... ok
[INFO] [stdout] test http::tests::parse_retry_after_empty_returns_none ... ok
[INFO] [stdout] test http::tests::parse_retry_after_numeric ... ok
[INFO] [stdout] test http::tests::build_client_succeeds_with_clean_env ... 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::first_env_picks_first_set_value_and_skips_empty ... ok
[INFO] [stdout] test http::tests::resolve_clean_env_yields_no_overrides ... 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 auth::oauth_login::tests::provider_wipes_keyring_when_refresh_fails ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_uses_disk_cache ... ok
[INFO] [stdout] test auth::login::tests::status_marks_env_as_active_keyring_as_shadowed ... ok
[INFO] [stdout] test auth::oauth2::tests::refresh_token_no_creds_without_refresh_env ... ok
[INFO] [stdout] test http::tests::retry_policy_default_has_4_attempts ... 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 auth::oauth2::tests::refresh_token_fetches_token ... ok
[INFO] [stdout] test http::tests::is_first_emission_dedupes_by_binary_and_kind ... ok
[INFO] [stderr] ! First copy your one-time code: X
[INFO] [stderr]   Then visit: https://e
[INFO] [stderr]   (browser not opened — use the URL above)
[INFO] [stderr] ✓ Authenticated. Stored credential in mock (in-memory).
[INFO] [stdout] test auth::oauth_login::tests::device_code_handles_slow_down_increases_interval ... 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_records_basic_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_collect_params_array_invalid_json_falls_back_to_string ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_array_typed_param_invalid_json_falls_back_to_string ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_array_typed_param_parsed_from_json ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_array_value_parsed_from_json ... 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_null_sentinel_does_not_apply_to_defaults ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_null_sentinel_on_nullable_param ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_null_string_on_non_nullable_param_unchanged ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_override_wins ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_repeated_param_json_array_value_flattened ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_repeated_param_mixed_json_array_and_literal ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_repeated_param_non_array_json_stays_literal ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_scalar_or_array_json_array_stays_array ... ok
[INFO] [stdout] test openapi::app::tests::test_collect_params_scalar_or_array_multiple_values_become_array ... ok
[INFO] [stderr] ! First copy your one-time code: ABCD-1234
[INFO] [stderr]   Then visit: https://example.com/device
[INFO] [stderr]   (browser not opened — use the URL above)
[INFO] [stdout] test openapi::app::tests::test_collect_params_scalar_or_array_single_value_stays_scalar ... ok
[INFO] [stdout] test openapi::app::tests::test_compose_root_after_help_sections_skips_absent ... ok
[INFO] [stdout] test openapi::app::tests::test_decorate_command_global_header_param_collision_no_panic ... ok
[INFO] [stdout] test openapi::app::tests::test_find_method_across_entries ... 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_global_header_long_collides_with_param_scopes_to_subcommands ... 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] [stdout] test openapi::app::tests::test_multiple_overlays_on_same_spec ... ok
[INFO] [stdout] test openapi::app::tests::test_overlay_adds_fern_extensions ... ok
[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_register_global_header_skips_conflicting_leaf ... 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::binding::tests::command_namespace_rejects_reserved_name - should panic ... ok
[INFO] [stdout] test openapi::binding::tests::prefix_schema_operations_array ... ok
[INFO] [stdout] test openapi::binding::tests::prefix_schema_operations_envelope ... ok
[INFO] [stdout] test openapi::binding::tests::prefix_schema_operations_leaf_object ... ok
[INFO] [stdout] test openapi::binding::tests::wrap_subcommands_under_namespace_moves_subs ... 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_accepts_null_when_param_nullable ... 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_nullable_lists_null_in_help ... ok
[INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_rejects_null_when_non_nullable ... 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_renamed_with_param_suffix ... 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_multipart_field_builtin_collision_skipped ... ok
[INFO] [stdout] test openapi::commands::tests::test_nullable_scalar_renders_value_name_with_null_suffix ... ok
[INFO] [stdout] test openapi::commands::tests::test_resolve_param_flag_name_body_preserves_dots ... ok
[INFO] [stdout] test openapi::commands::tests::test_resolve_param_flag_name_builtin_collision ... ok
[INFO] [stdout] test openapi::commands::tests::test_resolve_param_flag_name_is_idempotent ... ok
[INFO] [stdout] test openapi::commands::tests::test_resolve_param_flag_name_sanitizes_non_body ... ok
[INFO] [stdout] test openapi::commands::tests::test_resolve_param_flag_name_uses_display_name ... ok
[INFO] [stdout] test openapi::commands::tests::test_resolve_param_flag_name_uses_override ... ok
[INFO] [stdout] test openapi::commands::tests::test_root_uses_doc_name ... ok
[INFO] [stdout] test openapi::commands::tests::test_sanitized_flag_help_shows_wire_name ... ok
[INFO] [stdout] test openapi::commands::tests::test_sanitized_param_name_produces_correct_flag ... ok
[INFO] [stdout] test openapi::commands::tests::test_variable_bound_param_does_not_block_same_named_normal_param ... 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 openapi::executor::format_http_version_known_versions ... ok
[INFO] [stdout] test openapi::executor::test_bearer_header_sends_bearer_prefix ... ok
[INFO] [stdout] {
[INFO] [stdout]   "body": {
[INFO] [stdout]     "name": "test.txt"
[INFO] [stdout]   },
[INFO] [stdout]   "content_type": "application/json",
[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_get_does_not_set_content_length_zero ... ok
[INFO] [stdout] test openapi::executor::test_get_value_type_helper ... 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_append_query_string_continues_existing_query ... ok
[INFO] [stdout] test openapi::executor::tests::test_append_query_string_empty_pairs_is_unchanged ... ok
[INFO] [stdout] test openapi::executor::tests::test_append_query_string_first_param_uses_question_mark ... ok
[INFO] [stdout] test openapi::executor::tests::test_append_query_string_joins_multiple_with_ampersand ... 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_backslash_at_file_scheme_is_literal_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_backslash_at_is_escaped_literal_path ... 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_data_scheme_dash_is_not_stdin ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_data_scheme_is_data_mode ... 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_file_scheme_dash_is_not_stdin ... ok
[INFO] [stdout] test openapi::executor::tests::test_binary_body_source_file_scheme_is_text_mode ... 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::tests::test_build_http_request_put_patch_delete ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_http_request_unsupported_method ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_body ... 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_form_file_part_default_octet_stream ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_form_file_part_honors_encoding_content_type ... ok
[INFO] [stdout] test openapi::executor::tests::test_build_multipart_form_text_part_uses_encoding_content_type ... 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_object_rejects_non_object_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_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_default_accept_skipped_when_accept_in_params ... ok
[INFO] [stdout] test openapi::executor::tests::test_encode_query_component_comma_stays_literal ... ok
[INFO] [stdout] test openapi::executor::tests::test_encode_query_component_reserved_chars ... ok
[INFO] [stdout] test openapi::executor::tests::test_encode_query_component_space_is_percent20_not_plus ... ok
[INFO] [stdout] test openapi::executor::tests::test_encode_query_component_unreserved_untouched ... ok
[INFO] [stdout] test openapi::executor::tests::test_explicit_anonymous_endpoint_skips_auth ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_case_insensitive_param_name ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_decodes_rfc5987_utf8 ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_falls_through_to_next_part ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_ignores_form_data_disposition ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_inline ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_missing ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_prefers_filename_star ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_quoted ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_quoted_with_semicolon ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_rejects_dot_only ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_rejects_empty_and_control ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_rfc5987_unsupported_charset ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_strips_directory ... ok
[INFO] [stdout] test openapi::executor::tests::test_extract_content_disposition_filename_unquoted ... 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_file_part_mime_defaults_and_override ... 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_header_params_sent_as_http_headers ... ok
[INFO] [stdout] test openapi::executor::tests::test_is_escaped_literal_detects_backslash_at_prefix ... 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_json_plus_body_flag_returns_validation_error ... 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_audio_and_video ... ok
[INFO] [stdout] test openapi::executor::tests::test_mime_to_extension_audio_subtypes_disambiguated ... ok
[INFO] [stdout] test openapi::executor::tests::test_mime_to_extension_more_types ... ok
[INFO] [stdout] test openapi::executor::tests::test_missing_body_param_hint_preserves_dot_notation ... ok
[INFO] [stdout] test openapi::executor::tests::test_missing_param_hint_uses_builtin_collision_suffix ... ok
[INFO] [stdout] test openapi::executor::tests::test_multipart_has_stdin ... 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_object_shorthand_alone_parses_and_sets_nested ... ok
[INFO] [stdout] test openapi::executor::tests::test_object_shorthand_plus_leaf_flag_returns_validation_error ... ok
[INFO] [stdout] test openapi::executor::tests::test_object_shorthand_satisfies_required_leaf ... ok
[INFO] [stdout] test openapi::executor::tests::test_page_state_initial_for_each_form ... 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_at_ref_recognises_schemes ... 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_cursor_stops_on_empty_next_cursor ... 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_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_per_op_offset_stops_when_has_next_page_false ... ok
[INFO] [stdout] test openapi::executor::tests::test_project_text_event_bypasses_return_value_projection ... ok
[INFO] [stdout] test openapi::executor::tests::test_render_path_template_allows_dot_in_value ... ok
[INFO] [stdout] test openapi::executor::tests::test_render_path_template_label_style ... ok
[INFO] [stdout] test openapi::executor::tests::test_render_path_template_no_defs_falls_back_to_simple ... ok
[INFO] [stdout] test openapi::executor::tests::test_render_path_template_rejects_dot_segment ... ok
[INFO] [stdout] test openapi::executor::tests::test_render_path_template_rejects_single_dot ... 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_leaf_still_reported_when_no_ancestor_shorthand ... ok
[INFO] [stdout] test openapi::executor::tests::test_required_non_body_param_missing_omits_json_hint ... ok
[INFO] [stdout] test openapi::executor::tests::test_required_param_missing_uses_flag_name_override ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_backslash_at_data_scheme_is_literal ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_backslash_at_file_scheme_is_literal ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_base64_encodes_binary_file ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_data_scheme_base64s_binary_input ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_data_scheme_base64s_utf8_input ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_deep_pointer_is_correct ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_escapes_special_keys_in_pointer ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_file_scheme_errors_on_non_utf8 ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_file_scheme_inlines_utf8_string ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_leaves_non_at_strings_unchanged ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_missing_file_includes_path_and_pointer ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_reads_utf8_file_inside_nested_string ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_rejects_control_chars_in_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_resolve_file_refs_rewrites_backslash_escape_in_string ... 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_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_step_target_unresolvable_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_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_sanitize_rejects_embedded_backslashes ... ok
[INFO] [stdout] test openapi::executor::tests::test_sanitize_rejects_leading_dot_filenames ... ok
[INFO] [stdout] test openapi::executor::tests::test_sanitize_rejects_unicode_bidi_override ... 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_delimited_scalar_degrades_to_value ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_form_explode_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_form_explode_object ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_form_no_explode_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_form_no_explode_object ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_array_comma_joined ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_array_numbers ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_object_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_object_no_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_primitive ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_rejects_control_chars ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_header_simple_rejects_control_chars_in_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_default_simple_primitive ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_encodes_values_not_separators ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_label_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_label_array_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_label_object_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_label_object_no_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_label_primitive ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_matrix_array_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_matrix_array_no_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_matrix_encodes_value_not_prefix ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_matrix_object_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_matrix_primitive ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_simple_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_simple_array_with_null ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_simple_object ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_path_param_simple_object_explode ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_pipe_delimited_array ... ok
[INFO] [stdout] test openapi::executor::tests::test_serialize_space_delimited_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_strip_or_escape_at_passes_through_plain_path ... ok
[INFO] [stdout] test openapi::executor::tests::test_strip_or_escape_at_rewrites_backslash_escape ... ok
[INFO] [stdout] test openapi::executor::tests::test_strip_or_escape_at_strips_at_dash ... ok
[INFO] [stdout] test openapi::executor::tests::test_strip_or_escape_at_strips_curl_prefix ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_accepts_null_on_3_0_nullable_branch ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_accepts_null_on_nullable_property ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_accepts_null_on_nullable_union_via_any_of ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_deep_validation ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_object_property_with_all_of_overlay ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_object_property_with_typeless_all_of_overlay ... 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_property_all_of_enforces_ref_resolved_required ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_ref_to_nullable_schema_accepts_null ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_rejects_null_on_non_nullable_property ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_body_root_level_all_of_enters_object_branch ... 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_non_nullable_schema_rejects_null ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_value_nullable_schema_accepts_null ... ok
[INFO] [stdout] test openapi::executor::tests::test_validate_value_nullable_union_composition_accepts_null ... 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::executor::write_http_preamble_basic ... ok
[INFO] [stdout] test openapi::executor::write_http_preamble_binary_header_value ... ok
[INFO] [stdout] test openapi::executor::write_http_preamble_duplicate_headers ... ok
[INFO] [stdout] test openapi::executor::write_http_preamble_error_status ... ok
[INFO] [stdout] test openapi::executor::write_http_preamble_no_headers ... ok
[INFO] [stdout] test openapi::help::tests::test_binding_root_stays_bare_array_when_no_sdk_variables ... ok
[INFO] [stdout] test openapi::help::tests::test_body_all_of_arbitrarily_deep_inline_chain_surfaces_all_branches ... ok
[INFO] [stdout] test openapi::help::tests::test_body_all_of_inline_branch_recurses_into_nested_composition ... ok
[INFO] [stdout] test openapi::help::tests::test_body_all_of_inline_branch_required_propagates_into_input_required ... ok
[INFO] [stdout] test openapi::help::tests::test_body_all_of_merge_surfaces_fields_from_all_branches ... ok
[INFO] [stdout] test openapi::help::tests::test_body_field_collision_keeps_query_param_wins ... ok
[INFO] [stdout] test openapi::help::tests::test_body_field_default_surfaces_under_server_default_with_wire_type_preserved ... ok
[INFO] [stdout] test openapi::help::tests::test_body_fields_surface_in_input_with_location_body ... ok
[INFO] [stdout] test openapi::help::tests::test_body_required_does_not_elevate_optional_colliding_query_param ... ok
[INFO] [stdout] test openapi::help::tests::test_body_required_does_not_re_mark_variable_bound_param_required ... ok
[INFO] [stdout] test openapi::help::tests::test_capability_hint_binary_response ... ok
[INFO] [stdout] test openapi::help::tests::test_capability_hint_paginable_cursor ... ok
[INFO] [stdout] test openapi::help::tests::test_capability_hint_streaming_sse_with_terminator ... ok
[INFO] [stdout] test openapi::help::tests::test_nested_object_body_field_required_surfaces_per_object ... ok
[INFO] [stdout] test openapi::help::tests::test_nonfinite_min_max_omitted_not_emitted_as_null ... ok
[INFO] [stdout] test openapi::help::tests::test_output_absent_when_method_has_no_response ... ok
[INFO] [stdout] test openapi::help::tests::test_output_cycle_detection_emits_ref_pointer_on_self_reference ... ok
[INFO] [stdout] test openapi::help::tests::test_output_inlines_response_schema ... ok
[INFO] [stdout] test openapi::help::tests::test_output_unresolved_ref_omits_field ... ok
[INFO] [stdout] test openapi::help::tests::test_param_and_body_field_bounds_share_same_json_number_type ... ok
[INFO] [stdout] test openapi::help::tests::test_per_property_metadata_surfaces_default_format_nullable_deprecated_constraints ... 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_resource ... ok
[INFO] [stdout] test openapi::help::tests::test_render_root_lists_all ... ok
[INFO] [stdout] test openapi::help::tests::test_render_schema_dispatches_nested_path ... ok
[INFO] [stdout] test openapi::help::tests::test_render_schema_nested_sub_resource_listing ... ok
[INFO] [stdout] test openapi::help::tests::test_repeated_param_rendered_as_array_in_schema ... ok
[INFO] [stdout] test openapi::help::tests::test_root_listing_drops_http_method_and_path ... ok
[INFO] [stdout] test openapi::help::tests::test_root_listing_surfaces_sdk_variables_when_declared ... ok
[INFO] [stdout] test openapi::help::tests::test_scalar_or_array_union_rendered_as_oneof_in_schema ... 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_multiple_overlays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_apply_overlays_to_spec_no_overlays ... ok
[INFO] [stdout] test openapi::overlay::tests::test_apply_overlays_to_spec_roundtrip ... ok
[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_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_array_type_mismatch_replaces ... ok
[INFO] [stdout] test openapi::overlay::tests::test_deep_merge_arrays_index_by_index ... 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_deep_merge_preserves_nested_structure ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_does_not_mutate_input ... 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 openapi::overlay::tests::test_fern_multiple_consecutive_array_removals ... ok
[INFO] [stdout] test openapi::overlay::tests::test_fern_multiple_overlay_actions ... 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_fern_zero_match_continues_processing ... ok
[INFO] [stdout] test openapi::overlay::tests::test_merge_at_path_array_append ... ok
[INFO] [stdout] test openapi::overlay::tests::test_normalized_path_to_segments_direct ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_key_with_special_chars ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_remove_array_element ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_remove_property ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_root_target ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_sequential_actions ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_update_nested_path ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_update_simple_path ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_wildcard_update ... ok
[INFO] [stdout] test openapi::overlay::tests::test_overlay_zero_match_no_error ... ok
[INFO] [stdout] test openapi::overlay::tests::test_parse_overlay_json ... ok
[INFO] [stdout] test openapi::overlay::tests::test_parse_overlay_yaml ... 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] [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_yaml_roundtrip_strips_comments ... ok
[INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_strips_custom_tags ... ok
[INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_with_overlay_preserves_structure ... 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::parser::tests::test_all_objects_tags_array_is_primitives ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_flattens_inline_branches_at_root ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_inside_object_property_flattens_dot_notation ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_is_transparent_to_max_body_depth ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_last_branch_wins_on_duplicate_property ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_resolves_ref_branches ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_unions_required_arrays_across_branches ... ok
[INFO] [stdout] test openapi::parser::tests::test_all_of_unresolvable_ref_skipped_silently ... ok
[INFO] [stdout] test openapi::parser::tests::test_allow_null_keys_covers_all_fern_cli_keys ... 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_binary_request_body_honors_x_fern_parameter_name ... ok
[INFO] [stdout] test openapi::parser::tests::test_body_depth_3_plus_not_flattened ... ok
[INFO] [stdout] test openapi::parser::tests::test_bounds_30_and_31_produce_same_ir_for_strict_minimum ... ok
[INFO] [stdout] test openapi::parser::tests::test_bounds_30_exclusive_false_keeps_inclusive ... ok
[INFO] [stdout] test openapi::parser::tests::test_bounds_30_exclusive_flag_promotes_minimum ... ok
[INFO] [stdout] test openapi::parser::tests::test_bounds_30_exclusive_maximum_flag_promotes_maximum ... ok
[INFO] [stdout] test openapi::parser::tests::test_bounds_30_inclusive ... ok
[INFO] [stdout] test openapi::parser::tests::test_bounds_31_numeric_form ... 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_composition_any_of_and_all_of ... ok
[INFO] [stdout] test openapi::parser::tests::test_composition_at_parent_json_schema_level ... ok
[INFO] [stdout] test openapi::parser::tests::test_composition_nullable_via_oneof_with_null_type ... ok
[INFO] [stdout] test openapi::parser::tests::test_composition_one_of_captures_branches ... ok
[INFO] [stdout] test openapi::parser::tests::test_const_does_not_override_explicit_enum ... ok
[INFO] [stdout] test openapi::parser::tests::test_const_lowered_through_flatten_body_params_inline ... ok
[INFO] [stdout] test openapi::parser::tests::test_const_lowered_through_flatten_body_params_via_ref ... ok
[INFO] [stdout] test openapi::parser::tests::test_const_lowers_to_single_element_enum ... ok
[INFO] [stdout] test openapi::parser::tests::test_const_numeric_default_keeps_wire_type ... ok
[INFO] [stdout] test openapi::parser::tests::test_const_numeric_value ... ok
[INFO] [stdout] test openapi::parser::tests::test_convert_parameter_lowers_schema_min_max_into_method_parameter ... 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_example_30_single ... ok
[INFO] [stdout] test openapi::parser::tests::test_examples_31_list ... ok
[INFO] [stdout] test openapi::parser::tests::test_examples_lax_30_map_form ... ok
[INFO] [stdout] test openapi::parser::tests::test_explicit_empty_operation_security_means_anonymous ... ok
[INFO] [stdout] test openapi::parser::tests::test_extract_response_inline_schema ... ok
[INFO] [stdout] test openapi::parser::tests::test_extract_response_with_ref_schema ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_marks_scalar_nullable_30 ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_marks_scalar_nullable_31 ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_nested_nullable_via_dot_notation ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_non_nullable_scalar_stays_false ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_non_scalar_nullable_not_propagated ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_nullable_integer_and_boolean_and_number ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_nullable_string_array_union ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_body_params_ref_chain_union ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_promotes_nullable_union_field ... ok
[INFO] [stdout] test openapi::parser::tests::test_flatten_promotes_nullable_union_via_ref_to_scalar ... 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::parser::tests::test_global_headers_full_entry_round_trips ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_minimal_entry_uses_defaults ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_optional_true_lowers_to_optional ... ok
[INFO] [stdout] test openapi::parser::tests::test_global_headers_preserves_declaration_order ... 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_has_binary_response_false_for_empty_responses ... ok
[INFO] [stdout] test openapi::parser::tests::test_has_binary_response_false_for_json_only_2xx ... ok
[INFO] [stdout] test openapi::parser::tests::test_has_binary_response_false_for_non_json_only_on_4xx ... ok
[INFO] [stdout] test openapi::parser::tests::test_has_binary_response_honors_2xx_wildcard ... ok
[INFO] [stdout] test openapi::parser::tests::test_has_binary_response_mixed_binary_2xx_and_json_4xx ... ok
[INFO] [stdout] test openapi::parser::tests::test_has_binary_response_true_for_audio_2xx ... ok
[INFO] [stdout] test openapi::parser::tests::test_idempotency_headers_parsed_from_spec_root ... 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_idempotent_op_without_spec_root_headers_has_no_synthetic_params ... 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_inline_object_body_param_emits_parent_object_flag ... ok
[INFO] [stdout] test openapi::parser::tests::test_inline_request_body_produces_per_field_body_params ... ok
[INFO] [stdout] test openapi::parser::tests::test_load_openapi_spec_with_root_retries ... 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_method_name_strips_tag_prefix_with_tag_grouping ... ok
[INFO] [stdout] test openapi::parser::tests::test_multipart_does_not_produce_json_body ... ok
[INFO] [stdout] test openapi::parser::tests::test_multipart_encoding_content_type_overrides_inferred ... ok
[INFO] [stdout] test openapi::parser::tests::test_multipart_file_part_defaults_to_octet_stream_without_encoding ... ok
[INFO] [stdout] test openapi::parser::tests::test_multipart_form_data_fields_parsed ... ok
[INFO] [stdout] test openapi::parser::tests::test_multipart_form_data_with_ref_schema ... 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_empty_v2_still_falls_back_to_v1 ... 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::parser::tests::test_no_named_servers_when_extensions_absent ... 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_example_singular ... ok
[INFO] [stdout] test openapi::parser::tests::test_null_preserved_under_x_code_samples ... ok
[INFO] [stdout] test openapi::parser::tests::test_null_preserved_under_x_fern_examples ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_30_explicit_field ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_30_regression_plain_type ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_31_type_array_null_first ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_31_type_array_only_null ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_31_type_array_with_null ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_at_parent_json_schema_level ... ok
[INFO] [stdout] test openapi::parser::tests::test_nullable_schema_object_lowering ... 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_alpha ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_beta ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_deprecated_value ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_generally_available_canonical ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_legacy ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_pre_release ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_pre_release_wire_spelling ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_availability_preview ... 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_openapi_deprecated_true_falls_back_to_deprecated ... ok
[INFO] [stdout] test openapi::parser::tests::test_operation_return_value_absent_is_none ... 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_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_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_x_fern_availability_overrides_openapi_deprecated ... ok
[INFO] [stdout] test openapi::parser::tests::test_or_of_ands_security_requirements ... ok
[INFO] [stdout] test openapi::parser::tests::test_parameter_availability_beta ... ok
[INFO] [stdout] test openapi::parser::tests::test_parameter_openapi_deprecated_falls_back_to_deprecated_availability ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_apikey_header_and_query ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_http_basic_security_scheme ... ok
[INFO] [stdout] test openapi::parser::tests::test_parses_http_bearer_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_server_override ... 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_recognize_nullable_union_30_idiom_with_nullable_branch ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_all_of_never_promoted ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_inline_any_of ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_inline_one_of ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_mixed_scalar_types_is_not_promoted ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_no_null_branch_is_not_promoted ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_ref_to_non_scalar_not_promoted ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_two_null_branches_not_promoted ... ok
[INFO] [stdout] test openapi::parser::tests::test_recognize_nullable_union_with_ref_to_scalar ... ok
[INFO] [stdout] test openapi::parser::tests::test_ref_object_body_param_emits_parent_object_flag ... ok
[INFO] [stdout] test openapi::parser::tests::test_ref_property_within_inline_schema_resolved ... 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_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_ref_chain_already_terminal ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_ref_chain_broken_returns_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_ref_chain_multi_hop ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_ref_chain_single_hop ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_response_ref_inline ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_response_ref_missing_component ... ok
[INFO] [stdout] test openapi::parser::tests::test_resolve_response_ref_resolves_ref ... 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_missing_inherits_root_object ... 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_scalar_or_array_union_anyof ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_integer_type ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_not_matching ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_oneof ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_rejects_extra_branches ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_rejects_mismatched_array ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_type_mismatch_returns_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_with_null ... ok
[INFO] [stdout] test openapi::parser::tests::test_scalar_or_array_union_with_ref ... 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_variable_on_non_path_parameter_is_ignored ... 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] [stdout] test openapi::parser::tests::test_security_scheme_type_and_scheme_are_case_insensitive ... ok
[INFO] [stdout] test openapi::parser::tests::test_select_primary_response_falls_back_to_default ... ok
[INFO] [stdout] test openapi::parser::tests::test_select_primary_response_picks_lowest_2xx ... 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_status_code_sort_key_default_returns_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_status_code_sort_key_numeric ... ok
[INFO] [stdout] test openapi::parser::tests::test_status_code_sort_key_wildcard ... 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_object_sse_with_terminator ... 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_strip_tag_prefix_no_strip_when_no_overlap ... 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_unknown_security_type_falls_through_to_other ... ok
[INFO] [stdout] test openapi::parser::tests::test_webhooks_block_parses_and_is_ignored_for_commands ... 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_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_alone_lowers_as_client_default ... 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_default_from_resolved_component_when_no_ref_site_override ... 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_display_to_wire_round_trip ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_enum_drops_empty_entries ... 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_enum_partial_override_skips_missing_entries ... 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] [stderr] ✓ Authenticated. Stored credential in mock (in-memory).
[INFO] [stdout] test auth::oauth_login::tests::device_code_polling_succeeds_on_third_try ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_multiple_groups_parse_independently ... ok
[INFO] [stdout] test http::tests::parse_secs_handles_numeric_and_invalid ... ok
[INFO] [stdout] test http::tests::resolve_invalid_ca_bundle_path_errors ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_keys_are_kebab_cased ... ok
[INFO] [stdout] test http::tests::resolve_preserves_compile_time_pem_bytes_unchanged ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_summary_only_keeps_description_none ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_tolerates_unknown_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_ignore_at_component_drops_parameter_via_any_ref ... ok
[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_default_false_keeps_operation_and_parameter ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_drops_parameter ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_prunes_empty_nested_group ... 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_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_inline_sets_display_name ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::empty_resources_produces_only_shared ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_drops_operation ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::example_placeholder_format_driven ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::example_placeholder_type_driven ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::deterministic_output_across_calls ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::frontmatter_description_escapes_quotes ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_kebab_normalization_via_commands_builder ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::group_skill_has_discovering_commands ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::group_skill_has_prerequisite_link ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::group_skill_has_valid_frontmatter ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::generates_shared_and_group_files ... ok
[INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_falls_back_to_component_when_ref_site_absent ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::group_skill_lists_methods ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::multi_level_resource_nesting ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::shared_skill_contains_auth_section ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::shared_skill_contains_global_flags ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::shared_skill_has_valid_frontmatter ... 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 output::tests::reject_clean_string ... ok
[INFO] [stdout] test openapi::skill_emitter::tests::example_placeholder_missing_fields ... 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_bell_and_backspace ... 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_line_separators ... ok
[INFO] [stdout] test output::tests::sanitize_strips_zero_width_chars ... ok
[INFO] [stdout] test pager::tests::test_default_pager_program ... ok
[INFO] [stdout] test pager::tests::test_is_broken_pipe ... ok
[INFO] [stdout] test pager::tests::test_is_less_compatible ... ok
[INFO] [stdout] test pager::tests::test_pager_config_disabled_skips_spawn ... ok
[INFO] [stdout] test pager::tests::test_pager_config_empty_env_falls_through ... ok
[INFO] [stdout] test pager::tests::test_pager_config_from_env_binary_var_takes_precedence ... ok
[INFO] [stdout] test sdk_executor::tests::block_on_converts_sdk_error ... ok
[INFO] [stdout] test sdk_executor::tests::cli_executor_with_retries_override ... 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 sdk_executor::tests::cli_executor_new_default_retries ... ok
[INFO] [stdout] test sdk_executor::tests::execute_applies_base_url_override ... ok
[INFO] [stdout] test sdk_executor::tests::http_status_reason_known_codes ... ok
[INFO] [stdout] test sdk_executor::tests::execute_applies_global_headers ... ok
[INFO] [stdout] test sdk_executor::tests::resolve_url_with_override ... ok
[INFO] [stdout] test sdk_executor::tests::execute_retries_on_500 ... ok
[INFO] [stdout] test sdk_executor::tests::sdk_error_auth_maps_to_cli_auth ... ok
[INFO] [stdout] test sdk_executor::tests::sdk_error_display_formats ... ok
[INFO] [stdout] test sdk_executor::tests::sdk_error_http_maps_to_cli_api ... ok
[INFO] [stdout] test sdk_executor::tests::sdk_error_implements_std_error ... ok
[INFO] [stdout] test sdk_executor::tests::sdk_error_network_maps_to_cli_other ... ok
[INFO] [stdout] test sdk_executor::tests::sdk_error_timeout_maps_to_cli_other ... ok
[INFO] [stdout] test stability::tests::badge_text ... ok
[INFO] [stdout] test stability::tests::deprecated_always_visible ... ok
[INFO] [stdout] test stability::tests::rank_ordering ... ok
[INFO] [stdout] test stability::tests::removed_never_visible ... ok
[INFO] [stdout] test stability::tests::visible_at_threshold ... 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 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::sentence_boundary_at_exact_limit ... ok
[INFO] [stdout] test text::tests::short_desc_unchanged ... ok
[INFO] [stdout] test sdk_executor::tests::resolve_url_no_override ... ok
[INFO] [stdout] test text::tests::strips_markdown_links ... ok
[INFO] [stdout] test http::tests::resolve_proxy_falls_back_to_global_no_proxy ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_empty_rejected ... ok
[INFO] [stdout] test text::tests::strips_markdown_links_and_truncates ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_idempotence ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_rejects_cjk ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_rejects_control_chars ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_strips_zero_width ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_rejects_whitespace ... ok
[INFO] [stdout] test text::tests::test_sanitize_flag_name_table ... 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::test_to_kebab_flag ... ok
[INFO] [stdout] test text::tests::truncate_at_word_boundary ... ok
[INFO] [stdout] test text::tests::zero_max_chars ... ok
[INFO] [stdout] test validate::tests::encode_query_component_encodes_adversarial_agent_id ... ok
[INFO] [stdout] test text::tests::test_strip_markdown_links ... ok
[INFO] [stdout] test validate::tests::encode_query_component_encodes_reserved_chars ... ok
[INFO] [stdout] test validate::tests::encode_query_component_encodes_control_chars ... ok
[INFO] [stdout] test validate::tests::encode_query_component_encodes_space_as_percent20 ... ok
[INFO] [stdout] test validate::tests::encode_query_component_unreserved_passes_through ... ok
[INFO] [stdout] test validate::tests::test_dir_path_rejects_absolute ... ok
[INFO] [stdout] test validate::tests::test_dir_path_cwd ... ok
[INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_hierarchical_name ... 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_spaces_and_unicode ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_dot_and_tilde_unreserved ... 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_dir_path_rejects_traversal ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_dot_segment_guard ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_plain_id ... 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 validate::tests::test_encode_path_segment_query_injection ... ok
[INFO] [stdout] test validate::tests::test_encode_path_segment_path_traversal ... ok
[INFO] [stdout] test sdk_executor::tests::execute_fails_closed_on_auth_error ... ok
[INFO] [stdout] test logging::tests::test_init_logging_with_file_dir_no_panic ... ok
[INFO] [stdout] test validate::tests::test_is_dot_segment ... 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 sdk_executor::tests::resolve_url_with_path_bearing_override ... ok
[INFO] [stdout] test auth::oauth2::tests::provider_persists_token_to_disk ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_unicode_line_separator ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_zero_width_chars ... ok
[INFO] [stdout] test validate::tests::test_output_dir_relative_subdir ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_bom ... ok
[INFO] [stdout] test pager::tests::test_pager_config_from_env_pager_var ... 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 validate::tests::test_reject_control_chars_rtl_override ... ok
[INFO] [stdout] test validate::tests::test_reject_control_chars_tab ... 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_validate_resource_name_error_messages_are_clear ... 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_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_single_dot ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_unicode_line_seps ... ok
[INFO] [stdout] test validate::tests::test_validate_resource_name_valid ... 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 validate::tests::test_validate_resource_name_traversal ... 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_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::first_message_missing_credential_errors ... 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::missing_credential_for_header_surfaces_as_auth_error ... ok
[INFO] [stdout] test websocket::auth::tests::headers_variant_rejects_reserved_names_per_pair ... ok
[INFO] [stdout] test websocket::auth::tests::missing_credential_for_query_param_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::custom_hint_replaces_default_in_message ... ok
[INFO] [stdout] test websocket::error::tests::close_with_reason_includes_reason_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 http::tests::resolve_proxy_with_explicit_no_proxy_wins_over_env ... 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_file_path_rejects_symlink_escape ... ok
[INFO] [stdout] test validate::tests::test_file_path_rejects_traversal ... ok
[INFO] [stdout] test validate::tests::test_file_path_rejects_traversal_via_nonexistent_prefix ... ok
[INFO] [stdout] test validate::tests::test_file_path_relative_is_ok ... ok
[INFO] [stdout] test http::tests::resolve_picks_up_insecure_flag ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_traversal ... ok
[INFO] [stdout] test pager::tests::test_pager_config_from_env_defaults ... ok
[INFO] [stdout] test pager::tests::test_pager_with_arguments_is_split ... ok
[INFO] [stdout] test http::tests::resolve_invalid_ca_bundle_contents_errors ... ok
[INFO] [stdout] test logging::tests::test_init_logging_with_stderr_filter_no_panic ... ok
[INFO] [stdout] test validate::tests::test_output_dir_rejects_symlink_traversal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1704 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.90s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests cli/hedra/main.rs (/opt/rustwide/target/debug/deps/hedra-ca8e0f0a10fc90e6)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fern_cli_sdk
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test src/app.rs - app::CliApp (line 79) ... ignored
[INFO] [stdout] test src/app.rs - app::CliApp::auth (line 174) ... ignored
[INFO] [stdout] test src/app.rs - app::CliApp::command (line 238) ... ignored
[INFO] [stdout] test src/app.rs - app::CliApp::command_typed (line 267) ... ignored
[INFO] [stdout] test src/app.rs - app::CliApp::command_typed_with (line 311) ... ignored
[INFO] [stdout] test src/app.rs - app::CliApp::command_under (line 347) ... ignored
[INFO] [stdout] test src/app.rs - app::CliApp::command_under_typed (line 380) ... ignored
[INFO] [stdout] test src/graphql/app.rs - graphql::app::CliApp::extra_root_cert (line 147) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::audiences (line 665) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::auth_layer (line 1188) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::auth_scheme_env (line 1075) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::extra_root_cert (line 1239) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::idempotency_header_env (line 694) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::overlay (line 896) ... ignored
[INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::specs_under_named_with_overrides (line 853) ... ignored
[INFO] [stdout] test src/openapi/binding.rs - openapi::binding::OpenApiBinding (line 26) ... ignored
[INFO] [stdout] test src/openapi/binding.rs - openapi::binding::OpenApiBinding::handler (line 314) ... ignored
[INFO] [stdout] test src/websocket/client.rs - websocket::client::AutoResponder (line 64) ... ignored
[INFO] [stdout] test src/websocket/client.rs - websocket::client::AutoResponder (line 82) ... ignored
[INFO] [stdout] test src/auth/root_builder.rs - auth::root_builder (line 9) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 19 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a", kill_on_drop: false }`
[INFO] [stdout] ae3afd82ef966c58e1183ed741524c33026cdb5587ced8a29c25a530c8dde63a
