[INFO] cloning repository https://github.com/jsklan/petstore-cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jsklan/petstore-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjsklan%2Fpetstore-cli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjsklan%2Fpetstore-cli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 131b61bf835787c1b930576edf3a6df735c0ae5d [INFO] testing jsklan/petstore-cli against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjsklan%2Fpetstore-cli" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jsklan/petstore-cli [INFO] finished tweaking git repo https://github.com/jsklan/petstore-cli [INFO] tweaked toml for git repo https://github.com/jsklan/petstore-cli written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jsklan/petstore-cli on toolchain 1.99.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jsklan/petstore-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.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d [INFO] running `Command { std: "docker" "start" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", 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" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", 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" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling openssl-sys v0.9.116 [INFO] [stderr] Compiling openssl v0.10.80 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling inventory v0.3.24 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling serde_json_path_macros_internal v0.1.2 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling data-encoding v2.11.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling serde_json_path_core v0.2.2 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling symlink v0.1.0 [INFO] [stderr] Compiling roff v1.1.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling serde_json_path_macros v0.1.6 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling serde_qs v1.1.2 [INFO] [stderr] Compiling dotenvy v0.15.7 [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 tungstenite v0.24.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling serde_json_path v0.7.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tracing-appender v0.2.5 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling fern-cli-sdk v0.18.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 55s [INFO] running `Command { std: "docker" "inspect" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", 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" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling openssl v0.10.80 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling h2 v0.4.14 [INFO] [stderr] Compiling serde_json_path_core v0.2.2 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_json_path_macros v0.1.6 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling 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.9.0 [INFO] [stderr] Compiling tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling serde_json_path v0.7.2 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling tracing-appender v0.2.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling fern-cli-sdk v0.18.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 2m 13s [INFO] running `Command { std: "docker" "inspect" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", 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" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/fern_cli_sdk-fdfeeccbd1ab07bd) [INFO] [stdout] [INFO] [stdout] running 1038 tests [INFO] [stdout] test app::tests::deduplicate_after_help_multiline_blocks_are_atomic ... ok [INFO] [stdout] test arg_source::tests::chain_arg_falls_through ... ok [INFO] [stdout] test arg_source::tests::chain_arg_empty_returns_none ... ok [INFO] [stdout] test app::tests::resolve_binding_empty_path ... ok [INFO] [stdout] test app::tests::deduplicate_after_help_removes_identical_blocks ... ok [INFO] [stdout] test arg_source::tests::chain_arg_first_wins ... ok [INFO] [stdout] test app::tests::resolve_binding_last_wins ... ok [INFO] [stdout] test app::tests::deduplicate_after_help_preserves_unique_blocks ... ok [INFO] [stdout] test arg_source::tests::env_arg_empty_returns_none ... ok [INFO] [stdout] test arg_source::tests::env_arg_missing_returns_none ... ok [INFO] [stdout] test arg_source::tests::env_arg_reads_value ... ok [INFO] [stdout] test arg_source::tests::literal_arg ... ok [INFO] [stdout] test auth::builder::tests::render_auth_help_section_describes_basic_pair ... ok [INFO] [stdout] test arg_source::tests::file_arg_missing_returns_none ... ok [INFO] [stdout] test auth::builder::tests::no_bindings_returns_noop ... 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_marks_custom_provider_opaque ... 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_describes_chain ... ok [INFO] [stdout] test auth::builder::tests::strategy_any_overrides_spec_routing ... ok [INFO] [stdout] test arg_source::tests::file_arg_empty_returns_none ... 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_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_routing_with_zero_bindings_returns_no_auth ... ok [INFO] [stdout] test auth::builder::tests::token_binding_for_basic_scheme_is_skipped ... ok [INFO] [stdout] test auth::compose::tests::all_auth_empty_provider_list_is_no_credentials ... ok [INFO] [stdout] test auth::compose::tests::all_auth_has_credentials_requires_every_child ... ok [INFO] [stdout] test auth::builder::tests::strategy_all_with_zero_bindings_returns_no_auth ... ok [INFO] [stdout] test app::tests::resolve_op_path_extracts_chain ... ok [INFO] [stdout] test arg_source::tests::file_arg_reads_and_trims ... ok [INFO] [stdout] test app::tests::deduplicate_after_help_real_world_footer ... ok [INFO] [stdout] test app::tests::cli_app_must_use ... ok [INFO] [stdout] test auth::builder::tests::basic_scheme_routes_to_basic_provider ... ok [INFO] [stdout] test auth::compose::tests::any_auth_picks_first_with_credentials ... ok [INFO] [stdout] test auth::compose::tests::routing_combines_anded_schemes_in_one_requirement ... ok [INFO] [stdout] test auth::builder::tests::custom_binding_used_as_is ... ok [INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_explicit_anonymous_is_true ... ok [INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unsatisfiable_requirement_is_false ... ok [INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unspecified_delegates_to_default ... ok [INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_unspecified_propagates_default_false ... ok [INFO] [stdout] test auth::compose::tests::routing_has_credentials_for_satisfiable_requirement_is_true ... 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_setup_registers_provider_named_apikey ... ok [INFO] [stdout] test auth::compose::tests::all_auth_applies_every_provider ... ok [INFO] [stdout] test auth::builder::tests::bearer_scheme_routes_to_bearer_provider ... ok [INFO] [stdout] test auth::credential::tests::chain_picks_first_with_value ... ok [INFO] [stdout] test auth::credential::tests::chain_returns_none_when_all_missing ... ok [INFO] [stdout] test auth::credential::tests::chain_with_empty_literal_falls_through ... ok [INFO] [stdout] test auth::builder::tests::from_bindings_works_without_doc ... ok [INFO] [stdout] test auth::credential::tests::cli_args_collects_recursively_through_chain ... 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::cli_resolves_to_none_before_finalize ... ok [INFO] [stdout] test auth::credential::tests::closure_resolves ... ok [INFO] [stdout] test auth::credential::tests::closure_returning_empty_string_is_missing ... ok [INFO] [stdout] test auth::credential::tests::closure_returning_none_is_missing ... ok [INFO] [stdout] test auth::builder::tests::strategy_all_applies_every_scheme_unconditionally ... ok [INFO] [stdout] test auth::credential::tests::debug_redacts_literal_value ... ok [INFO] [stdout] test auth::credential::tests::env_returns_none_when_unset ... ok [INFO] [stdout] test auth::credential::tests::env_treats_empty_as_missing ... ok [INFO] [stdout] test auth::builder::tests::uses_routing_when_doc_has_per_endpoint_security ... ok [INFO] [stdout] test auth::credential::tests::env_trims_surrounding_whitespace ... ok [INFO] [stdout] test auth::credential::tests::env_treats_whitespace_only_as_missing ... ok [INFO] [stdout] test auth::credential::tests::expand_home_resolves_tilde_prefix ... ok [INFO] [stdout] test auth::credential::tests::finalize_chain_cli_wins_over_env ... ok [INFO] [stdout] test auth::credential::tests::file_missing_resolves_to_none ... ok [INFO] [stdout] test auth::compose::tests::routing_explicit_anonymous_skips_auth_even_with_default ... 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_cli_returns_none_when_flag_absent ... ok [INFO] [stdout] test auth::credential::tests::finalize_recurses_into_chain_with_cli_fallback_to_env ... ok [INFO] [stdout] test auth::credential::tests::finalize_replaces_cli_with_closure_reading_matches ... ok [INFO] [stdout] test auth::credential::tests::finalize_passes_through_non_cli_variants ... ok [INFO] [stdout] test auth::credential::tests::home_dir_falls_back_to_userprofile_when_home_unset ... ok [INFO] [stdout] test auth::credential::tests::literal_empty_string_resolves_to_none ... ok [INFO] [stdout] test auth::credential::tests::resolved_secret_does_not_leak_through_debug ... ok [INFO] [stdout] test auth::builder::tests::apikey_header_uses_declared_header_name ... ok [INFO] [stdout] test auth::credential::tests::literal_resolves ... ok [INFO] [stdout] test auth::error::tests::falls_back_to_raw_body_when_non_json ... ok [INFO] [stdout] test auth::error::tests::handles_top_level_reason_field ... ok [INFO] [stdout] test auth::credential::tests::missing_resolves_to_none ... ok [INFO] [stdout] test auth::error::tests::friendly_when_provider_has_no_credentials_for_endpoint ... ok [INFO] [stdout] test auth::error::tests::parses_structured_error_envelope ... ok [INFO] [stdout] test auth::error::tests::passes_through_when_credentials_present ... ok [INFO] [stdout] test auth::oauth2::tests::parse_oauth_error_prefers_error_and_description ... ok [INFO] [stdout] test auth::oauth2::tests::has_credentials_true_when_cache_has_valid_token ... ok [INFO] [stdout] test auth::compose::tests::all_auth_short_circuits_on_provider_error ... ok [INFO] [stdout] test auth::compose::tests::any_auth_no_credentials_is_passthrough ... ok [INFO] [stdout] test auth::builder::tests::routing_falls_back_to_any_for_unspecified_endpoint ... ok [INFO] [stdout] test auth::compose::tests::any_auth_skips_routing_child_that_cant_satisfy_endpoint ... ok [INFO] [stdout] test auth::oauth2::tests::token_cache_expired_token_returns_none ... ok [INFO] [stdout] test auth::oauth2::tests::token_cache_no_expiry_always_valid ... ok [INFO] [stdout] test auth::oauth2::tests::token_cache_file_permissions ... ok [INFO] [stdout] test auth::compose::tests::routing_falls_back_to_or_alternative ... ok [INFO] [stdout] test auth::oauth2::tests::token_cache_store_and_load ... ok [INFO] [stdout] test auth::oauth2::tests::truncate_body_long ... ok [INFO] [stdout] test auth::oauth2::tests::truncate_body_multibyte_utf8_no_panic ... ok [INFO] [stdout] test auth::oauth2::tests::token_cache_preserves_refresh_token_on_update ... ok [INFO] [stdout] test auth::provider::tests::endpoint_metadata_three_states ... ok [INFO] [stdout] test auth::oauth2::tests::token_cache_remove ... ok [INFO] [stdout] test auth::root_builder::tests::api_key_auth_builds_token_binding ... ok [INFO] [stdout] test auth::root_builder::tests::bearer_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::oauth2_auth_without_static_token_is_missing ... ok [INFO] [stdout] test auth::root_builder::tests::oauth2_auth_with_static_token ... 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::builder::tests::duplicate_binding_uses_last_write_consistently ... ok [INFO] [stdout] test auth::schemes::tests::basic_provider_username_only_missing_is_no_credentials ... ok [INFO] [stdout] test auth::compose::tests::routing_uses_default_when_endpoint_has_no_requirements ... ok [INFO] [stdout] test auth::compose::tests::routing_unspecified_no_default_is_passthrough ... ok [INFO] [stdout] test auth::provider::tests::no_auth_provider_emits_no_headers ... ok [INFO] [stdout] test auth::compose::tests::routing_no_satisfiable_requirement_is_passthrough ... ok [INFO] [stdout] test auth::compose::tests::routing_picks_satisfiable_requirement ... ok [INFO] [stdout] test auth::schemes::tests::basic_provider_emits_base64_authorization ... ok [INFO] [stdout] test auth::schemes::tests::basic_provider_username_only_sends_empty_password ... ok [INFO] [stdout] test auth::schemes::tests::basic_provider_password_only_sends_empty_username ... ok [INFO] [stdout] test cli_args::tests::test_extract_subcommand_path ... ok [INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_format_equals_before_subcommand ... ok [INFO] [stdout] test auth::schemes::tests::bearer_provider_rejects_invalid_token_bytes ... ok [INFO] [stdout] test auth::schemes::tests::bearer_provider_emits_authorization_bearer ... ok [INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_root ... 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_empty_args ... 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_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_no_json_help_without_help_flag ... ok [INFO] [stdout] test cli_args::tests::test_wants_json_help_case_insensitive ... ok [INFO] [stdout] test cli_args::tests::test_wants_json_help_equals ... ok [INFO] [stdout] test cli_args::tests::test_wants_json_help_short_flag ... ok [INFO] [stdout] test cli_args::tests::test_wants_json_help_space_separated ... ok [INFO] [stdout] test completions::tests::parse_shell_invalid ... ok [INFO] [stdout] test completions::tests::parse_shell_rejects_uppercase ... ok [INFO] [stdout] test completions::tests::parse_shell_valid ... ok [INFO] [stdout] test completions::tests::wants_completion_detects_subcommand ... ok [INFO] [stdout] test cli_args::tests::test_is_errors_subcommand_default_no_format ... 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_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 completions::tests::wants_completion_false_when_nested ... ok [INFO] [stdout] test custom_commands::tests::graft_top_level_collision_replaces_leaf ... ok [INFO] [stdout] test custom_commands::tests::registry_dispatch_returns_none_when_no_custom_invoked ... ok [INFO] [stdout] test custom_commands::tests::registry_dispatch_invokes_matching_handler ... 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 auth::schemes::tests::bearer_provider_no_token_is_noop ... ok [INFO] [stdout] test custom_commands::tests::registry_graft_into_grafts_all_entries ... ok [INFO] [stdout] test custom_commands::tests::walk_matches_misses_when_parent_diverges ... ok [INFO] [stdout] test custom_commands::tests::walk_matches_misses_when_path_diverges ... ok [INFO] [stdout] test early_intercept::tests::first_positional_false_for_other_subcommand ... ok [INFO] [stdout] test custom_commands::tests::walk_matches_finds_leaf ... ok [INFO] [stdout] test early_intercept::tests::first_positional_false_when_flag_value ... ok [INFO] [stdout] test early_intercept::tests::first_positional_true_after_boolean_flag ... ok [INFO] [stdout] test early_intercept::tests::first_positional_true_after_eq_flag ... ok [INFO] [stdout] test early_intercept::tests::first_positional_true_after_multiple_boolean_flags ... ok [INFO] [stdout] test early_intercept::tests::nth_positional_eq_flag ... ok [INFO] [stdout] test early_intercept::tests::nth_positional_out_of_range ... ok [INFO] [stdout] test early_intercept::tests::nth_positional_skips_value_flag ... ok [INFO] [stdout] test early_intercept::tests::nth_positional_with_boolean_flag ... ok [INFO] [stdout] test early_intercept::tests::nth_positional_zeroth ... ok [INFO] [stdout] test error::tests::detect_errors_format_case_insensitive ... ok [INFO] [stdout] test error::tests::detect_errors_format_defaults_to_table ... ok [INFO] [stdout] test error::tests::detect_errors_format_recognizes_json_space_separated ... ok [INFO] [stdout] test error::tests::detect_errors_format_recognizes_json_equals ... 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::print_errors_json_emits_expected_shape ... 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] test cli_args::tests::test_no_json_help_without_format ... ok [INFO] [stdout] test error::tests::test_exit_codes_all_variants ... ok [INFO] [stdout] test error::tests::test_exit_codes_are_distinct ... ok [INFO] [stdout] test error::tests::test_to_json_auth ... ok [INFO] [stdout] test error::tests::test_to_json_discovery ... ok [INFO] [stdout] test error::tests::test_to_json_other ... ok [INFO] [stdout] test formatter::tests::pipeline_emit_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::pipeline_from_matches_defaults_to_json_auto ... ok [INFO] [stdout] test formatter::tests::pipeline_from_matches_reads_explicit_format ... ok [INFO] [stdout] test formatter::tests::pipeline_from_matches_rejects_unknown_format ... ok [INFO] [stdout] test formatter::tests::test_extract_items ... ok [INFO] [stdout] test early_intercept::tests::first_positional_basic ... ok [INFO] [stdout] test formatter::tests::test_format_csv ... 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_flat_scalars ... ok [INFO] [stdout] test formatter::tests::test_format_csv_escape ... ok [INFO] [stdout] test formatter::tests::test_format_csv_flat_scalars_with_escaping ... ok [INFO] [stdout] test formatter::tests::test_format_json ... ok [INFO] [stdout] test formatter::tests::test_format_table_array_of_objects ... ok [INFO] [stdout] test formatter::tests::test_format_table_empty_array ... ok [INFO] [stdout] test formatter::tests::test_format_table_multibyte_exact_boundary ... ok [INFO] [stdout] test formatter::tests::test_format_table_multibyte_truncation_does_not_panic ... ok [INFO] [stdout] test formatter::tests::test_format_table_nested_objects_in_array ... ok [INFO] [stdout] test formatter::tests::test_format_table_nested_object_flattened ... 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 auth::schemes::tests::header_provider_custom_header_name ... 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 error::tests::test_print_error_json_all_variants_no_panic ... ok [INFO] [stdout] test formatter::tests::test_format_value_paginated_table_first_page_has_header ... ok [INFO] [stdout] test formatter::tests::test_format_value_paginated_yaml_has_document_separator ... ok [INFO] [stdout] test formatter::tests::test_format_yaml ... ok [INFO] [stdout] test formatter::tests::test_format_yaml_colon_in_string_is_quoted ... ok [INFO] [stdout] test formatter::tests::test_format_yaml_multiline_still_uses_block ... ok [INFO] [stdout] test formatter::tests::test_output_format_from_str ... 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 formatter::tests::test_output_format_parse_unknown_returns_err ... ok [INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_builder ... ok [INFO] [stdout] test formatter::tests::test_format_yaml_hash_in_string_is_quoted_not_block ... ok [INFO] [stdout] test formatter::tests::test_format_value_paginated_table_continuation_no_header ... ok [INFO] [stdout] test graphql::app::tests::test_graphql_cli_app_endpoint ... ok [INFO] [stdout] test graphql::commands::tests::test_all_commands_always_shown ... ok [INFO] [stdout] test graphql::commands::tests::test_builtin_flag_names_not_duplicated ... ok [INFO] [stdout] test graphql::discovery::tests::test_deserialize_defaults ... ok [INFO] [stdout] test graphql::discovery::tests::test_deserialize_graphql_schema ... ok [INFO] [stdout] test graphql::executor::tests::test_build_graphql_body_injects_cursor_when_after_arg_present ... ok [INFO] [stdout] test graphql::executor::tests::test_build_graphql_body_no_cursor_when_no_after_arg ... ok [INFO] [stdout] test graphql::executor::tests::test_build_graphql_body_reconstructs_nested_input ... ok [INFO] [stdout] test graphql::executor::tests::test_extract_graphql_cursor_returns_cursor_when_has_next ... ok [INFO] [stdout] test graphql::commands::tests::test_root_uses_doc_name ... ok [INFO] [stdout] test graphql::executor::tests::test_execute_method_dry_run_with_http_config ... ok [INFO] [stdout] test graphql::commands::tests::test_method_params_become_flags ... ok [INFO] [stdout] test auth::oauth2::tests::client_credentials_fetches_and_caches_token ... ok [INFO] [stdout] test auth::oauth2::tests::client_credentials_no_creds_when_env_unset ... ok [INFO] [stdout] test graphql::executor::tests::test_extract_graphql_cursor_returns_none_when_no_next ... ok [INFO] [stdout] test graphql::executor::tests::test_handle_json_response_non_json_body ... ok [INFO] [stdout] test graphql::executor::tests::test_parse_graphql_response_errors_only_is_fatal ... ok [INFO] [stdout] test graphql::executor::tests::test_handle_json_response_capture_output ... 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_unwraps_single_field ... ok [INFO] [stdout] test graphql::executor::tests::test_set_nested_value_flat ... ok [INFO] [stdout] test graphql::executor::tests::test_set_nested_value_three_levels ... ok [INFO] [stdout] [ [INFO] [stdout] { [INFO] [stdout] "description": "", [INFO] [stdout] "field": "", [INFO] [stdout] "operation": "organizations.memberships.get-membership", [INFO] [stdout] "operationType": "query" [INFO] [stdout] } [INFO] [stdout] ] [INFO] [stdout] { [INFO] [stdout] "description": "", [INFO] [stdout] "field": "", [INFO] [stdout] "operation": "organizations.memberships.get-membership", [INFO] [stdout] "operationType": "query", [INFO] [stdout] "parameters": { [INFO] [stdout] "properties": {}, [INFO] [stdout] "required": [], [INFO] [stdout] "type": "object" [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] test graphql::executor::tests::test_set_nested_value_two_levels ... ok [INFO] [stdout] test graphql::help::tests::test_render_json_help_nested_sub_resource_listing ... ok [INFO] [stdout] test graphql::help::tests::test_render_json_help_dispatches_nested_path ... ok [INFO] [stdout] test graphql::help::tests::test_render_operation_schema ... ok [INFO] [stdout] test graphql::help::tests::test_render_nested_operation_schema ... ok [INFO] [stdout] test graphql::help::tests::test_render_resource ... ok [INFO] [stdout] test graphql::help::tests::test_render_root_lists_all ... ok [INFO] [stdout] test graphql::parser::tests::test_camel_to_kebab ... 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_nested_input_flattening ... ok [INFO] [stdout] test graphql::parser::tests::test_load_minimal_schema ... ok [INFO] [stdout] test graphql::parser::tests::test_split_query_name ... ok [INFO] [stdout] test hooks::tests::pattern_globstar ... ok [INFO] [stdout] test hooks::tests::pattern_globstar_prefix ... ok [INFO] [stdout] test graphql::executor::tests::test_parse_graphql_response_null_data_with_errors_is_fatal ... ok [INFO] [stdout] test hooks::tests::pattern_globstar_suffix ... ok [INFO] [stdout] test hooks::tests::pattern_single_wildcard ... ok [INFO] [stdout] test hooks::tests::pattern_exact_match ... ok [INFO] [stdout] test hooks::tests::pattern_empty ... ok [INFO] [stdout] test graphql::parser::tests::test_undeclared_scalar_as_arg ... ok [INFO] [stdout] test graphql::executor::tests::test_extract_graphql_cursor_returns_none_when_no_page_info ... ok [INFO] [stdout] test http::tests::env_prefix_uppercases_and_translates_dashes ... ok [INFO] [stdout] test auth::schemes::tests::header_provider_bearer_prefix_named_header ... ok [INFO] [stdout] test http::tests::http_config_rejects_empty_name ... ok [INFO] [stdout] test auth::schemes::tests::header_provider_raw_value_no_prefix ... ok [INFO] [stdout] test http::tests::is_truthy_is_case_insensitive ... ok [INFO] [stdout] test graphql::executor::tests::test_build_http_request_posts_json_body ... ok [INFO] [stdout] test cli_args::tests::test_extract_subcommand_path_format_before_subcommand ... ok [INFO] [stdout] test auth::oauth2::tests::provider_falls_through_when_cached_refresh_fails ... ok [INFO] [stdout] test auth::oauth2::tests::provider_persists_token_to_disk ... ok [INFO] [stdout] test http::tests::resolve_invalid_ca_bundle_contents_errors ... ok [INFO] [stdout] test http::tests::resolve_invalid_ca_bundle_path_errors ... ok [INFO] [stdout] test auth::oauth2::tests::refresh_token_fetches_token ... ok [INFO] [stdout] test auth::oauth2::tests::refresh_token_no_creds_without_refresh_env ... 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::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_var_names_derived ... ok [INFO] [stdout] test logging::tests::test_env_prefix ... ok [INFO] [stdout] test http::tests::resolve_proxy_with_explicit_no_proxy_wins_over_env ... ok [INFO] [stdout] test http::tests::first_env_truthy_returns_active_key_name ... ok [INFO] [stdout] test logging::tests::test_init_logging_with_stderr_filter_no_panic ... ok [INFO] [stdout] test man::tests::generate_man_produces_roff ... ok [INFO] [stdout] test http::tests::parse_secs_handles_numeric_and_invalid ... 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_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_app_context_extra_headers_per_op_param_satisfies_required ... 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_app_context_extra_headers_optional_missing_is_ok ... ok [INFO] [stdout] test openapi::app::tests::test_collect_params_empty_when_no_flags ... ok [INFO] [stdout] test openapi::app::tests::test_collect_params_individual_flags ... ok [INFO] [stdout] test openapi::app::tests::test_collect_params_invalid_json_override ... ok [INFO] [stdout] test openapi::app::tests::test_collect_params_override_wins ... ok [INFO] [stdout] test openapi::app::tests::test_compose_root_after_help_sections_skips_absent ... ok [INFO] [stdout] test openapi::app::tests::test_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_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_security_schemes_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_multi_spec_flat_merge ... ok [INFO] [stdout] test openapi::app::tests::test_multi_spec_collision_error ... ok [INFO] [stderr] 2026-09-03T09:52:14.298995Z DEBUG Applying overlay "Add fern extensions" v1.0 [INFO] [stdout] test openapi::app::tests::test_idempotency_header_env_matches_by_header ... ok [INFO] [stderr] 2026-09-03T09:52:14.299139Z DEBUG Applying overlay "Overlay 1" v1.0 [INFO] [stdout] test openapi::app::tests::test_overlay_adds_fern_extensions ... ok [INFO] [stderr] 2026-09-03T09:52:14.299189Z DEBUG Applying overlay "Overlay 2" v1.0 [INFO] [stdout] test openapi::app::tests::test_multiple_overlays_on_same_spec ... ok [INFO] [stderr] 2026-09-03T09:52:14.299616Z DEBUG Applying overlay "Add description" v1.0 [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_overlay_applied_before_parsing ... ok [INFO] [stdout] test openapi::app::tests::test_per_method_root_url_set_by_openapi_parser ... 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_overrides_primitive_array_replaced ... ok [INFO] [stdout] test openapi::app::tests::test_per_op_header_param_override_is_case_insensitive ... ok [INFO] [stdout] test openapi::app::tests::test_resolve_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_sdk_variable_collides_with_builtin_flags ... ok [INFO] [stdout] test openapi::app::tests::test_resolve_method_sub_resource_not_found ... ok [INFO] [stdout] test openapi::app::tests::test_spec_under_accepts_slash_delimited_path ... 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_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_collides_on_inner_resource ... ok [INFO] [stdout] test openapi::app::tests::test_spec_under_root_url_on_methods ... ok [INFO] [stdout] test openapi::app::tests::test_spec_under_namespaces_resources ... ok [INFO] [stdout] test openapi::app::tests::test_spec_under_with_overrides ... ok [INFO] [stdout] test openapi::app::tests::test_spec_without_overrides_unchanged ... ok [INFO] [stdout] test openapi::app::tests::test_spec_with_overrides_applies_fern_extensions ... ok [INFO] [stdout] test openapi::app::tests::test_specs_under_batch_helper ... ok [INFO] [stdout] test openapi::app::tests::test_specs_under_named_with_overrides ... ok [INFO] [stdout] test openapi::app::tests::test_specs_under_named_creates_nested_namespaces ... ok [INFO] [stdout] test openapi::app::tests::test_substitute_url_vars_replaces_known_and_leaves_unknown ... ok [INFO] [stdout] test openapi::commands::tests::test_all_commands_always_shown ... ok [INFO] [stdout] test openapi::app::tests::test_title_description_override ... ok [INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_no_fern_enum_uses_wire_values ... ok [INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_renders_display_name_and_per_value_help ... ok [INFO] [stdout] test openapi::commands::tests::test_builtin_flag_names_not_duplicated ... ok [INFO] [stdout] test openapi::commands::tests::test_filter_doc_by_audiences_empty_is_noop ... ok [INFO] [stdout] test openapi::commands::tests::test_build_enum_value_parser_accepts_both_display_and_wire ... 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_filter_doc_by_audiences_multiple_unions_matches ... 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_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_group_about_falls_back_to_legacy_label_when_no_metadata ... 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_description_sets_long_about_only ... ok [INFO] [stdout] test openapi::commands::tests::test_group_summary_overrides_about_text ... ok [INFO] [stdout] test openapi::commands::tests::test_group_summary_and_description_populate_both_about_fields ... 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_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::commands::tests::test_root_uses_doc_name ... ok [INFO] [stdout] test openapi::discovery::tests::test_deserialize_defaults ... ok [INFO] [stdout] test openapi::commands::tests::test_variable_bound_param_skipped_from_per_op_flags ... ok [INFO] [stdout] test openapi::discovery::tests::test_deserialize_rest_description ... 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_value_type_helper ... ok [INFO] [stdout] test openapi::executor::test_post_with_body_does_not_add_content_length_zero ... ok [INFO] [stdout] test http::tests::resolve_and_build_client_agree_on_common_env_var_shape ... ok [INFO] [stdout] test openapi::executor::test_bearer_header_sends_bearer_prefix ... 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 http::tests::resolve_appends_env_ca_bundle_after_compile_time_roots ... ok [INFO] [stdout] test openapi::executor::tests::test_binary_body_source_at_path_strips_prefix ... ok [INFO] [stdout] test openapi::executor::tests::test_binary_body_source_dash_is_stdin ... ok [INFO] [stdout] test openapi::executor::tests::test_binary_body_source_double_at_is_literal_at_path ... ok [INFO] [stdout] test openapi::executor::tests::test_body_params_merge_into_body_via_params_json ... ok [INFO] [stdout] test openapi::executor::tests::test_binary_body_source_plain_path ... ok [INFO] [stdout] test openapi::executor::tests::test_build_multipart_body ... ok [INFO] [stdout] test openapi::executor::test_get_does_not_set_content_length_zero ... ok [INFO] [stdout] test openapi::executor::tests::test_build_multipart_body_no_metadata ... ok [INFO] [stdout] test openapi::executor::tests::test_build_multipart_bytes_with_metadata ... ok [INFO] [stdout] test openapi::executor::tests::test_build_multipart_bytes_without_metadata ... ok [INFO] [stdout] test openapi::executor::tests::test_build_multipart_stream_content_length ... ok [INFO] [stdout] test openapi::executor::tests::test_build_multipart_stream_large_file ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_applies_to_doc_base_url ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_applies_to_media_upload_branch ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_applies_to_spec_root_url ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_composes_with_per_operation_server ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_doc_base_url_with_path_component ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_leading_slash_x_server_no_trailing_slash ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_leading_slash_x_server_trailing_slash ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_multi_segment ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_base_path_no_leading_slash_x_server_no_trailing_slash ... 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_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_with_trailing_slash_normalized ... 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_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_override_no_double_slash_with_leading_slash_path ... 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_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_upload_endpoint_substitutes_path_params ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_uses_root_url_and_service_path_when_no_base_url ... ok [INFO] [stdout] test openapi::executor::tests::test_coerce_body_param_value_nested_decodes_json ... ok [INFO] [stdout] test openapi::executor::tests::test_coerce_body_param_value_rejects_bad_input ... ok [INFO] [stdout] test openapi::executor::tests::test_coerce_body_param_value_scalar_types ... ok [INFO] [stdout] test openapi::executor::tests::test_build_url_substitution ... 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_compute_backoff_delay_default_entropy_produces_jitter ... ok [INFO] [stderr] 2026-09-03T09:52:14.445243Z DEBUG Using cached OAuth2 access token for https://example.com/token [INFO] [stdout] test openapi::executor::test_post_without_body_sets_content_length_zero ... 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 auth::oauth2::tests::provider_uses_disk_cache ... 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_default_accept_skipped_when_accept_in_params ... ok [INFO] [stdout] test openapi::executor::tests::test_get_nested_value_top_level_property ... ok [INFO] [stdout] test openapi::executor::tests::test_extract_return_value_unresolved_path_errors ... ok [INFO] [stdout] test openapi::executor::tests::test_handle_json_response_capture_output ... 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_extract_unresolved_errors ... 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] {"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_at_limit ... 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_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_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_header_params_not_in_query_string ... ok [INFO] [stdout] test openapi::executor::tests::test_mime_to_extension_more_types ... ok [INFO] [stdout] test openapi::executor::tests::test_non_object_json_replaces_body_and_drops_per_field_flags ... ok [INFO] [stdout] test openapi::executor::tests::test_page_state_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_offset_nonzero_injects ... ok [INFO] [stdout] test openapi::executor::tests::test_page_state_injection_offset_zero_skipped_on_first_page ... ok [INFO] [stdout] test openapi::executor::tests::test_page_state_injection_uri_path_custom_no_query_param ... ok [INFO] [stdout] test openapi::executor::tests::test_page_state_url_override_only_for_next_url ... ok [INFO] [stdout] test openapi::executor::tests::test_pagination_config_default ... ok [INFO] [stdout] test openapi::executor::tests::test_parse_and_validate_inputs_invalid_body_json ... ok [INFO] [stdout] test openapi::executor::tests::test_parse_and_validate_inputs_invalid_params_json ... ok [INFO] [stdout] test openapi::executor::tests::test_parse_and_validate_inputs_required_query_param_missing ... ok [INFO] [stdout] test openapi::executor::tests::test_parse_retry_after_garbage_returns_none ... ok [INFO] [stdout] test openapi::executor::tests::test_page_state_injection_heuristic_with_token ... 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_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_required_body_field_missing_mentions_flag_json_and_params ... 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_per_op_offset_step_stops_on_short_page ... 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_next_path_absolute_path_keeps_scheme_and_host ... 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_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_step_target_none_returns_none ... 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_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_extension_beats_metadata ... ok [INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_strips_control_chars ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object_array_uses_repeated_keys ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object_nested ... ok [INFO] [stdout] test openapi::executor::tests::test_resolve_upload_mime_metadata_fallback_for_unknown_extension ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_default_style_is_form ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_form_explode_array ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_deep_object_non_object_value ... ok [INFO] [stdout] test openapi::executor::tests::test_serialize_form_no_explode_array ... 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_build_http_request_unsupported_method ... 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_blank_line_without_buffered_data_dispatches_nothing ... 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_strips_data_prefix_and_one_space ... ok [INFO] [stdout] test openapi::executor::tests::test_sse_decoder_skips_comments_and_unknown_fields ... ok [INFO] [stdout] test openapi::executor::tests::test_header_params_sent_as_http_headers ... ok [INFO] [stdout] test openapi::executor::tests::test_validate_body_deep_validation ... ok [INFO] [stdout] test openapi::executor::tests::test_validate_body_open_schema_allows_any_properties ... ok [INFO] [stdout] test openapi::executor::tests::test_validate_body_unknown_field ... ok [INFO] [stdout] test openapi::executor::tests::test_validate_body_valid ... ok [INFO] [stdout] { [INFO] [stdout] "description": "", [INFO] [stdout] "httpMethod": "GET", [INFO] [stdout] "operation": "organizations.memberships.get-membership", [INFO] [stdout] "parameters": { [INFO] [stdout] "properties": {}, [INFO] [stdout] "required": [], [INFO] [stdout] "type": "object" [INFO] [stdout] }, [INFO] [stdout] "path": "/orgs/{id}/memberships/{mid}" [INFO] [stdout] } [INFO] [stdout] test openapi::executor::tests::test_validate_value_schema_not_found ... ok [INFO] [stdout] test openapi::executor::tests::test_value_to_query_string_object_serializes ... ok [INFO] [stdout] test openapi::help::tests::test_render_json_help_dispatches_nested_path ... ok [INFO] [stdout] test openapi::executor::tests::test_value_to_query_string_null ... ok [INFO] [stdout] [ [INFO] [stdout] { [INFO] [stdout] "description": "", [INFO] [stdout] "httpMethod": "GET", [INFO] [stdout] "operation": "organizations.memberships.get-membership", [INFO] [stdout] "path": "/organizations/{id}/memberships/{mid}" [INFO] [stdout] } [INFO] [stdout] ] [INFO] [stdout] test openapi::executor::tests::test_explicit_anonymous_endpoint_skips_auth ... ok [INFO] [stdout] test openapi::help::tests::test_render_nested_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_operation_schema ... ok [INFO] [stdout] test openapi::help::tests::test_root_listing_stays_bare_array_when_no_sdk_variables ... ok [INFO] [stdout] test openapi::help::tests::test_root_listing_surfaces_sdk_variables_when_declared ... ok [INFO] [stderr] 2026-09-03T09:52:14.542637Z DEBUG Applying overlay "Overlay 1" v1.0 [INFO] [stderr] 2026-09-03T09:52:14.542692Z DEBUG Applying overlay "Overlay 2" v1.0 [INFO] [stdout] test openapi::help::tests::test_render_json_help_nested_sub_resource_listing ... ok [INFO] [stdout] test openapi::overlay::tests::test_apply_overlays_to_spec_no_overlays ... ok [INFO] [stdout] test openapi::overlay::tests::test_apply_multiple_overlays ... 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_string ... ok [INFO] [stdout] test openapi::overlay::tests::test_array_append_object ... 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_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] [stderr] 2026-09-03T09:52:14.545598Z DEBUG Applying overlay "Add description" v1.0 [INFO] [stdout] test openapi::overlay::tests::test_deep_merge_preserves_existing ... 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_deep_merge_arrays_of_objects ... ok [INFO] [stdout] test openapi::overlay::tests::test_apply_overlays_to_spec_roundtrip ... 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_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_merge_array_element_by_filter ... ok [INFO] [stdout] test openapi::overlay::tests::test_fern_array_edge_cases_append_and_replace ... 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_does_not_mutate_input ... ok [INFO] [stdout] test openapi::overlay::tests::test_normalized_path_to_segments_direct ... ok [INFO] [stdout] test openapi::overlay::tests::test_fern_zero_match_continues_processing ... 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_root_target ... ok [INFO] [stdout] test openapi::overlay::tests::test_overlay_update_nested_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_overlay_update_simple_path ... ok [INFO] [stdout] test openapi::overlay::tests::test_overlay_remove_property ... 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_missing_version ... ok [INFO] [stdout] test openapi::overlay::tests::test_validate_overlay_no_actions ... ok [INFO] [stdout] test openapi::overlay::tests::test_merge_at_path_array_append ... ok [INFO] [stdout] test openapi::overlay::tests::test_overlay_sequential_actions ... ok [INFO] [stdout] test openapi::overlay::tests::test_validate_overlay_action_no_update_no_remove ... ok [INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_resolves_anchors ... ok [INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_strips_custom_tags ... ok [INFO] [stderr] 2026-09-03T09:52:14.554156Z DEBUG Applying overlay "noop" v1.0.0 [INFO] [stdout] test openapi::parser::tests::test_all_objects_servers_array_is_all_objects ... ok [INFO] [stderr] 2026-09-03T09:52:14.554382Z DEBUG Applying overlay "add-description" v1.0.0 [INFO] [stdout] test openapi::parser::tests::test_all_objects_tags_array_is_primitives ... ok [INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_with_overlay_preserves_structure ... ok [INFO] [stdout] test openapi::parser::tests::test_allow_null_keys_covers_all_fern_cli_keys ... ok [INFO] [stdout] test openapi::parser::tests::test_binary_request_body_defaults_to_body_when_not_binary_format ... ok [INFO] [stdout] test openapi::overlay::tests::test_yaml_roundtrip_strips_comments ... ok [INFO] [stdout] test openapi::parser::tests::test_all_objects_empty_arrays_vacuous_truth ... ok [INFO] [stdout] test openapi::parser::tests::test_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_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_at_parent_json_schema_level ... ok [INFO] [stdout] test openapi::parser::tests::test_composition_one_of_captures_branches ... ok [INFO] [stdout] test openapi::parser::tests::test_composition_nullable_via_oneof_with_null_type ... 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_numeric_default_keeps_wire_type ... ok [INFO] [stdout] test openapi::parser::tests::test_const_numeric_value ... ok [INFO] [stdout] test openapi::parser::tests::test_deep_merge_adds_new_keys ... ok [INFO] [stdout] test openapi::parser::tests::test_const_lowers_to_single_element_enum ... ok [INFO] [stdout] test openapi::parser::tests::test_const_lowered_through_flatten_body_params_via_ref ... ok [INFO] [stdout] test openapi::parser::tests::test_bounds_31_numeric_form ... ok [INFO] [stdout] test openapi::parser::tests::test_deep_merge_enum_array_replaced ... ok [INFO] [stdout] test openapi::parser::tests::test_deep_merge_empty_override_is_identity ... ok [INFO] [stdout] test openapi::parser::tests::test_composition_any_of_and_all_of ... 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_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_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_multi_operation_fern_extensions ... 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_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_override_longer ... 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_override_changes_group_name ... ok [INFO] [stdout] test openapi::parser::tests::test_deep_merge_override_adds_new_schema ... ok [INFO] [stdout] test openapi::parser::tests::test_deep_merge_null_deletes_key ... ok [INFO] [stdout] test openapi::parser::tests::test_deep_merge_override_adds_schema_property ... 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_override_adds_fern_extensions_to_spec ... 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_removes_pre_existing_nulls_outside_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_scalars_override_wins ... ok [INFO] [stdout] test openapi::parser::tests::test_examples_31_list ... 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_deep_merge_primitive_arrays_replaced_wholesale ... ok [INFO] [stdout] test openapi::executor::tests::test_build_http_request_put_patch_delete ... ok [INFO] [stdout] test openapi::parser::tests::test_default_value_absent_when_no_default_anywhere ... ok [INFO] [stdout] test openapi::parser::tests::test_examples_lax_30_map_form ... ok [INFO] [stdout] test openapi::parser::tests::test_global_headers_absent_yields_empty_vec ... ok [INFO] [stdout] test openapi::parser::tests::test_explicit_empty_operation_security_means_anonymous ... 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_preserves_declaration_order ... ok [INFO] [stdout] test openapi::parser::tests::test_global_headers_optional_true_lowers_to_optional ... ok [INFO] [stdout] test openapi::parser::tests::test_group_name_accepts_scalar_string ... ok [INFO] [stdout] test openapi::parser::tests::test_global_headers_x_fern_default_overrides_default ... ok [INFO] [stdout] test openapi::parser::tests::test_idempotency_headers_parsed_from_spec_root ... 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_idempotent_op_surfaces_header_param_non_idempotent_does_not ... ok [INFO] [stdout] test openapi::parser::tests::test_inline_body_does_not_clobber_query_params_with_same_name ... ok [INFO] [stdout] test openapi::parser::tests::test_load_openapi_spec_with_root_retries ... ok [INFO] [stdout] test openapi::parser::tests::test_method_name_skips_strip_when_explicit_group_name ... ok [INFO] [stdout] test openapi::parser::tests::test_inline_request_body_produces_per_field_body_params ... ok [INFO] [stdout] test openapi::parser::tests::test_method_name_keeps_operation_id_when_no_tag_overlap ... ok [INFO] [stdout] test openapi::parser::tests::test_method_name_strips_tag_prefix_with_tag_grouping ... ok [INFO] [stdout] test openapi::parser::tests::test_named_server_empty_v2_still_falls_back_to_v1 ... ok [INFO] [stdout] test openapi::parser::tests::test_named_server_empty_v1_falls_through_to_v2 ... ok [INFO] [stdout] test openapi::parser::tests::test_named_server_v1_wins_when_both_present ... ok [INFO] [stdout] test openapi::parser::tests::test_named_server_v1_alias_x_name_is_recognized ... ok [INFO] [stdout] test openapi::parser::tests::test_nested_group_names ... ok [INFO] [stdout] test openapi::parser::tests::test_named_server_v2_spelling_is_parsed ... ok [INFO] [stdout] test openapi::parser::tests::test_no_security_anywhere_leaves_requirements_none ... ok [INFO] [stdout] test openapi::parser::tests::test_no_named_servers_when_extensions_absent ... 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_nullable_30_explicit_field ... ok [INFO] [stdout] test openapi::parser::tests::test_null_preserved_under_x_fern_examples ... 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_only_null ... 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_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_alpha ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_availability_alias_ga ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_availability_deprecated_value ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_availability_beta ... ok [INFO] [stdout] test openapi::parser::tests::test_global_headers_default_accepts_scalar_types ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_availability_legacy ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_availability_generally_available_canonical ... 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_can_reference_undeclared_scheme ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_availability_stable_is_rejected ... 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_absent_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_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_oauth2_security_scheme_as_oauth2 ... ok [INFO] [stdout] test openapi::parser::tests::test_parses_http_bearer_security_scheme ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_return_value_whitespace_trimmed ... ok [INFO] [stdout] test openapi::parser::tests::test_per_operation_servers_override_is_captured ... ok [INFO] [stdout] test openapi::parser::tests::test_per_operation_server_override ... ok [INFO] [stdout] test openapi::parser::tests::test_plain_path_param_without_variable_reference ... 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_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_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_inherits_root_when_op_is_true ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_non_object_form_errors ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_missing_extension_returns_none ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_discrimination_order_matches_upstream ... 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_uri_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_requires_both_fields ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_absent_returns_none ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_disabled_non_bool_errors ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_factor_below_one_errors ... ok [INFO] [stderr] 2026-09-03T09:52:14.592786Z  WARN x-fern-sdk-variable 'tenant' on non-path parameter 'tenant' is ignored [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_invalid_jitter_out_of_range_errors ... ok [INFO] [stderr] 2026-09-03T09:52:14.593064Z  WARN x-fern-sdk-variables entry 'count' has unsupported type 'integer'; only string variables are supported today (skipping) [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_invalid_max_negative_errors ... 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_reenables_after_root_disabled ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_true_no_root_uses_defaults ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_root_disabled_inherited_by_default ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_upstream_disabled_object ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_retries_op_true_inherits_root_object ... ok [INFO] [stdout] test openapi::parser::tests::test_schema_default_via_ref_lowers_as_documentation_only ... ok [INFO] [stdout] test openapi::parser::tests::test_sdk_variable_marks_path_parameter ... ok [INFO] [stdout] test openapi::parser::tests::test_sdk_variables_absent_yields_empty_vec ... ok [INFO] [stdout] test openapi::parser::tests::test_sdk_variable_on_non_path_parameter_is_ignored ... 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_operation_inherits_spec_level_security ... ok [INFO] [stdout] test openapi::parser::tests::test_spec_level_empty_security_inherited_as_anonymous ... ok [INFO] [stdout] test openapi::parser::tests::test_operation_openapi_deprecated_true_falls_back_to_deprecated ... ok [INFO] [stderr] 2026-09-03T09:52:14.595257Z DEBUG Spec declares 1 webhook(s); webhooks are inbound and not lowered to CLI subcommands. [INFO] [stdout] test openapi::parser::tests::test_spec_declared_param_wins_over_injection ... 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_standard_openapi_default_lowers_as_documentation_only ... ok [INFO] [stdout] test openapi::parser::tests::test_streaming_and_pagination_mutually_exclusive ... ok [INFO] [stdout] test openapi::parser::tests::test_streaming_boolean_false_is_none ... ok [INFO] [stdout] test openapi::parser::tests::test_streaming_boolean_true_is_ndjson ... ok [INFO] [stdout] test openapi::parser::tests::test_streaming_invalid_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_invalid_format_errors ... 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_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_streaming_object_format_text ... 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_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_missing_yields_empty_vec ... 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_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_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_full_override_round_trips_per_value_fields ... ok [INFO] [stdout] test openapi::parser::tests::test_resolve_pagination_offset_form_with_optional_fields ... 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_default_alone_lowers_as_client_default ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_absent_yields_empty_map ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_description_only_keeps_summary_none ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_keys_are_kebab_cased ... 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_partial_override_skips_missing_entries ... ok [INFO] [stderr] 2026-09-03T09:52:14.601660Z DEBUG GET /users has a parameter marked with x-fern-ignore. Skipping. [INFO] [stderr] 2026-09-03T09:52:14.601864Z DEBUG GET /users has a parameter marked with x-fern-ignore. Skipping. [INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_summary_only_keeps_description_none ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_tolerates_unknown_fields ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_at_parameter_ref_site_drops_parameter ... ok [INFO] [stderr] 2026-09-03T09:52:14.602632Z DEBUG GET /users has a parameter marked with x-fern-ignore. Skipping. [INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_at_component_drops_parameter_via_any_ref ... ok [INFO] [stderr] 2026-09-03T09:52:14.603646Z DEBUG GET /parent/child is marked with x-fern-ignore. Skipping. [INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_default_false_keeps_operation_and_parameter ... ok [INFO] [stderr] 2026-09-03T09:52:14.603812Z DEBUG GET /users is marked with x-fern-ignore. Skipping. [INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_drops_parameter ... 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_prunes_empty_nested_group ... ok [INFO] [stderr] 2026-09-03T09:52:14.607153Z DEBUG GET /users is marked with x-fern-ignore. Skipping. [INFO] [stdout] test openapi::parser::tests::test_x_fern_groups_multiple_groups_parse_independently ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_drops_operation ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_absent_leaves_display_name_none ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_at_ref_site_wins_over_component ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_falls_back_to_component_when_ref_site_absent ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_ignore_mixed_path_keeps_non_ignored_ops ... ok [INFO] [stdout] test openapi::skill_emitter::tests::empty_resources_produces_only_shared ... ok [INFO] [stdout] test openapi::parser::tests::test_x_fern_parameter_name_inline_sets_display_name ... ok [INFO] [stdout] test openapi::skill_emitter::tests::example_placeholder_format_driven ... ok [INFO] [stdout] test openapi::skill_emitter::tests::example_placeholder_missing_fields ... ok [INFO] [stdout] test openapi::skill_emitter::tests::example_placeholder_type_driven ... 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::deterministic_output_across_calls ... ok [INFO] [stdout] test openapi::skill_emitter::tests::frontmatter_description_escapes_quotes ... 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::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 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 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 text::tests::strips_markdown_links ... ok [INFO] [stdout] test text::tests::strips_markdown_links_and_truncates ... ok [INFO] [stdout] test text::tests::test_strip_markdown_links ... ok [INFO] [stdout] test text::tests::test_to_kebab_flag ... ok [INFO] [stdout] test text::tests::test_to_screaming_snake ... ok [INFO] [stdout] test text::tests::truncate_at_sentence_boundary ... ok [INFO] [stdout] test text::tests::truncate_at_word_boundary ... ok [INFO] [stdout] test text::tests::zero_max_chars ... ok [INFO] [stdout] test validate::tests::test_dir_path_cwd ... ok [INFO] [stdout] test validate::tests::test_dir_path_rejects_absolute ... ok [INFO] [stdout] test validate::tests::test_dir_path_rejects_traversal ... ok [INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_escapes_reserved_chars ... ok [INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_hierarchical_name ... ok [INFO] [stdout] test validate::tests::test_encode_path_preserving_slashes_spaces_and_unicode ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_already_encoded ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_email ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_fragment_injection ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_hyphenated_id ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_path_traversal ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_plain_id ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_query_injection ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_spaces ... ok [INFO] [stdout] test validate::tests::test_file_path_rejects_control_chars ... ok [INFO] [stdout] test validate::tests::test_encode_path_segment_unicode ... 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 http::tests::resolve_picks_up_insecure_flag ... ok [INFO] [stdout] test http::tests::resolve_clean_env_yields_no_overrides ... ok [INFO] [stdout] test validate::tests::test_output_dir_rejects_unicode_line_separator ... ok [INFO] [stdout] test validate::tests::test_output_dir_rejects_traversal ... ok [INFO] [stdout] test validate::tests::test_output_dir_rejects_zero_width_chars ... ok [INFO] [stdout] test validate::tests::test_reject_control_chars_bom ... ok [INFO] [stdout] test validate::tests::test_reject_control_chars_clean ... ok [INFO] [stdout] test validate::tests::test_reject_control_chars_del ... ok [INFO] [stdout] test validate::tests::test_reject_control_chars_newline ... ok [INFO] [stdout] test validate::tests::test_reject_control_chars_normal_unicode_ok ... ok [INFO] [stdout] test validate::tests::test_reject_control_chars_paragraph_separator ... ok [INFO] [stdout] test 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 http::tests::resolve_proxy_falls_back_to_global_no_proxy ... 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_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_traversal ... 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 websocket::auth::tests::bearer_helper_surfaces_missing_credential_loudly ... ok [INFO] [stdout] test websocket::auth::tests::first_message_is_noop_at_handshake ... ok [INFO] [stdout] test websocket::auth::tests::first_message_merges_field_into_json_object ... ok [INFO] [stdout] test websocket::auth::tests::first_message_missing_credential_errors ... ok [INFO] [stdout] test websocket::auth::tests::first_message_rejects_non_object ... ok [INFO] [stdout] test websocket::auth::tests::header_adds_to_header_list_does_not_touch_url ... ok [INFO] [stdout] test websocket::auth::tests::header_rejects_ws_protocol_reserved_names ... ok [INFO] [stdout] test websocket::auth::tests::headers_variant_emits_all_pairs_in_order ... ok [INFO] [stdout] test validate::tests::test_validate_resource_name_homoglyphs_pass_through ... ok [INFO] [stdout] test websocket::auth::tests::headers_variant_missing_credential_errors ... ok [INFO] [stdout] test websocket::auth::tests::headers_variant_rejects_reserved_names_per_pair ... ok [INFO] [stdout] test websocket::auth::tests::missing_credential_for_query_param_surfaces_as_auth_error ... ok [INFO] [stdout] test websocket::auth::tests::none_is_noop ... ok [INFO] [stdout] test websocket::auth::tests::missing_credential_for_header_surfaces_as_auth_error ... 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::truncate_respects_char_boundary ... ok [INFO] [stdout] test websocket::error::tests::missing_close_frame_is_abnormal_err ... ok [INFO] [stdout] test logging::tests::test_init_logging_default_no_panic ... ok [INFO] [stdout] test http::tests::resolve_timeouts_parsed_as_seconds ... ok [INFO] [stderr] 2026-09-03T09:52:15.359649Z DEBUG Attempting cached refresh token grant for http://127.0.0.1:39477/token [INFO] [stdout] test auth::oauth2::tests::provider_uses_cached_refresh_token ... 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 validate::tests::test_output_dir_non_existing_subdir ... ok [INFO] [stdout] test validate::tests::test_output_dir_rejects_symlink_traversal ... ok [INFO] [stdout] test http::tests::resolve_preserves_compile_time_pem_bytes_unchanged ... ok [INFO] [stdout] test validate::tests::test_output_dir_relative_subdir ... ok [INFO] [stdout] test http::tests::first_env_truthy_rejects_falsy ... ok [INFO] [stdout] test logging::tests::test_init_logging_with_file_dir_no_panic ... ok [INFO] [stdout] test http::tests::is_first_emission_dedupes_by_binary_and_kind ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1038 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.02s [INFO] [stdout] [INFO] [stderr] Running unittests cli/petstore-api/main.rs (/opt/rustwide/target/release/deps/petstore_api-ee0180de1632c34c) [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 15 tests [INFO] [stdout] test src/app.rs - app::CliApp (line 79) ... ignored [INFO] [stdout] test src/app.rs - app::CliApp::auth (line 157) ... ignored [INFO] [stdout] test src/app.rs - app::CliApp::command (line 179) ... ignored [INFO] [stdout] test src/app.rs - app::CliApp::command_under (line 203) ... 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 583) ... ignored [INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::auth_scheme_env (line 921) ... ignored [INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::extra_root_cert (line 1043) ... ignored [INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::idempotency_header_env (line 612) ... ignored [INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::overlay (line 814) ... ignored [INFO] [stdout] test src/openapi/app.rs - openapi::app::CliApp::specs_under_named_with_overrides (line 771) ... ignored [INFO] [stdout] test src/openapi/binding.rs - openapi::binding::OpenApiBinding (line 25) ... ignored [INFO] [stdout] test src/openapi/binding.rs - openapi::binding::OpenApiBinding::handler (line 254) ... ignored [INFO] [stdout] test src/websocket/client.rs - websocket::client::AutoResponder (line 43) ... 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; 14 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d", kill_on_drop: false }` [INFO] [stdout] 33860ced12c5408a4be2567d6bf96b75406377139cd4ab6b861307a8d901b32d