[INFO] cloning repository https://github.com/randomparity/bzr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/randomparity/bzr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandomparity%2Fbzr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandomparity%2Fbzr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 10bc4983cc5f1cffbbaed4eb02b8665fb1a72583
[INFO] testing randomparity/bzr against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandomparity%2Fbzr" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/randomparity/bzr
[INFO] finished tweaking git repo https://github.com/randomparity/bzr
[INFO] tweaked toml for git repo https://github.com/randomparity/bzr written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/randomparity/bzr on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/randomparity/bzr already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap_mangen v0.3.0
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded windows-native-keyring-store v1.1.0
[INFO] [stderr]   Downloaded keyring-core v1.0.0
[INFO] [stderr]   Downloaded testing_table v0.3.0
[INFO] [stderr]   Downloaded papergrid v0.18.0
[INFO] [stderr]   Downloaded tabled v0.21.0
[INFO] [stderr]   Downloaded rpassword v7.5.4
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.42
[INFO] [stderr]   Downloaded rcgen v0.14.8
[INFO] [stderr]   Downloaded yasna v0.6.0
[INFO] [stderr]   Downloaded zerocopy v0.8.42
[INFO] [stderr]   Downloaded quick-xml v0.40.1
[INFO] [stderr]   Downloaded dbus-secret-service-keyring-store v1.0.0
[INFO] [stderr]   Downloaded dbus v0.9.10
[INFO] [stderr]   Downloaded clap_complete v4.6.5
[INFO] [stderr]   Downloaded apple-native-keyring-store v1.0.0
[INFO] [stderr]   Downloaded openssl-src v300.6.0+3.6.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7
[INFO] running `Command { std: "docker" "start" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", 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" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", 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" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling papergrid v0.18.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling keyring-core v1.0.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling dbus v0.9.10
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling rtoolbox v0.0.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling bzr v0.7.1-dev (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling open v5.3.5
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling rpassword v7.5.4
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling tabled v0.21.0
[INFO] [stderr]    Compiling quick-xml v0.40.1
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling dbus-secret-service v4.1.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling dbus-secret-service-keyring-store v1.0.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.5
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 15s
[INFO] running `Command { std: "docker" "inspect" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", 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" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling bzr v0.7.1-dev (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling mutants v0.0.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling yasna v0.6.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rcgen v0.14.8
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[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 hyper-rustls v0.27.7
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 29s
[INFO] running `Command { std: "docker" "inspect" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", 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" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bzr-32914a2fe61a3011)
[INFO] [stdout] 
[INFO] [stdout] running 2415 tests
[INFO] [stdout] test bugzilla_auth::tests::redact_api_key_handles_marker_at_string_start ... ok
[INFO] [stdout] test bugzilla_auth::tests::redact_api_key_preserves_subsequent_query_params ... ok
[INFO] [stdout] test bugzilla_auth::tests::redact_api_key_preserves_message_without_key ... ok
[INFO] [stdout] test bugzilla_auth::tests::redact_api_key_redacts_simple_query_param ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_list_rejects_non_numeric_bug_id ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_bug_flag_is_repeatable ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_mixes_bug_and_positional_ids ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_explicit_out_dir ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_rejects_out_with_out_dir ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_rejects_out_with_bug ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_upload_binds_positionals_with_default_flags ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_update_binds_id_with_unchanged_toggles ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_single_id_defaults_out_dir ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_upload_no_private_overrides_private ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_download_out_to_stdout ... ok
[INFO] [stdout] test cli::bug::clone::tests::clone_rejects_cc_override_with_no_cc ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_upload_comment_private_with_comment ... ok
[INFO] [stdout] test cli::bug::clone::tests::clone_rejects_keywords_override_with_no_keywords ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_update_requires_id ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_upload_collects_metadata_and_repeated_flag ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_update_obsolete_and_flag ... ok
[INFO] [stdout] test cli::bug::clone::tests::clone_requires_source_id ... ok
[INFO] [stdout] test cli::bug::clone::tests::parse_clone_field_overrides ... ok
[INFO] [stdout] test cli::bug::create::tests::compound_flags_conflict_with_from_json ... ok
[INFO] [stdout] test cli::bug::create::tests::create_rejects_description_with_description_file ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_list_binds_numeric_bug_id ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_upload_patch_then_no_patch_last_wins ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_view_binds_attachment_id ... ok
[INFO] [stdout] test cli::bug::create::tests::parse_create_blocks_and_depends_on_comma_lists ... ok
[INFO] [stdout] test cli::bug::create::tests::create_rejects_from_json_with_template ... ok
[INFO] [stdout] test cli::bug::create::tests::parse_compound_flags_collect_into_vecs ... ok
[INFO] [stdout] test cli::bug::create::tests::create_rejects_non_numeric_blocks ... ok
[INFO] [stdout] test cli::attachment::tests::parse_attachment_upload_rejects_comment_with_comment_file ... ok
[INFO] [stdout] test cli::bug::clone::tests::parse_clone_minimal_binds_source_id ... ok
[INFO] [stdout] test cli::bug::clone::tests::parse_clone_link_and_skip_switches ... ok
[INFO] [stdout] test cli::bug::create::tests::parse_create_core_fields ... ok
[INFO] [stdout] test cli::bug::create::tests::parse_create_from_json_stdin ... ok
[INFO] [stdout] test cli::bug::history::tests::history_rejects_non_numeric_id ... ok
[INFO] [stdout] test cli::bug::clone::tests::parse_clone_create_field_overrides ... ok
[INFO] [stdout] test cli::bug::create::tests::with_comment_conflicts_with_comment_file ... ok
[INFO] [stdout] test cli::bug::history::tests::parse_history_id_only ... ok
[INFO] [stdout] test cli::bug::create::tests::parse_create_field_args_metadata ... ok
[INFO] [stdout] test cli::bug::links::tests::links_relation_invalid_rejected ... ok
[INFO] [stdout] test cli::bug::list::tests::list_rejects_invalid_order ... ok
[INFO] [stdout] test cli::bug::list::tests::list_rejects_offset_with_paginate ... ok
[INFO] [stdout] test cli::bug::history::tests::history_requires_id ... ok
[INFO] [stdout] test cli::bug::create::tests::parse_create_template ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_bzl_parity_field_filters ... ok
[INFO] [stdout] test cli::bug::links::tests::links_depth_requires_recursive ... ok
[INFO] [stdout] test cli::bug::links::tests::links_parses_minimal ... ok
[INFO] [stdout] test cli::bug::list::tests::list_rejects_non_numeric_id ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_field_selection_and_dates ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_id_alias_summary_count ... ok
[INFO] [stdout] test cli::bug::history::tests::parse_history_with_since ... ok
[INFO] [stdout] test cli::bug::my::tests::my_rejects_all_with_cc ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_negated_filter_value_is_passed_through ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_defaults ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_paginate ... ok
[INFO] [stdout] test cli::bug::links::tests::links_depth_out_of_range_rejected ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_sort_and_offset ... ok
[INFO] [stdout] test cli::bug::search::tests::parse_search_count_and_fields ... ok
[INFO] [stdout] test cli::bug::my::tests::parse_my_shared_filters_and_dates ... ok
[INFO] [stdout] test cli::bug::my::tests::parse_my_defaults_to_assigned ... ok
[INFO] [stdout] test cli::bug::my::tests::parse_my_created_view ... ok
[INFO] [stdout] test cli::bug::my::tests::my_rejects_all_with_created ... ok
[INFO] [stdout] test cli::bug::search::tests::parse_search_quicksearch_query ... ok
[INFO] [stdout] test cli::bug::my::tests::parse_my_all_view_with_limit ... ok
[INFO] [stdout] test cli::bug::search::tests::parse_search_save_as_without_value_defaults_to_empty ... ok
[INFO] [stdout] test cli::bug::tests::bug_filter_args_merge_saved_query_returns_true_when_product_set ... ok
[INFO] [stdout] test cli::bug::tests::bug_actor_filter_args_merge_saved_query_returns_false_when_all_empty ... ok
[INFO] [stdout] test cli::bug::tests::bug_actor_filter_args_merge_saved_query_returns_true_when_assignee_set ... ok
[INFO] [stdout] test cli::bug::search::tests::parse_search_from_url_with_save_as_named ... ok
[INFO] [stdout] test cli::bug::search::tests::search_save_as_requires_from_url ... ok
[INFO] [stdout] test cli::bug::tests::bug_actor_filter_args_merge_saved_query_returns_true_when_creator_set ... ok
[INFO] [stdout] test cli::bug::search::tests::parse_search_from_url ... ok
[INFO] [stdout] test cli::bug::tests::bug_rejects_unknown_subcommand ... ok
[INFO] [stdout] test cli::bug::tests::dry_run_global_flag_applies_to_bug_mutation ... ok
[INFO] [stdout] test cli::bug::tests::global_flag_accepted_after_bug_action ... ok
[INFO] [stdout] test cli::bug::tests::yes_global_flag_long_form_applies_to_batch_update ... ok
[INFO] [stdout] test cli::bug::tests::bug_requires_a_subcommand ... ok
[INFO] [stdout] test cli::bug::tests::yes_global_flag_short_form_applies_to_batch_update ... ok
[INFO] [stdout] test cli::bug::search::tests::search_rejects_query_with_from_url ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_comment_private_and_flag ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_see_also_repeats_without_comma_split ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_multiple_ids_and_scalar_fields ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_from_json_without_positional_ids ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_list_add_remove_comma_lists ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_time_tracking_and_resets ... ok
[INFO] [stdout] test cli::bug::list::tests::parse_list_core_and_actor_filters ... ok
[INFO] [stdout] test cli::bug::update::tests::update_rejects_resolution_with_dupe_of ... ok
[INFO] [stdout] test cli::bug::update::tests::update_rejects_status_with_dupe_of ... ok
[INFO] [stdout] test cli::bug::update::tests::update_rejects_comment_with_comment_file ... ok
[INFO] [stdout] test bugzilla_auth::tests::apply_auth_to_request_without_auth_leaves_request_unchanged ... ok
[INFO] [stdout] test bugzilla_auth::tests::apply_auth_query_param_method_adds_query ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_dup_binds_id_and_target ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_resolve_defaults_to_fixed ... ok
[INFO] [stdout] test cli::bug::verbs::tests::dup_requires_both_id_and_target ... ok
[INFO] [stdout] test cli::bug::update::tests::update_requires_id_without_from_json ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_resolve_with_as_and_comment_and_batch ... ok
[INFO] [stdout] test cli::bug::update::tests::update_rejects_non_numeric_id ... ok
[INFO] [stdout] test bugzilla_auth::tests::apply_auth_to_request_adds_header_auth ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_close_status_override_and_resolution ... ok
[INFO] [stdout] test bugzilla_auth::tests::apply_auth_header_method_rejects_invalid_value ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_reopen_status_override ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_reopen_default_status_confirmed ... ok
[INFO] [stdout] test bugzilla_auth::tests::apply_auth_header_method_adds_header ... ok
[INFO] [stdout] test cli::bug::verbs::tests::resolve_requires_at_least_one_id ... ok
[INFO] [stdout] test cli::bug::view::tests::parse_view_mixed_ids_and_aliases ... ok
[INFO] [stdout] test cli::bug::view::tests::parse_view_exclude_fields ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_close_default_status_verified ... ok
[INFO] [stdout] test cli::bug::my::tests::parse_my_cc_view ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_expect_unchanged_since ... ok
[INFO] [stdout] test cli::bug::view::tests::view_requires_at_least_one_id ... ok
[INFO] [stdout] test cli::bug::update::tests::parse_update_dupe_of ... ok
[INFO] [stdout] test cli::bug::verbs::tests::parse_verb_expect_unchanged_since ... ok
[INFO] [stdout] test cli::classification::tests::parse_classification_list ... ok
[INFO] [stdout] test cli::bug::view::tests::parse_view_permissive_with_fields ... ok
[INFO] [stdout] test cli::bug::verbs::tests::resolve_rejects_comment_with_comment_file ... ok
[INFO] [stdout] test cli::bug::view::tests::parse_view_single_id_defaults ... ok
[INFO] [stdout] test cli::classification::tests::parse_classification_view_accepts_numeric_id_as_string ... ok
[INFO] [stdout] test cli::classification::tests::parse_classification_view_requires_name ... ok
[INFO] [stdout] test cli::classification::tests::parse_classification_view_binds_name ... ok
[INFO] [stdout] test cli::bug::view::tests::parse_view_web_flag ... ok
[INFO] [stdout] test cli::classification::tests::parse_classification_rejects_unknown_action ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_add_rejects_body_with_body_file ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_list_rejects_non_numeric_bug_id ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_search_tags_requires_query ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_list_requires_bug_id ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_list_minimal_defaults_since_none ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_add_binds_body_file ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_add_minimal_defaults ... ok
[INFO] [stdout] test bugzilla_auth::tests::apply_auth_to_request_adds_query_param_auth ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_tag_defaults_empty_vecs ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_search_tags_binds_query ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_add_binds_body_and_private ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_list_binds_since ... ok
[INFO] [stdout] test cli::component::tests::parse_component_create_minimal_binds_all_required ... ok
[INFO] [stdout] test cli::classification::tests::parse_classification_list_rejects_positional ... ok
[INFO] [stdout] test cli::config::tests::parse_config_rename_server_requires_two_positionals ... ok
[INFO] [stdout] test cli::comment::tests::parse_comment_tag_collects_repeated_add_and_remove ... ok
[INFO] [stdout] test cli::config::tests::parse_config_migrate_to_keyring_defaults_yes_false ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_default_binds_name ... ok
[INFO] [stdout] test cli::component::tests::parse_component_update_binds_id_positional ... ok
[INFO] [stdout] test cli::config::tests::parse_config_remove_server_binds_name ... ok
[INFO] [stdout] test cli::component::tests::parse_component_create_from_json_relaxes_required_fields ... ok
[INFO] [stdout] test cli::component::tests::parse_component_list_requires_product ... ok
[INFO] [stdout] test cli::config::tests::parse_config_migrate_to_keyring_requires_yes_flag_mapping ... ok
[INFO] [stdout] test cli::component::tests::parse_component_create_requires_default_assignee_without_from_json ... ok
[INFO] [stdout] test cli::component::tests::parse_component_view_binds_two_positionals ... ok
[INFO] [stdout] test cli::bug::tests::each_verb_binds_to_its_action_variant ... ok
[INFO] [stdout] test cli::component::tests::parse_component_update_binds_name_based_targeting ... ok
[INFO] [stdout] test cli::component::tests::parse_component_view_requires_both_positionals ... ok
[INFO] [stdout] test cli::config::tests::parse_config_rename_server_binds_old_and_new ... ok
[INFO] [stdout] test cli::component::tests::parse_component_update_rejects_non_numeric_id ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_rejects_invalid_auth_method ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_keyring_with_service_and_account ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_auth_method_query_param ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_rejects_api_key_with_api_key_env ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_auth_method_header ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_keyring_defaults_service_account_none ... ok
[INFO] [stdout] test cli::component::tests::parse_component_list_binds_product ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_rejects_pin_sha256_with_pin_now ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_rejects_pin_clear_with_pin_now ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_rejects_tls_insecure_with_ca_cert ... ok
[INFO] [stdout] test cli::config::tests::parse_config_show ... ok
[INFO] [stdout] test cli::config::tests::parse_config_unset_keyring_binds_name ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_rejects_tls_insecure_with_pin_now ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_tls_pin_now_alone ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_minimal_defaults ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_requires_url ... ok
[INFO] [stdout] test cli::field::tests::parse_field_list_requires_name ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_binds_credentials ... ok
[INFO] [stdout] test cli::field::tests::parse_field_list_binds_name ... ok
[INFO] [stdout] test cli::config::tests::parse_config_set_server_requires_name ... ok
[INFO] [stdout] test cli::field::tests::parse_field_aliases_rejects_positional ... ok
[INFO] [stdout] test cli::field::tests::parse_field_list_preserves_canonical_name ... ok
[INFO] [stdout] test cli::group::tests::parse_group_create_minimal_binds_required ... ok
[INFO] [stdout] test cli::field::tests::parse_field_rejects_unknown_action ... ok
[INFO] [stdout] test cli::group::tests::parse_group_create_from_json_relaxes_required_fields ... ok
[INFO] [stdout] test cli::group::tests::parse_group_add_user_requires_user ... ok
[INFO] [stdout] test cli::group::tests::parse_group_add_user_binds_group_and_user ... ok
[INFO] [stdout] test cli::group::tests::parse_group_create_binds_is_active_bool ... ok
[INFO] [stdout] test cli::group::tests::parse_group_list_users_defaults_details_false ... ok
[INFO] [stdout] test cli::group::tests::parse_group_update_from_json_relaxes_group ... ok
[INFO] [stdout] test cli::group::tests::parse_group_list_users_binds_details_flag ... ok
[INFO] [stdout] test cli::product::tests::parse_product_create_binds_is_open_bool ... ok
[INFO] [stdout] test cli::group::tests::parse_group_update_requires_group_without_from_json ... ok
[INFO] [stdout] test cli::group::tests::parse_group_remove_user_binds_group_and_user ... ok
[INFO] [stdout] test cli::product::tests::parse_product_create_from_json_relaxes_required_fields ... ok
[INFO] [stdout] test cli::product::tests::parse_product_create_rejects_invalid_is_open ... ok
[INFO] [stdout] test cli::group::tests::parse_group_view_requires_group ... ok
[INFO] [stdout] test cli::group::tests::parse_group_view_binds_positional ... ok
[INFO] [stdout] test cli::product::tests::parse_product_create_requires_description_without_from_json ... ok
[INFO] [stdout] test cli::product::tests::parse_product_list_binds_selectable_type ... ok
[INFO] [stdout] test cli::group::tests::parse_group_create_requires_description_without_from_json ... ok
[INFO] [stdout] test cli::group::tests::parse_group_update_binds_group_positional_and_flags ... ok
[INFO] [stdout] test cli::query::tests::overrides_none_when_field_empty ... ok
[INFO] [stdout] test cli::query::tests::overrides_op_sys_is_some_when_set ... ok
[INFO] [stdout] test cli::query::tests::overrides_platform_is_some_when_set ... ok
[INFO] [stdout] test cli::query::tests::overrides_url_is_some_when_set ... ok
[INFO] [stdout] test cli::query::tests::overrides_qa_contact_is_some_when_set ... ok
[INFO] [stdout] test cli::query::tests::overrides_version_is_some_when_set ... ok
[INFO] [stdout] test cli::query::tests::overrides_target_milestone_is_some_when_set ... ok
[INFO] [stdout] test cli::product::tests::parse_product_create_requires_name_without_from_json ... ok
[INFO] [stdout] test cli::product::tests::parse_product_list_rejects_invalid_type ... ok
[INFO] [stdout] test cli::product::tests::parse_product_create_minimal_defaults ... ok
[INFO] [stdout] test cli::product::tests::parse_product_list_defaults_to_accessible ... ok
[INFO] [stdout] test cli::product::tests::parse_product_view_binds_name ... ok
[INFO] [stdout] test cli::product::tests::parse_product_update_binds_name_positional_and_flags ... ok
[INFO] [stdout] test cli::product::tests::parse_product_update_from_json_relaxes_name ... ok
[INFO] [stdout] test cli::query::tests::parse_query_run_date_overrides ... ok
[INFO] [stdout] test cli::query::tests::parse_query_list ... ok
[INFO] [stdout] test cli::query::tests::parse_query_run_count_flag ... ok
[INFO] [stdout] test cli::product::tests::parse_product_view_requires_name ... ok
[INFO] [stdout] test cli::query::tests::parse_query_run_minimal_defaults ... ok
[INFO] [stdout] test cli::field::tests::parse_field_aliases ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_rejects_from_url_with_filter_flag ... ok
[INFO] [stdout] test cli::query::tests::parse_query_delete_binds_name ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_from_url_kind_with_stored_overrides ... ok
[INFO] [stdout] test cli::query::tests::parse_query_update_rejects_from_url_with_filter_flag ... ok
[INFO] [stdout] test cli::product::tests::parse_product_update_requires_name_without_from_json ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_rejects_from_url_with_search ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_repeats_filter_flag ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_rejects_search_with_filter_flag ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_search_kind ... ok
[INFO] [stdout] test cli::query::tests::parse_query_show_binds_name ... ok
[INFO] [stdout] test cli::query::tests::parse_query_run_rejects_offset_with_paginate ... ok
[INFO] [stdout] test cli::server::tests::parse_server_capabilities ... ok
[INFO] [stdout] test cli::query::tests::parse_query_run_overrides ... ok
[INFO] [stdout] test cli::query::tests::parse_query_run_overrides_filters_and_url ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_requires_name ... ok
[INFO] [stdout] test cli::query::tests::parse_query_update_rejects_from_url_with_clear ... ok
[INFO] [stdout] test cli::query::tests::parse_query_update_merges_filter_and_clear ... ok
[INFO] [stdout] test cli::server::tests::parse_server_info ... ok
[INFO] [stdout] test cli::query::tests::parse_query_update_replaces_search ... ok
[INFO] [stdout] test cli::server::tests::parse_server_rejects_unknown_action ... ok
[INFO] [stdout] test cli::server::tests::parse_server_capabilities_rejects_positional ... ok
[INFO] [stdout] test cli::query::tests::parse_query_save_filter_kind_maps_filters ... ok
[INFO] [stdout] test cli::server::tests::parse_server_info_rejects_positional ... ok
[INFO] [stdout] test cli::template::tests::parse_template_save_maps_kebab_flags_to_snake_fields ... ok
[INFO] [stdout] test cli::template::tests::parse_template_save_maps_routing_fields ... ok
[INFO] [stdout] test cli::template::tests::parse_template_list ... ok
[INFO] [stdout] test cli::template::tests::parse_template_show_binds_name ... ok
[INFO] [stdout] test cli::template::tests::parse_template_save_requires_name ... ok
[INFO] [stdout] test cli::template::tests::parse_template_update_merges_field_and_clear ... ok
[INFO] [stdout] test cli::tests::bug_list_parses_repeated_whiteboard ... ok
[INFO] [stdout] test cli::tests::api_help_describes_transport_preference_not_exclusivity ... ok
[INFO] [stdout] test cli::tests::bug_list_parses_158_field_filters ... ok
[INFO] [stdout] test cli::template::tests::parse_template_update_requires_name ... ok
[INFO] [stdout] test cli::template::tests::parse_template_save_collects_repeated_flag ... ok
[INFO] [stdout] test cli::tests::bug_list_parses_created_since_and_changed_since ... ok
[INFO] [stdout] test cli::server::tests::parse_server_requires_action ... ok
[INFO] [stdout] test cli::tests::inline_server_email_requires_url ... ok
[INFO] [stdout] test cli::tests::inline_server_tls_choices_are_mutually_exclusive ... ok
[INFO] [stdout] test cli::tests::migrate_to_keyring_help_requires_yes_without_prompt_text ... ok
[INFO] [stdout] test cli::tests::cli_doc_long_about_coverage ... ok
[INFO] [stdout] test cli::template::tests::parse_template_delete_binds_name ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_bug_flag_repeatable ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_mixed_bug_and_positional ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_clap_conflict_out_with_bug ... ok
[INFO] [stdout] test cli::tests::parse_api_override ... ok
[INFO] [stdout] test cli::tests::inline_server_api_key_env_still_requires_url ... ok
[INFO] [stdout] test cli::tests::bug_create_from_json_conflicts_with_template ... ok
[INFO] [stdout] test cli::tests::bug_list_offset_conflicts_with_paginate ... ok
[INFO] [stdout] test cli::tests::inline_server_conflicts_with_named_server ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_single_id_legacy ... ok
[INFO] [stdout] test cli::tests::bug_list_parses_negated_whiteboard ... ok
[INFO] [stdout] test cli::tests::bug_my_parses_shared_filter_set ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_multiple_positional_ids ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_out_dir_explicit ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_out_dir_default ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_with_out_dash ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_with_out ... ok
[INFO] [stdout] test cli::tests::parse_attachment_download_clap_conflict_out_with_out_dir ... ok
[INFO] [stdout] test cli::tests::inline_server_tls_flags_require_url ... ok
[INFO] [stdout] test cli::tests::inline_server_url_no_longer_requires_api_key_env ... ok
[INFO] [stdout] test cli::tests::parse_attachment_update_old_value_boolean_is_rejected ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_comment_and_comment_file_conflict ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_patch_flag ... ok
[INFO] [stdout] test cli::tests::parse_attachment_list ... ok
[INFO] [stdout] test cli::tests::parse_attachment_no_patch_overrides_patch ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_comment_file_dash ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_comment_dash ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_private_flag ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_comment_private ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_comment_file ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_without_comment_private_defaults_to_false ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_comment ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_with_summary ... ok
[INFO] [stdout] test cli::tests::parse_bug_list_offset_and_paginate ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_without_private_defaults_to_false ... ok
[INFO] [stdout] test cli::tests::parse_bug_clone_cc_override_conflicts_with_no_cc ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_without_comment_defaults_to_none ... ok
[INFO] [stdout] test cli::tests::parse_bug_create ... ok
[INFO] [stdout] test cli::tests::parse_bug_create_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_attachment_upload_without_patch_defaults_to_false ... ok
[INFO] [stdout] test cli::tests::parse_bug_clone_minimal ... ok
[INFO] [stdout] test cli::tests::parse_bug_clone_with_create_metadata_overrides ... ok
[INFO] [stdout] test cli::tests::parse_bug_create_description_and_description_file_conflict ... ok
[INFO] [stdout] test cli::tests::parse_bug_list_with_filters ... ok
[INFO] [stdout] test cli::tests::parse_bug_create_with_description_file ... ok
[INFO] [stdout] test cli::tests::parse_bug_list_minimal ... ok
[INFO] [stdout] test cli::tests::parse_bug_list_summary_substring ... ok
[INFO] [stdout] test cli::tests::parse_bug_clone_keywords_override_conflicts_with_no_keywords ... ok
[INFO] [stdout] test cli::tests::parse_bug_history ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_keywords_add_comma_list ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_rejects_comment_and_comment_file_together ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_cc_add_comma_list ... ok
[INFO] [stdout] test cli::tests::parse_bug_my_all_conflicts_with_cc ... ok
[INFO] [stdout] test cli::tests::parse_bug_my_all_conflicts_with_created ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_groups_remove_comma_list ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_rejects_dupe_of_with_resolution ... ok
[INFO] [stdout] test cli::tests::parse_bug_search_with_limit ... ok
[INFO] [stdout] test cli::tests::parse_bug_my_defaults ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_bug_search ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_with_comment_file_and_private ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_url_and_target_milestone ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_with_flags ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_rejects_dupe_of_with_status ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_with_comment ... ok
[INFO] [stdout] test cli::tests::parse_comment_add_with_body ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_see_also_add_repeated_flag ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_scalar_parity_flags ... ok
[INFO] [stdout] test cli::tests::parse_comment_tag ... ok
[INFO] [stdout] test cli::tests::parse_comment_list ... ok
[INFO] [stdout] test cli::tests::parse_bug_view_by_id ... ok
[INFO] [stdout] test cli::tests::parse_component_update_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_comment_add_with_private ... ok
[INFO] [stdout] test cli::tests::parse_bug_update_with_dupe_of ... ok
[INFO] [stdout] test cli::tests::parse_classification_view ... ok
[INFO] [stdout] test cli::tests::parse_component_update_with_product_component_target ... ok
[INFO] [stdout] test cli::tests::parse_component_create_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_component_create ... ok
[INFO] [stdout] test cli::tests::parse_config_show ... ok
[INFO] [stdout] test cli::tests::parse_global_json_flag ... ok
[INFO] [stdout] test cli::tests::parse_config_set_server_without_api_key_source ... ok
[INFO] [stdout] test cli::tests::parse_config_path_flag ... ok
[INFO] [stdout] test cli::tests::parse_config_set_server_auth_method_accepts_documented_query_param ... ok
[INFO] [stdout] test cli::tests::parse_field_list ... ok
[INFO] [stdout] test cli::tests::parse_config_set_server ... ok
[INFO] [stdout] test cli::tests::parse_config_set_default ... ok
[INFO] [stdout] test cli::tests::parse_bug_verbs_expect_unchanged_since ... ok
[INFO] [stdout] test cli::tests::parse_group_update_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_group_create_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_group_add_user ... ok
[INFO] [stdout] test cli::tests::parse_inline_server_flags ... ok
[INFO] [stdout] test cli::tests::parse_config_set_server_with_env_var ... ok
[INFO] [stdout] test cli::tests::parse_product_create_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_global_server_flag ... ok
[INFO] [stdout] test cli::tests::parse_no_color_flag ... ok
[INFO] [stdout] test cli::tests::parse_product_update_from_json_stdin ... ok
[INFO] [stdout] test cli::template::tests::parse_template_save_splits_comma_delimited_lists ... ok
[INFO] [stdout] test cli::tests::parse_query_run_count ... ok
[INFO] [stdout] test cli::tests::parse_query_run ... ok
[INFO] [stdout] test cli::tests::parse_product_view ... ok
[INFO] [stdout] test cli::tests::parse_product_list ... ok
[INFO] [stdout] test cli::tests::parse_global_yes_flag_short_and_long ... ok
[INFO] [stdout] test cli::tests::parse_progress_ndjson_flag ... ok
[INFO] [stdout] test cli::tests::parse_query_run_with_limit_override ... ok
[INFO] [stdout] test cli::tests::parse_query_save_rejects_search_with_from_url ... ok
[INFO] [stdout] test cli::tests::parse_query_list ... ok
[INFO] [stdout] test cli::tests::parse_query_save_rejects_search_with_bzl_parity_filter ... ok
[INFO] [stdout] test cli::tests::parse_query_save_rejects_search_with_filter_flag ... ok
[INFO] [stdout] test cli::tests::parse_query_save_search_kind ... ok
[INFO] [stdout] test cli::tests::parse_query_save_search_alone_is_accepted ... ok
[INFO] [stdout] test cli::tests::parse_query_update_rejects_from_url_with_filter_flag ... ok
[INFO] [stdout] test cli::tests::parse_query_update_rejects_from_url_with_clear ... ok
[INFO] [stdout] test cli::tests::parse_query_delete ... ok
[INFO] [stdout] test cli::tests::parse_query_update_accepts_from_url_with_refresh_overrides ... ok
[INFO] [stdout] test cli::tests::parse_query_save_list_kind ... ok
[INFO] [stdout] test cli::tests::parse_query_save_rejects_from_url_with_bzl_parity_filter ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_pin_now ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_pin_clear ... ok
[INFO] [stdout] test cli::tests::parse_query_update_rejects_from_url_with_search ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_pin_clear_conflicts_with_tls_pin_now ... ok
[INFO] [stdout] test cli::tests::parse_query_show ... ok
[INFO] [stdout] test cli::tests::parse_template_save_with_fields ... ok
[INFO] [stdout] test cli::tests::parse_server_info ... ok
[INFO] [stdout] test cli::tests::parse_query_save_rejects_from_url_with_filter_flag ... ok
[INFO] [stdout] test cli::tests::parse_template_save_with_create_metadata_fields ... ok
[INFO] [stdout] test cli::tests::parse_quiet_flag ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_ca_cert ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_pin_sha256_conflicts_with_tls_insecure ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_pin_now_conflicts_with_tls_pin_sha256 ... ok
[INFO] [stdout] test cli::tests::parse_template_delete ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_insecure_conflicts_with_ca_cert ... ok
[INFO] [stdout] test cli::tests::parse_unknown_command_fails ... ok
[INFO] [stdout] test cli::tests::parse_set_server_tls_pin_sha256 ... ok
[INFO] [stdout] test cli::tests::parse_inline_server_tls_flags ... ok
[INFO] [stdout] test cli::tests::query_save_parses_158_field_filters ... ok
[INFO] [stdout] test cli::tests::parse_whoami_without_subcommand ... ok
[INFO] [stdout] test cli::tests::quiet_help_mentions_tracing_is_suppressed ... ok
[INFO] [stdout] test cli::tests::parse_user_create_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_verbose_flag ... ok
[INFO] [stdout] test cli::tests::progress_rejects_unknown_value ... ok
[INFO] [stdout] test cli::user::tests::parse_user_create_binds_all_fields ... ok
[INFO] [stdout] test cli::user::tests::parse_user_create_from_json_relaxes_email ... ok
[INFO] [stdout] test cli::tests::parse_whoami ... ok
[INFO] [stdout] test cli::tests::parse_user_update_from_json_stdin ... ok
[INFO] [stdout] test cli::tests::parse_update_expect_unchanged_since ... ok
[INFO] [stdout] test cli::tests::version_output_includes_package_version_and_build_metadata ... ok
[INFO] [stdout] test cli::tests::parse_user_search ... ok
[INFO] [stdout] test cli::user::tests::parse_user_search_binds_details_flag ... ok
[INFO] [stdout] test cli::user::tests::parse_user_search_requires_query ... ok
[INFO] [stdout] test cli::user::tests::parse_user_create_minimal_defaults ... ok
[INFO] [stdout] test cli::user::tests::parse_user_update_binds_user_and_disable_login ... ok
[INFO] [stdout] test cli::user::tests::parse_user_update_from_json_relaxes_user ... ok
[INFO] [stdout] test cli::user::tests::parse_user_create_requires_email_without_from_json ... ok
[INFO] [stdout] test cli::user::tests::parse_user_search_minimal_defaults_details_false ... ok
[INFO] [stdout] test client::auth::tests::trace_body_preview_caps_long_auth_probe_bodies ... ok
[INFO] [stdout] test cli::tests::query_run_parses_158_field_filter_overrides ... ok
[INFO] [stdout] test client::auth::tests::trace_body_preview_stops_on_utf8_boundary ... ok
[INFO] [stdout] test cli::user::tests::parse_user_update_requires_user_without_from_json ... ok
[INFO] [stdout] test cli::user::tests::parse_user_update_rejects_invalid_disable_login ... ok
[INFO] [stdout] test client::auth::tests::malformed_whoami_preserved_over_later_valid_login_malformed ... ok
[INFO] [stdout] test client::auth::tests::whoami_401_no_email_gives_api_key_error ... ok
[INFO] [stdout] test client::auth::tests::both_methods_fail_with_email ... ok
[INFO] [stdout] test client::auth::tests::header_auth_succeeds ... ok
[INFO] [stdout] test client::auth::tests::valid_login_malformed_200_adds_parse_context_to_auth_error ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_response_integer_result ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_response_missing_result_errors ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_result_from_bool_false ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_result_from_bool_true ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_result_from_integer_0 ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_result_from_integer_1 ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_response_deserializes ... ok
[INFO] [stdout] test client::auth::valid_login::tests::valid_login_result_from_string_errors ... ok
[INFO] [stdout] test client::auth::whoami::tests::whoami_response_deserializes_with_id ... ok
[INFO] [stdout] test client::auth::whoami::tests::whoami_response_id_zero_means_unauthenticated ... ok
[INFO] [stdout] test client::auth::whoami::tests::whoami_response_missing_id_errors ... ok
[INFO] [stdout] test client::auth::tests::whoami_id_zero_is_auth_rejected ... ok
[INFO] [stdout] test client::auth::tests::invalid_api_key_characters_are_rejected ... ok
[INFO] [stdout] test client::auth::tests::anonymous_detection_propagates_tls_certificate_errors ... ok
[INFO] [stdout] test client::auth::tests::detect_server_settings_keeps_version_none_when_probe_fails ... ok
[INFO] [stdout] test client::auth::tests::non_tls_network_error_defaults_to_header ... ok
[INFO] [stdout] test client::auth::tests::detect_server_settings_returns_all_fields ... ok
[INFO] [stdout] test client::auth::tests::whoami_404_falls_back_to_valid_login_header ... ok
[INFO] [stdout] test client::auth::tests::falls_back_to_query_param ... ok
[INFO] [stdout] test client::auth::tests::valid_login_accepts_integer_result ... ok
[INFO] [stdout] test client::auth::tests::valid_login_query_param_but_header_works_on_api ... ok
[INFO] [stdout] test client::auth::tests::valid_login_query_param_and_header_fails_on_api ... ok
[INFO] [stdout] test client::request::tests::get_json_value_returns_parsed_value_without_typed_check ... ok
[INFO] [stdout] test client::auth::whoami::tests::whoami_response_body_read_error_is_network_error ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachment_metadata_excludes_data_field ... ok
[INFO] [stdout] test client::resources::attachment::tests::hybrid_xmlrpc_fault_does_not_fall_back_to_rest_for_attachment_list ... ok
[INFO] [stdout] test client::auth::tests::whoami_404_no_email_suggests_email_flag ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachment_metadata_xmlrpc_uses_xmlrpc_and_strips_data ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachments_accepts_bugs_envelope ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachments_accepts_flat_attachments_envelope ... ok
[INFO] [stdout] test client::resources::attachment::tests::hybrid_xmlrpc_fault_does_not_fall_back_to_rest_for_get_attachment ... ok
[INFO] [stdout] test client::auth::tests::credentialed_detection_propagates_tls_certificate_errors ... ok
[INFO] [stdout] test client::resources::attachment::tests::hybrid_xmlrpc_transport_error_falls_back_to_rest_for_get_attachment ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachments_falls_through_when_bugs_map_empty_and_flat_populated ... ok
[INFO] [stdout] test client::auth::tests::whoami_malformed_200_adds_parse_context_to_auth_error ... ok
[INFO] [stdout] test client::resources::attachment::tests::upload_attachment_private_sets_is_private_in_body ... ok
[INFO] [stdout] test client::resources::attachment::tests::rest_mode_uses_rest_only_for_get_attachment ... ok
[INFO] [stdout] test client::resources::attachment::tests::update_attachment_sends_put ... ok
[INFO] [stdout] test client::resources::attachment::tests::hybrid_xmlrpc_transport_error_falls_back_to_rest_for_attachment_list ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachment_metadata_strips_data_even_if_server_returns_it ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_exclude_only_id_becomes_none ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_exclude_without_id_unchanged ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_include_none_stays_none ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_matches_id_case_insensitively ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_prepends_id_to_idless_include ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_strips_id_from_exclude ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_trims_tokens_when_detecting_id ... ok
[INFO] [stdout] test client::resources::bug::tests::force_id_fields_leaves_include_with_id_unchanged ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachments_prefers_bugs_when_both_envelopes_populated ... ok
[INFO] [stdout] test client::request::tests::get_json_value_runs_check_bugzilla_200_error ... ok
[INFO] [stdout] test client::resources::attachment::tests::upload_attachment_without_comment_omits_comment ... ok
[INFO] [stdout] test client::resources::attachment::tests::xmlrpc_mode_skips_rest_for_attachment_list ... ok
[INFO] [stdout] test client::resources::attachment::tests::get_attachments_returns_empty_when_bug_acknowledged_with_no_attachments ... ok
[INFO] [stdout] test client::resources::attachment::tests::hybrid_uses_xmlrpc_directly_for_get_attachment ... ok
[INFO] [stdout] test client::resources::attachment::tests::hybrid_uses_xmlrpc_directly_for_attachment_list ... ok
[INFO] [stdout] test client::resources::attachment::tests::upload_attachment_public_omits_is_private_or_sets_false ... ok
[INFO] [stdout] test client::resources::attachment::tests::upload_attachment_with_comment_sends_comment ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_falls_back_on_100500 ... ok
[INFO] [stdout] test client::resources::bug::tests::has_negated_filters_detects_negation ... ok
[INFO] [stdout] test client::resources::bug::tests::has_negated_filters_false_for_positive_only ... ok
[INFO] [stdout] test client::resources::bug::tests::has_raw_boolean_chart_params_detects_f1 ... ok
[INFO] [stdout] test client::resources::bug::tests::has_raw_boolean_chart_params_false_for_empty ... ok
[INFO] [stdout] test client::resources::bug::tests::has_raw_boolean_chart_params_false_for_non_chart ... ok
[INFO] [stdout] test client::resources::bug::tests::has_raw_boolean_chart_params_false_for_non_chart_letter_with_digit ... ok
[INFO] [stdout] test client::resources::attachment::tests::upload_attachment_with_flags_sends_flags ... ok
[INFO] [stdout] test client::resources::attachment::tests::rest_mode_uses_rest_only_for_attachment_list ... ok
[INFO] [stdout] test client::resources::attachment::tests::xmlrpc_mode_attachment_list_preserves_inline_data ... ok
[INFO] [stdout] test client::resources::attachment::tests::upload_attachment_with_is_patch_sends_is_patch_true ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_prepends_id_to_idless_include_fields ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_bugs_with_raw_params_does_not_xmlrpc_fallback ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_history_empty ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_default_fields_include_bug_json_fields ... ok
[INFO] [stdout] test client::resources::attachment::tests::xmlrpc_mode_skips_rest_for_get_attachment ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_history_since_filters_by_date ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_history_returns_entries ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_history_with_attachment_id ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_get_bug_falls_back_on_residual_100500_error ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_get_bug_rest_500_falls_back_to_xmlrpc ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_via_search_fallback_carries_id ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_links_nodes_requests_isolated_fields_and_parses ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_passes_params ... ok
[INFO] [stdout] test client::resources::bug::tests::get_bug_links_nodes_empty_ids_makes_no_request ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_rest_empty_with_quicksearch_only_no_fallback ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_get_bug_rest_401_does_not_fall_back ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_multi_value_sends_repeated_params ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_mixed_positive_and_negated ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_rest_empty_with_filters_falls_back_to_xmlrpc ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_rest_empty_with_summary_only_no_fallback ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_negation_url_uses_notsubstring ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_negation_sends_boolean_chart ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_rejects_negated_plus_raw_boolean_chart ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_qa_contact_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_creation_time_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_rest_empty_without_filters_no_fallback ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_all_fields_reach_server ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_last_change_time_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_negation_whiteboard_uses_notsubstring ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_rest_has_results_no_xmlrpc_call ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_negation_resolution_uses_notequals ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_negations_in_two_fields_use_distinct_indices ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_prepends_id_to_idless_include_fields ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_product_filter ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_op_sys_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::hybrid_search_xmlrpc_fallback_timeout_returns_empty_rest_result ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_platform_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_option_fields ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_url_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::update_bug_accepts_success_envelope ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_version_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_resolution_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_whiteboard_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_sends_target_milestone_query_param ... ok
[INFO] [stdout] test client::resources::bug::tests::update_bug_surfaces_200_error_envelope ... ok
[INFO] [stdout] test client::resources::bug::tests::search_bugs_strips_id_from_exclude_fields ... ok
[INFO] [stdout] test client::resources::classification::tests::list_classifications_enumerates_via_field_values ... ok
[INFO] [stdout] test client::resources::classification::tests::get_classification_returns_data ... ok
[INFO] [stdout] test client::resources::bug::tests::xmlrpc_search_idless_include_fields_carries_id ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_filters_by_date ... ok
[INFO] [stdout] test client::resources::comment::tests::add_comment_public_sets_is_private_false ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_rest_propagates_attachment_id ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_rest_accepts_flat_comments_envelope ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_rest_accepts_bugs_envelope ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_rest_returns_empty_when_bug_acknowledged_with_no_comments ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_rest_prefers_bugs_when_both_envelopes_populated ... ok
[INFO] [stdout] test client::resources::comment::tests::add_comment_private_sets_is_private_in_body ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_is_case_insensitive ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_maps_file_loc ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_maps_id ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_maps_group ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_maps_severity ... ok
[INFO] [stdout] test client::resources::comment::tests::update_comment_tags_sends_put ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_passes_through_already_prefixed ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_maps_status ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_maps_type ... ok
[INFO] [stdout] test client::resources::field::tests::resolve_field_alias_passes_through_unknown ... ok
[INFO] [stdout] test client::resources::comment::tests::xmlrpc_mode_skips_rest ... ok
[INFO] [stdout] test client::resources::comment::tests::get_comments_since_rest_falls_through_when_bugs_map_empty_and_flat_populated ... ok
[INFO] [stdout] test client::resources::comment::tests::rest_mode_uses_rest_only ... ok
[INFO] [stdout] test client::resources::component::tests::update_component_sends_put ... ok
[INFO] [stdout] test client::resources::comment::tests::hybrid_uses_xmlrpc_directly ... ok
[INFO] [stdout] test client::resources::comment::tests::hybrid_xmlrpc_transport_error_falls_back_to_rest ... ok
[INFO] [stdout] test client::resources::comment::tests::search_comment_tags_returns_matches ... ok
[INFO] [stdout] test client::resources::component::tests::create_component_forbidden ... ok
[INFO] [stdout] test client::resources::field::tests::get_field_values_resolves_severity_alias ... ok
[INFO] [stdout] test client::resources::component::tests::create_component_returns_id ... ok
[INFO] [stdout] test client::resources::group::tests::add_user_to_group_sends_put ... ok
[INFO] [stdout] test client::resources::component::tests::update_component_forbidden ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_forbidden ... ok
[INFO] [stdout] test client::resources::group::tests::create_group_returns_id ... ok
[INFO] [stdout] test client::resources::group::tests::create_group_forbidden ... ok
[INFO] [stdout] test client::resources::field::tests::get_field_values_returns_values ... ok
[INFO] [stdout] test client::resources::field::tests::get_field_values_unrecognized_field_returns_not_found ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_rest_empty_response_returns_not_found ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_members_api_error ... ok
[INFO] [stdout] test client::resources::group::tests::remove_user_from_group_sends_put ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_members_details_sends_include_fields ... ok
[INFO] [stdout] test client::resources::group::tests::hybrid_get_group_api_error_does_not_fall_back ... ok
[INFO] [stdout] test client::resources::product::tests::create_product_returns_id ... ok
[INFO] [stdout] test client::resources::group::tests::hybrid_get_group_32610_falls_back_to_xmlrpc ... ok
[INFO] [stdout] test client::resources::product::tests::create_product_forbidden ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_members_empty ... ok
[INFO] [stdout] test client::resources::product::tests::get_product_not_found ... ok
[INFO] [stdout] test client::resources::group::tests::rest_get_group_32610_falls_back_to_xmlrpc ... ok
[INFO] [stdout] test client::resources::group::tests::update_group_forbidden ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_returns_info ... ok
[INFO] [stdout] test client::resources::group::tests::get_group_members_returns_users ... ok
[INFO] [stdout] test client::resources::group::tests::hybrid_get_group_transport_failure_falls_back_to_xmlrpc ... ok
[INFO] [stdout] test client::resources::group::tests::xmlrpc_mode_get_group_bypasses_rest ... ok
[INFO] [stdout] test client::resources::group::tests::update_group_sends_put ... ok
[INFO] [stdout] test client::resources::product::tests::get_product_by_name ... ok
[INFO] [stdout] test client::resources::server::tests::server_capabilities_credentialless_skips_parameters_fetch ... ok
[INFO] [stdout] test client::resources::server::tests::server_capabilities_assembles_documented_shape ... ok
[INFO] [stdout] test client::resources::server::tests::server_capabilities_nulls_attachment_size_on_parameters_error ... ok
[INFO] [stdout] test client::resources::server::tests::server_extensions_returns_map ... ok
[INFO] [stdout] test client::resources::server::tests::server_capabilities_normalizes_attachment_size_to_bytes ... ok
[INFO] [stdout] test client::resources::product::tests::list_products_returns_products ... ok
[INFO] [stdout] test client::resources::server::tests::server_capabilities_empty_status_field_yields_no_transitions ... ok
[INFO] [stdout] test client::resources::server::tests::server_version_returns_version ... ok
[INFO] [stdout] test client::resources::user::tests::hybrid_create_user_falls_back_to_xmlrpc_on_transport_failure ... ok
[INFO] [stdout] test client::resources::product::tests::update_product_sends_put ... ok
[INFO] [stdout] test client::resources::user::tests::search_users_empty ... ok
[INFO] [stdout] test client::resources::user::tests::update_user_forbidden ... ok
[INFO] [stdout] test client::resources::user::tests::update_user_sends_put ... ok
[INFO] [stdout] test client::response::tests::error_response_parses_negative_integer_code ... ok
[INFO] [stdout] test client::response::tests::error_response_parses_unsigned_integer_code ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_collapses_internal_whitespace ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_handles_empty_body ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_handles_exactly_512_byte_body ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_redacts_api_key_in_body ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_returns_short_body_unchanged_in_content ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_truncates_long_body_with_ellipsis ... ok
[INFO] [stdout] test client::response::tests::format_body_preview_truncates_on_utf8_boundary ... ok
[INFO] [stdout] test client::resources::product::tests::list_products_empty ... ok
[INFO] [stdout] test client::resources::user::tests::search_users_details_sends_include_fields ... ok
[INFO] [stdout] test client::response::tests::parse_body_to_value_handles_multibyte_debug_preview_boundary ... ok
[INFO] [stdout] test client::resources::user::tests::create_user_forbidden ... ok
[INFO] [stdout] test client::response::tests::api_200_error_without_code_field_uses_minus_one ... ok
[INFO] [stdout] test client::resources::user::tests::search_users_returns_matches ... ok
[INFO] [stdout] test client::resources::product::tests::update_product_forbidden ... ok
[INFO] [stdout] test client::resources::user::tests::hybrid_create_user_api_error_does_not_fall_back ... ok
[INFO] [stdout] test client::response::tests::try_envelopes_falls_through_when_keyed_extractor_errors ... ok
[INFO] [stdout] test client::response::tests::try_envelopes_falls_back_to_alt_envelope ... ok
[INFO] [stdout] test client::response::tests::try_envelopes_returns_first_candidate_match ... ok
[INFO] [stdout] test client::response::tests::try_envelopes_returns_first_error_when_no_candidate_matches ... ok
[INFO] [stdout] test client::response::tests::try_envelopes_preserves_first_error_when_multiple_keyed_extractors_fail ... ok
[INFO] [stdout] test client::response::tests::api_200_error_with_out_of_range_unsigned_code_is_malformed ... ok
[INFO] [stdout] test client::response::tests::parse_json_includes_body_preview_on_invalid_json ... ok
[INFO] [stdout] test client::resources::user::tests::whoami_returns_user_info ... ok
[INFO] [stdout] test client::resources::user::tests::create_user_returns_id ... ok
[INFO] [stdout] test client::response::tests::http_error_preview_handles_multibyte_debug_preview_boundary ... ok
[INFO] [stdout] test client::response::tests::parse_json_invalid_json_handles_multibyte_debug_preview_boundary ... ok
[INFO] [stdout] test client::resources::user::tests::hybrid_create_user_with_login_uses_xmlrpc_directly ... ok
[INFO] [stdout] test client::transport::tests::alternate_auth_rejects_invalid_header_characters ... ok
[INFO] [stdout] test client::response::tests::api_200_error_with_string_code_parsed_correctly ... ok
[INFO] [stdout] test client::response::tests::parse_json_includes_body_preview_on_typed_failure ... ok
[INFO] [stdout] test client::transport::tests::auth_fallback_both_fail_returns_original_error ... ok
[INFO] [stdout] test client::response::tests::api_error_with_200_status ... ok
[INFO] [stdout] test client::response::tests::http_500_returns_error ... ok
[INFO] [stdout] test client::response::tests::api_error_with_200_and_data_returns_data ... ok
[INFO] [stdout] test client::transport::tests::anonymous_client_does_not_retry_401_with_alternate_auth ... ok
[INFO] [stdout] test client::tests::new_trims_trailing_slash_and_keeps_email_hint ... ok
[INFO] [stdout] test client::response::tests::api_error_with_string_code_parsed_correctly ... ok
[INFO] [stdout] test client::transport::tests::safe_url_preserves_path ... ok
[INFO] [stdout] test client::transport::tests::auth_fallback_header_to_query_param_on_401 ... ok
[INFO] [stdout] test client::transport::tests::safe_url_strips_query_params ... ok
[INFO] [stdout] test client::transport::tests::no_retry_when_budget_zero ... ok
[INFO] [stdout] test client::tests::auth_mode_reflects_credential_presence ... ok
[INFO] [stdout] test client::version::tests::detect_version_404_returns_xmlrpc ... ok
[INFO] [stdout] test client::transport::tests::anonymous_client_sends_no_api_key_header_or_query ... ok
[INFO] [stdout] test client::response::tests::parse_json_redacts_api_key_in_body_preview ... ok
[INFO] [stdout] test client::transport::tests::apply_auth_adds_query_param_credentials ... ok
[INFO] [stdout] test client::version::tests::version_to_mode_5_0 ... ok
[INFO] [stdout] test client::version::tests::version_to_mode_5_1_plus ... ok
[INFO] [stdout] test client::version::tests::version_to_mode_5_bare_differs_from_5_1 ... ok
[INFO] [stdout] test client::version::tests::version_to_mode_5_bare_no_minor_maps_to_hybrid ... ok
[INFO] [stdout] test client::version::tests::version_to_mode_pre_5 ... ok
[INFO] [stdout] test client::transport::tests::non_401_errors_do_not_trigger_fallback ... ok
[INFO] [stdout] test client::version::tests::detect_version_and_mode_without_auth_sends_no_credentials ... ok
[INFO] [stdout] test client::transport::tests::no_retry_on_put_update_5xx ... ok
[INFO] [stdout] test client::version::tests::detect_version_non_json_returns_hybrid ... ok
[INFO] [stdout] test client::version::tests::detect_version_returns_rest_for_5_1 ... ok
[INFO] [stdout] test client::transport::tests::auth_fallback_query_param_to_header_on_401 ... ok
[INFO] [stdout] test client::transport::tests::no_retry_on_client_error_404 ... ok
[INFO] [stdout] test client::version::tests::detect_version_without_auth_connection_refused_returns_xmlrpc ... ok
[INFO] [stdout] test client::version::tests::detect_version_network_error_returns_xmlrpc ... ok
[INFO] [stdout] test client::transport::tests::no_retry_on_post_5xx_mutation ... ok
[INFO] [stdout] test client::transport::tests::auth_fallback_retryable_status_uses_retry_budget ... ok
[INFO] [stdout] test client::version::tests::detect_version_returns_hybrid_for_5_0 ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_api_error_propagates ... ok
[INFO] [stdout] test client::transport::tests::retry_recovers_after_429_with_retry_after ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_all_targets_fail_still_exit_11 ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_validation_rejects_out_with_multiple_ids ... ok
[INFO] [stdout] test commands::attachment::download::tests::safe_basename_rejects_names_without_a_basename ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_validation_rejects_no_ids_no_bugs ... ok
[INFO] [stdout] test commands::attachment::download::tests::single_download_dest_honors_explicit_out_verbatim ... ok
[INFO] [stdout] test commands::attachment::download::tests::single_download_dest_sanitizes_server_filename_when_no_out ... ok
[INFO] [stdout] test client::transport::tests::retry_exhausted_surfaces_http_error ... ok
[INFO] [stdout] test commands::attachment::download::tests::safe_basename_strips_directory_components ... ok
[INFO] [stdout] test client::transport::tests::retry_recovers_after_transient_503 ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_bug_not_found_partial_failure ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_collision_filenames_resolved_by_att_id_prefix ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_creates_out_dir_before_connect ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_data_missing_falls_back_via_get ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_hybrid_uses_xmlrpc_inline_data_without_fallback ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_legacy_single_id_unchanged ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_obsolete_attachments_included ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_empty_bug_zero_files_success ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_mixed_bug_and_positional_ids ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_per_bug_writes_per_bug_subdir ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_batch_top_level_out_dir_unwritable_fails_fast ... ok
[INFO] [stdout] test commands::attachment::tests::capabilities_are_anonymous_for_reads ... ok
[INFO] [stdout] test commands::attachment::tests::capabilities_require_credentials_for_writes ... ok
[INFO] [stdout] test commands::attachment::tests::resolve_bool_flag_neither_is_none ... ok
[INFO] [stdout] test commands::attachment::tests::resolve_bool_flag_no_resolves_false ... ok
[INFO] [stdout] test commands::attachment::tests::resolve_bool_flag_yes_wins ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_all_none_is_false ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_content_type_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_file_name_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_flag_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_no_obsolete_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_no_patch_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_no_private_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_obsolete_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_patch_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_private_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::update_has_changes_summary_alone_is_true ... ok
[INFO] [stdout] test commands::attachment::tests::validate_action_allows_upload_comment_private_with_comment ... ok
[INFO] [stdout] test commands::attachment::tests::validate_action_allows_upload_comment_private_with_comment_file ... ok
[INFO] [stdout] test commands::attachment::tests::validate_action_rejects_upload_comment_private_without_body ... ok
[INFO] [stdout] test commands::attachment::download::tests::attachment_download_single_out_dash_streams_bytes_without_result ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_create_dir_error_names_destination ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_falls_back_when_data_missing ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_invalid_base64_returns_data_integrity ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_overwrites_existing_file ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_sanitizes_server_filename_with_separators ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_without_bug_id_returns_data_integrity ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_without_file_name_returns_data_integrity ... ok
[INFO] [stdout] test commands::attachment::download::tests::write_one_attachment_writes_inline_data_with_att_id_prefix ... ok
[INFO] [stdout] test commands::attachment::list::tests::attachment_list_api_error_propagates ... ok
[INFO] [stdout] test commands::attachment::list::tests::attachment_list_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::attachment::list::tests::attachment_list_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::attachment::list::tests::attachment_list_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::attachment::list::tests::attachment_list_returns_attachments ... ok
[INFO] [stdout] test commands::attachment::list::tests::attachment_list_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::attachment::update::tests::attachment_update_invalid_flag_fails_before_connect ... ok
[INFO] [stdout] test commands::attachment::update::tests::attachment_update_no_obsolete_sends_false ... ok
[INFO] [stdout] test commands::attachment::update::tests::attachment_update_succeeds ... ok
[INFO] [stdout] test commands::attachment::update::tests::attachment_update_unset_bools_are_omitted ... ok
[INFO] [stdout] test commands::attachment::update::tests::attachment_update_without_changes_is_rejected_before_put ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_archives ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_case_insensitive ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_diff ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_html ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_images ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_json ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_structured_documents ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_text_plain ... ok
[INFO] [stdout] test commands::attachment::upload::tests::guess_content_type_unknown ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_api_error_propagates ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_comment_private_no_matching_comment_is_data_integrity_error ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_comment_private_partial_failure_propagates_error ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_comment_private_with_comment_file_flips_privacy ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_comment_private_without_comment_is_input_error ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_missing_source_fails_before_connect ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_is_patch_with_explicit_content_type_keeps_content_type ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_missing_source_names_role_and_path ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_rejects_whitespace_comment ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_rejects_whitespace_comment_file ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_returns_id ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_with_comment_file_includes_comment_in_request ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_with_comment_includes_comment_in_request ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_with_comment_private_flips_privacy ... ok
[INFO] [stdout] test commands::attachment::upload::tests::attachment_upload_with_is_patch_defaults_content_type_to_text_plain ... ok
[INFO] [stdout] test commands::attachment::view::tests::attachment_view_returns_metadata_without_data ... ok
[INFO] [stdout] test commands::attachment::view::tests::attachment_view_table_renders_metadata ... ok
[INFO] [stderr] Skipping: editor flow requires TTY stdin (cargo test runs non-TTY).
[INFO] [stdout] test commands::bug::create::tests::bug_create_editor_flow_resolves_via_editor_when_stdin_is_tty ... ok
[INFO] [stdout] test commands::bug::clone::tests::bug_clone_copies_fields ... ok
[INFO] [stdout] test commands::bug::clone::tests::bug_clone_dry_run_applies_create_metadata_overrides ... ok
[INFO] [stdout] test commands::bug::clone::tests::bug_clone_dry_run_links_blocks_and_depends_on_to_source ... ok
[INFO] [stdout] test commands::bug::clone::tests::bug_clone_dry_run_reads_source_but_creates_nothing ... ok
[INFO] [stdout] test commands::bug::clone::tests::bug_clone_reports_id_when_comment_post_fails ... ok
[INFO] [stdout] test commands::bug::clone::tests::bug_clone_no_comment_skips_comment ... ok
[INFO] [stdout] test commands::bug::compound::tests::attachment_500_exits_11_naming_the_file ... ok
[INFO] [stdout] test commands::bug::compound::tests::create_then_comment_500_exits_11 ... ok
[INFO] [stdout] test commands::bug::compound::tests::dry_run_makes_no_network_calls_and_previews_sub_steps ... ok
[INFO] [stdout] test commands::bug::compound::tests::full_success_emits_plain_action_result ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_cli_create_metadata_overrides_template ... ok
[INFO] [stdout] test commands::bug::create::tests::build_compound_plan_description_without_attachment_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::build_compound_plan_empty_comment_body_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::build_compound_plan_more_descriptions_than_attachments_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_description_file_missing_returns_input_validation ... ok
[INFO] [stdout] test commands::bug::create::tests::build_editor_template_includes_summary_and_field_reminder ... ok
[INFO] [stdout] test commands::bug::create::tests::build_editor_template_includes_template_description_body ... ok
[INFO] [stdout] test commands::bug::create::tests::build_editor_template_separates_no_newline_body_from_sentinel ... ok
[INFO] [stdout] test commands::bug::create::tests::build_compound_plan_undescribed_attachment_defaults_summary_to_filename ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_editor_branch_unreachable_when_stdin_piped ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_description_file_non_utf8_returns_input_validation ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_missing_component_returns_input_validation ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_missing_product_returns_input_validation ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_missing_summary_without_editor_flow_is_rejected ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_reads_description_from_file ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_rejects_malformed_deadline ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_sends_parity_fields_in_body ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_sends_post ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_template_applies_create_metadata_defaults ... ok
[INFO] [stdout] test commands::bug::create::tests::parse_editor_buffer_empty_above_sentinel_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::parse_editor_buffer_handles_multi_line_summary_block ... ok
[INFO] [stdout] test commands::bug::create::tests::parse_editor_buffer_no_sentinel_uses_full_buffer ... ok
[INFO] [stdout] test commands::bug::create::tests::parse_editor_buffer_only_summary_no_description ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_template_description_does_not_fall_back_outside_editor_flow ... ok
[INFO] [stdout] test commands::bug::create::tests::parse_editor_buffer_skips_leading_blank_lines ... ok
[INFO] [stdout] test commands::bug::create::tests::parse_editor_buffer_strips_sentinel_and_extracts_summary ... ok
[INFO] [stdout] test commands::bug::create::tests::preview_params_propagates_editor_field_values ... ok
[INFO] [stdout] test commands::bug::create::tests::resolve_description_conflict_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_with_template_fills_missing_fields ... ok
[INFO] [stdout] test commands::bug::create::tests::bug_create_with_unknown_template_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::compound_attachment_500_exits_11_with_id_on_stderr ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_array_batch_creates_one_per_element ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_array_partial_failure_exits_11 ... ok
[INFO] [stdout] test commands::bug::create_json::tests::bug_create_input_schema_documents_array_form ... ok
[INFO] [stdout] test commands::bug::create_json::tests::bug_create_input_schema_examples_parse ... ok
[INFO] [stdout] test commands::bug::create_json::tests::bug_create_input_schema_matches_parser_keys ... ok
[INFO] [stdout] test commands::bug::create_json::tests::compound_comment_unknown_key_is_rejected ... ok
[INFO] [stdout] test commands::bug::create_json::tests::compound_empty_comment_body_is_rejected ... ok
[INFO] [stdout] test commands::bug::create_json::tests::compound_keys_default_to_absent_and_yield_empty_plan ... ok
[INFO] [stdout] test commands::bug::create_json::tests::missing_required_field_attributes_the_field ... ok
[INFO] [stdout] test commands::bug::create_json::tests::parse_one_or_many_preserves_object_and_array_shapes ... ok
[INFO] [stdout] test commands::bug::create_json::tests::parse_one_or_many_rejects_malformed_json ... ok
[INFO] [stdout] test commands::bug::create_json::tests::parse_one_or_many_rejects_non_object_scalar ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_batch_table_lists_created_ids ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_batch_dry_run_emits_single_object_and_no_write ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_cli_description_overrides_json_description ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_cli_flag_overrides_json_field ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_missing_required_field_errors ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_preserves_blocks_and_depends_on_without_cli_override ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_correlates_across_timestamp_forms ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_rejects_unknown_field ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_correlates_comment_id_on_who_and_when_match ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_duplicate_keys_resolve_to_smallest_comment_id ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_empty_entries_yield_no_records ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_no_correlation_when_when_differs ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_no_correlation_when_who_differs ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_expands_multi_field_entry_to_one_record_per_field ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_preserves_missing_delta_values_as_unknown ... ok
[INFO] [stdout] test commands::bug::history::tests::flatten_skips_unkeyable_and_partial_comments ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_single_element_array_returns_batch_shape ... ok
[INFO] [stdout] test commands::bug::create::tests::from_json_single_object_files_a_bug ... ok
[INFO] [stdout] test commands::bug::create_json::tests::array_one_good_one_failing_comment_exits_11 ... ok
[INFO] [stdout] test commands::bug::create::tests::run_editor_flow_returns_parsed_editor_output ... ok
[INFO] [stdout] test commands::bug::create_json::tests::array_sub_step_failure_suppresses_done_event ... ok
[INFO] [stdout] test commands::bug::create_json::tests::array_with_bad_attachment_file_creates_nothing ... ok
[INFO] [stdout] test commands::bug::create_json::tests::batch_create_emits_batch_then_done ... ok
[INFO] [stdout] test commands::bug::create_json::tests::batch_create_partial_failure_emits_no_done ... ok
[INFO] [stdout] test commands::bug::history::tests::bug_history_empty_prints_no_history_message ... ok
[INFO] [stdout] test commands::bug::history::tests::bug_history_json_degrades_to_null_comment_id_when_comment_fetch_fails ... ok
[INFO] [stdout] test commands::bug::history::tests::bug_history_json_empty_emits_empty_array_not_prose ... ok
[INFO] [stdout] test commands::bug::history::tests::bug_history_json_expands_multi_field_entry_to_multiple_records ... ok
[INFO] [stdout] test commands::bug::history::tests::bug_history_rejects_malformed_since_with_exit_code_7 ... ok
[INFO] [stdout] test commands::bug::history::tests::bug_history_ndjson_streams_one_record_per_line ... ok
[INFO] [stdout] test commands::bug::links::tests::links_discovery_order_independent_of_response_array_order ... ok
[INFO] [stdout] test commands::bug::links::tests::links_no_relations_table_prints_message ... ok
[INFO] [stdout] test commands::bug::links::tests::links_one_hop_emits_single_depth1_record ... ok
[INFO] [stdout] test commands::bug::links::tests::links_recursive_cycle_visits_each_once_with_depth ... ok
[INFO] [stdout] test commands::bug::links::tests::links_relation_filter_restricts_output ... ok
[INFO] [stdout] test commands::bug::links::tests::links_root_not_found_is_notfound_exit_2 ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_count_table_prints_integer_only ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_count_json_emits_count_object ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_json_all_unknown_fields_exits_7 ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_http_500_returns_error ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_json_custom_field_is_requested_and_emitted ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_json_custom_only_field_does_not_emit_forced_id ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_json_fields_trims_output ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_json_without_fields_does_not_warn ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_malformed_json_returns_error ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_mixed_positive_notequals_notsubstring ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_passes_every_field_through_to_search_params ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_rejects_malformed_changed_since_with_exit_code_7 ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_rejects_malformed_created_since_with_exit_code_7 ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_returns_bugs ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_sends_default_bug_id_order ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_sends_explicit_sort_and_order ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_summary_only_sends_substring_filter ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_table_all_unknown_fields_exits_7_before_network ... ok
[INFO] [stdout] test commands::bug::list::tests::list_count_with_offset_is_rejected ... ok
[INFO] [stdout] test commands::bug::list::tests::bug_list_table_renders_custom_field_column ... ok
[INFO] [stdout] test commands::bug::list::tests::list_offset_reaches_server_and_truncation_footer_prints ... ok
[INFO] [stdout] test commands::bug::list::tests::list_paginate_with_progress_emits_page_then_terminal_done ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_all_count_reports_distinct_total ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_all_deduplicates ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_all_passes_shared_filters_to_each_category ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_all_truncated_flag_set_when_any_category_is_truncated ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_cc_only_runs_cc_search_not_assigned_or_creator ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_created_only_runs_creator_search_not_assigned ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_offset_reaches_server ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_order_reaches_server ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_passes_status_limit_and_field_filters ... ok
[INFO] [stdout] test commands::bug::my::tests::bug_my_returns_assigned_by_default ... ok
[INFO] [stdout] test commands::bug::search::tests::bug_search_from_url_sort_overrides_url_order ... ok
[INFO] [stdout] test commands::bug::search::tests::bug_search_quicksearch_sends_default_order ... ok
[INFO] [stdout] test commands::bug::search::tests::build_params_from_url_cli_limit_overrides_default ... ok
[INFO] [stdout] test commands::bug::search::tests::build_params_from_url_exclude_fields_reaches_server ... ok
[INFO] [stdout] test commands::bug::search::tests::from_url_offset_in_url_is_overridden_by_cli_offset_not_duplicated ... ok
[INFO] [stdout] test commands::bug::tests::capabilities_allow_dry_run_and_credentials_for_update ... ok
[INFO] [stdout] test commands::bug::tests::capabilities_are_anonymous_for_list ... ok
[INFO] [stdout] test commands::bug::tests::capabilities_are_anonymous_for_search ... ok
[INFO] [stdout] test commands::bug::tests::capabilities_are_anonymous_for_view ... ok
[INFO] [stdout] test commands::bug::tests::capabilities_require_credentials_for_my ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::from_cli_bool_flags_become_option_true_only_when_set ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::from_cli_maps_comment_fields ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::from_cli_maps_list_fields ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::from_cli_maps_scalar_fields ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::overlay_cli_comment_file_flag_clears_comment ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::overlay_cli_comment_flag_clears_comment_file ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::overlay_cli_list_preserved_when_cli_empty ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::overlay_cli_list_replaces_when_cli_present ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::overlay_cli_overrides_json_scalar ... ok
[INFO] [stdout] test commands::bug::update::draft::tests::overlay_cli_preserves_json_when_cli_absent ... ok
[INFO] [stdout] test commands::bug::search::tests::from_url_offset_with_paginate_sends_single_offset_per_page ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_count_emits_count_object ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_auto_names_from_known_name ... ok
[INFO] [stdout] test commands::bug::update::execute::tests::apply_checked_dry_run_skips_connection_setup ... ok
[INFO] [stdout] test commands::bug::update::output::tests::write_batch_result_json_emits_batch_result_shape ... ok
[INFO] [stdout] test commands::bug::update::output::tests::write_batch_result_table_prints_successes_and_failures ... ok
[INFO] [stdout] test commands::bug::update::output::tests::write_update_dry_run_json_marks_payload_and_lists_ids ... ok
[INFO] [stdout] test commands::bug::update::output::tests::write_update_dry_run_table_prints_human_preview_with_comment_suffix ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_accepts_valid_deadline_verbatim ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_carries_private_comment ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_carries_public_comment ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_comment_file_with_private ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_from_draft_validates_ids_passed_separately ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_omits_comment_when_unspecified ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_cc_remove ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_dupe_of ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_groups_add ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_keywords_remove ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_scalar_parity_fields ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_see_also_remove ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_populates_string_lists ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_reads_comment_file ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_alias_with_multiple_ids ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_comment_and_comment_file_together ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_empty_groups_add ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_empty_keyword ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_empty_keyword_remove_with_remove_flag ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_invalid_deadline ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_missing_comment_file ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_non_utf8_comment_file ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_private_without_body ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_update_with_no_fields ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_whitespace_only_cc ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_whitespace_only_comment ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_whitespace_only_comment_file ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_rejects_whitespace_only_see_also_remove ... ok
[INFO] [stdout] test commands::bug::update::payload::tests::build_update_params_trims_string_list_values ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_does_not_infer_custom_fields_from_columnlist ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_executes ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_fields_drive_output_projection ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_passes_raw_params ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_preserves_url_limit_when_cli_unset ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_saves_query ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_from_url_with_custom_fields_emits_custom_field ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_quicksearch_passes_limit_and_field_filters ... ok
[INFO] [stdout] test commands::bug::search::tests::handle_search_save_as_no_name_no_known_name_errors ... ok
[INFO] [stdout] test commands::bug::search::tests::paginate_with_progress_streams_page_and_done_on_stderr ... ok
[INFO] [stdout] test commands::bug::tests::bug_column_spec_my_validates_unknown_field_in_table_mode ... ok
[INFO] [stdout] test commands::bug::tests::bug_column_spec_search_validates_unknown_field_in_table_mode ... ok
[INFO] [stdout] test commands::bug::update::execute::tests::apply_checked_connected_dry_run_skips_expect_unchanged_get ... ok
[INFO] [stdout] test commands::bug::update::execute::tests::apply_checked_connected_runs_guard_before_any_write ... ok
[INFO] [stdout] test commands::bug::update::execute::tests::apply_checked_connected_writes_when_guard_passes ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_alias_multiple_ids_rejected_before_connect ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_batch_mixed_results ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_batch_table_format_all_succeed ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_dry_run_batch_lists_all_ids ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_dry_run_json_includes_cleaned_add_and_remove_lists ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_dry_run_still_validates_empty_update ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_dry_run_table_prints_human_preview ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_batch_aborts_all_on_any_collision ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_detects_collision_and_skips_write ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_errors_when_server_last_change_time_is_garbage ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_errors_when_server_omits_last_change_time ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_matches_across_timestamp_formats ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_proceeds_when_timestamp_matches ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_expect_unchanged_rejects_unparseable_expected_value ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_array_batches_per_id ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_array_dry_run_emits_single_object_and_no_write ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_array_guard_failure_prevents_all_writes ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_array_partial_failure_exits_11 ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_comment_file_replaces_json_comment ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_dupe_of_reaches_dry_run_payload ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_comment_overrides_json_comment_file_stdin ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_flag_overrides_json_field ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_keywords_add_replaces_json_keywords_add ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_list_flag_replaces_json_list_in_put_body ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_cli_reset_assigned_to_reaches_dry_run_payload ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_comment_and_expect_guard ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_keeps_json_blocks_add_when_cli_omits_it ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_keeps_json_dupe_of_when_cli_omits_it ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_keeps_json_reset_assigned_to_when_cli_omits_it ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_list_fields_use_add_remove_shapes ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_object_uses_positional_id ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_array_item_without_id ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_dupe_of_with_status ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_empty_array ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_json_comment_file_stdin ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_draft_accepts_alias_with_single_id ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_args_rejects_alias_with_multiple_ids ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_draft_accepts_dupe_of_alone ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_mixed_positional_and_json_id ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_draft_accepts_empty_draft ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_draft_rejects_alias_with_multiple_ids ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_draft_rejects_dupe_of_with_status ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_object_without_target_id ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_rejects_unknown_field ... ok
[INFO] [stdout] test commands::bug::update_json::tests::bug_update_input_schema_examples_parse ... ok
[INFO] [stdout] test commands::bug::update_json::tests::cli_comment_uses_stdin_returns_false_when_no_stdin_source ... ok
[INFO] [stdout] test commands::bug::update_json::tests::bug_update_input_schema_matches_parser_keys ... ok
[INFO] [stdout] test commands::bug::update_json::tests::cli_comment_uses_stdin_returns_true_for_comment_dash ... ok
[INFO] [stdout] test commands::bug::update_json::tests::cli_comment_uses_stdin_returns_true_for_comment_file_dash ... ok
[INFO] [stdout] test commands::bug::update_json::tests::reject_cli_stdin_comment_source_allows_file_json_with_stdin_comment_single ... ok
[INFO] [stdout] test commands::bug::update_json::tests::reject_cli_stdin_comment_source_allows_no_stdin_comment ... ok
[INFO] [stdout] test commands::bug::update_json::tests::reject_cli_stdin_comment_source_rejects_array_json_with_stdin_comment ... ok
[INFO] [stdout] test commands::bug::update_json::tests::reject_cli_stdin_comment_source_rejects_stdin_json_with_stdin_comment ... ok
[INFO] [stdout] test commands::bug::update_json::tests::parse_json_updates_object_and_array_shapes ... ok
[INFO] [stdout] test commands::bug::update_json::tests::bug_update_input_schema_array_items_require_id ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_draft_rejects_dupe_of_with_resolution ... ok
[INFO] [stdout] test commands::bug::update::validate::tests::validate_args_accepts_valid_single_bug_update ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_from_json_single_element_array_returns_batch_shape ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_json_output_unchanged_with_comment ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_large_batch_auto_proceeds_when_not_a_tty ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_sends_put ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_sends_dupe_of_body ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_sends_url_and_target_milestone_body ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_table_output_no_comment_single ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_table_output_with_comment_batch_all_succeed ... ok
[INFO] [stdout] test commands::bug::update::tests::bug_update_table_output_with_comment_single ... ok
[INFO] [stdout] test commands::bug::update_json::tests::batch_update_partial_failure_emits_no_done ... ok
[INFO] [stdout] test commands::bug::verbs::tests::bug_verbs_expect_unchanged_since_match_writes_update ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_dry_run_rejects_empty_status_without_network ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_defaults_to_verified_and_preserves_resolution ... ok
[INFO] [stdout] test commands::bug::update_json::tests::batch_update_emits_batch_then_done ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_private_comment_without_body_is_rejected ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_posts_comment_atomically ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_reuses_status_validation_client_for_update ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_status_override_targets_custom_status ... ok
[INFO] [stdout] test commands::bug::view::tests::emit_web_interactive_failure_falls_back_to_print ... ok
[INFO] [stdout] test commands::bug::view::tests::emit_web_interactive_success_is_silent ... ok
[INFO] [stdout] test commands::bug::view::tests::emit_web_non_interactive_prints_every_url ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_with_as_sets_resolution ... ok
[INFO] [stdout] test commands::bug::verbs::tests::close_wrong_case_status_is_rejected ... ok
[INFO] [stdout] test commands::bug::verbs::tests::dup_posts_comment_atomically ... ok
[INFO] [stdout] test commands::bug::verbs::tests::dup_sends_dupe_of ... ok
[INFO] [stdout] test commands::bug::verbs::tests::reopen_defaults_to_confirmed ... ok
[INFO] [stdout] test commands::bug::verbs::tests::reopen_dry_run_skips_validation_and_write ... ok
[INFO] [stdout] test commands::bug::verbs::tests::reopen_posts_comment_atomically ... ok
[INFO] [stdout] test commands::bug::verbs::tests::reopen_status_override_targets_custom_status ... ok
[INFO] [stdout] test commands::bug::verbs::tests::reopen_unknown_status_is_rejected ... ok
[INFO] [stdout] test commands::bug::verbs::tests::resolve_batch_updates_each_id ... ok
[INFO] [stdout] test commands::bug::verbs::tests::resolve_defaults_to_fixed ... ok
[INFO] [stdout] test commands::bug::verbs::tests::resolve_posts_comment_atomically ... ok
[INFO] [stdout] test commands::bug::verbs::tests::resolve_dry_run_makes_no_write ... ok
[INFO] [stdout] test commands::bug::view::tests::execute_web_prints_url_when_fd1_not_a_tty ... ok
[INFO] [stdout] test commands::bug::view::tests::has_display_respects_display_env ... ok
[INFO] [stdout] test commands::bug::view::tests::resolve_bug_urls_uses_configured_server ... ok
[INFO] [stdout] test commands::bug::view::tests::resolve_bug_urls_works_without_credentials ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_all_fail_returns_empty_bugs ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_api_102_suppressed ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_api_410_bails ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_api_session_wide_bails ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_json_shape ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_partial_table ... ok
[INFO] [stdout] test commands::bug::view::tests::web_url_numeric_id ... ok
[INFO] [stdout] test commands::bug::view::tests::web_url_percent_encodes_alias ... ok
[INFO] [stdout] test commands::bug::view::tests::web_url_trims_trailing_slash ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_transport_error_bails ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_permissive_with_alias_preserves_id_string ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_strict_all_succeed_table ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_strict_failure_emits_no_partial_table ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_strict_json_all_succeed_emits_wrapped_shape ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_strict_json_failure_emits_no_partial_json ... ok
[INFO] [stdout] test commands::bug::view::tests::view_multi_strict_json_projects_custom_fields_inside_wrapper ... ok
[INFO] [stdout] test commands::bug::view::tests::view_single_failure_propagates ... ok
[INFO] [stdout] test commands::bug::view::tests::view_permissive_single_id_rejected ... ok
[INFO] [stdout] test commands::bug::view::tests::view_single_json_custom_only_field_omits_forced_id ... ok
[INFO] [stdout] test commands::bug::view::tests::view_single_table_renders_requested_custom_row ... ok
[INFO] [stdout] test commands::bug::view::tests::view_single_table_warns_for_unknown_field ... ok
[INFO] [stdout] test commands::bug::view::tests::view_single_unchanged_json ... ok
[INFO] [stdout] test commands::bug::verbs::tests::bug_verbs_expect_unchanged_since_collision_skips_write ... ok
[INFO] [stdout] test commands::bug::view::tests::view_single_unchanged_table ... ok
[INFO] [stdout] test commands::classification::tests::classification_list_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::classification::tests::classification_list_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::classification::tests::classification_list_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::classification::tests::classification_list_notes_disabled_when_only_unclassified ... ok
[INFO] [stdout] test commands::classification::tests::classification_list_returns_sorted_json ... ok
[INFO] [stdout] test commands::classification::tests::classification_list_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::classification::tests::classification_view_http_500_returns_error ... ok
[INFO] [stdout] test commands::classification::tests::classification_view_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::classification::tests::classification_view_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::classification::tests::classification_view_returns_data ... ok
[INFO] [stdout] test commands::comment::tests::capabilities_are_anonymous_for_read_actions ... ok
[INFO] [stdout] test commands::comment::tests::capabilities_require_credentials_for_write_actions ... ok
[INFO] [stdout] test commands::comment::tests::filter_comment_body_empty_input ... ok
[INFO] [stdout] test commands::comment::tests::filter_comment_body_preserves_normal_text ... ok
[INFO] [stdout] test commands::comment::tests::filter_comment_body_strips_html_comments ... ok
[INFO] [stdout] test commands::completion::tests::bash_script_is_nonempty_and_names_binary ... ok
[INFO] [stdout] test commands::comment::add::tests::comment_add_api_error_returns_error ... ok
[INFO] [stdout] test commands::comment::add::tests::comment_add_empty_body_is_rejected ... ok
[INFO] [stdout] test commands::completion::tests::fish_script_is_nonempty_and_names_binary ... ok
[INFO] [stdout] test commands::completion::tests::powershell_script_is_nonempty_and_names_binary ... ok
[INFO] [stdout] test commands::completion::tests::zsh_script_is_nonempty_and_names_binary ... ok
[INFO] [stdout] test commands::comment::add::tests::comment_add_with_body ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_http_500_returns_error ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_rejects_malformed_since_with_exit_code_7 ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_returns_comments ... ok
[INFO] [stdout] test commands::comment::list::tests::comment_list_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::comment::search_tags::tests::comment_search_tags_api_error_returns_error ... ok
[INFO] [stdout] test commands::comment::search_tags::tests::comment_search_tags_empty_returns_no_items ... ok
[INFO] [stdout] test commands::comment::search_tags::tests::comment_search_tags_returns_matches ... ok
[INFO] [stdout] test commands::component::tests::capabilities_allow_dry_run_and_credentials_for_writes ... ok
[INFO] [stdout] test commands::component::tests::capabilities_are_anonymous_for_reads ... ok
[INFO] [stdout] test commands::comment::tag::tests::comment_tag_add_updates_tags ... ok
[INFO] [stdout] test commands::comment::tag::tests::comment_tag_without_changes_is_rejected_before_put ... ok
[INFO] [stdout] test commands::component::create::tests::component_create_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::component::create::tests::component_create_from_json_sends_merged_body ... ok
[INFO] [stdout] test commands::component::create::tests::component_create_http_500_returns_error ... ok
[INFO] [stdout] test commands::component::create::tests::component_create_succeeds ... ok
[INFO] [stdout] test commands::component::create::tests::component_from_json_missing_required_field_names_cli_flag ... ok
[INFO] [stdout] test commands::component::create::tests::component_from_json_rejects_unknown_field ... ok
[INFO] [stdout] test commands::component::list::tests::component_list_http_500_returns_error ... ok
[INFO] [stdout] test commands::component::create::tests::component_from_json_rejects_array_shape ... ok
[INFO] [stdout] test commands::component::list::tests::component_list_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::component::list::tests::component_list_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::component::list::tests::component_list_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::component::list::tests::component_list_returns_components ... ok
[INFO] [stdout] test commands::component::list::tests::component_list_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_by_product_and_component_resolves_id ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_from_json_rejects_id_and_product_component_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_from_json_rejects_partial_product_component_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_from_json_rejects_positional_and_json_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_from_json_uses_json_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_from_json_uses_product_component_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_named_dry_run_makes_no_read_or_write_and_marks_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_named_target_duplicate_component_is_ambiguous ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_named_target_unknown_component_is_not_found ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_rejects_id_and_product_component_target ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_rejects_product_without_component ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_without_fields_is_rejected ... ok
[INFO] [stdout] test commands::component::update::tests::component_update_succeeds ... ok
[INFO] [stdout] test commands::component::view::tests::component_view_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::component::view::tests::component_view_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::config::keyring::tests::set_keyring_missing_server_errors_before_keychain ... ok
[INFO] [stdout] test commands::component::view::tests::component_view_returns_one_component ... ok
[INFO] [stdout] test commands::component::view::tests::component_view_unknown_name_is_not_found ... ok
[INFO] [stdout] test commands::config::keyring::tests::set_keyring_stores_secret_and_rewrites_config ... ok
[INFO] [stdout] test commands::config::keyring::tests::unset_keyring_missing_server_errors ... ok
[INFO] [stdout] test commands::config::keyring::tests::set_keyring_table_output_reports_human_summary ... ok
[INFO] [stdout] test commands::config::keyring::tests::unset_keyring_removes_secret_and_clears_config ... ok
[INFO] [stdout] test commands::config::keyring::tests::unset_keyring_without_keyring_credential_errors ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_from_env_preserves_config ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_from_inline_rewrites_config ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_from_keyring_errors_before_storing ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_inline_table_output_reports_human_summary ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_missing_server_errors ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_without_api_key_source_errors ... ok
[INFO] [stdout] test commands::config::migrate::tests::migrate_to_keyring_without_yes_errors ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_deletes_keyring_entry ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_default_with_others_refuses ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_deletes_non_default_entry ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_missing_errors ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_only_server_clears_default ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_succeeds_with_other_credential_less_server ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_does_not_move_explicitly_accounted_keyring_secret ... ok
[INFO] [stdout] test commands::config::remove::tests::remove_server_table_output_reports_human_summary ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_moves_keyring_secret ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_new_exists_errors ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_old_missing_errors ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_preserves_inline_credentials ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_same_name_errors ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_succeeds_with_other_credential_less_server ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_table_output_reports_human_summary ... ok
[INFO] [stdout] test commands::config::rename::tests::rename_server_updates_default_pointer ... ok
[INFO] [stdout] test commands::config::set_default::tests::set_default_on_empty_config_errors ... ok
[INFO] [stdout] test commands::config::set_default::tests::set_default_persists_selected_server ... ok
[INFO] [stdout] test commands::field::tests::field_aliases_succeeds_without_server ... ok
[INFO] [stdout] test commands::config::set_default::tests::set_default_table_output_reports_human_summary ... ok
[INFO] [stdout] test commands::config::set_default::tests::set_default_to_current_default_is_idempotent ... ok
[INFO] [stdout] test commands::config::set_server::tests::first_set_server_auto_sets_default ... ok
[INFO] [stdout] test commands::config::set_server::tests::second_set_server_does_not_override_default ... ok
[INFO] [stdout] test commands::field::tests::field_list_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_allows_url_without_api_key_source ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_rejects_both_api_key_and_env ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_table_output_reports_human_summary ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_tls_pin_clear_missing_server_errors ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_tls_pin_clear_removes_pin_fields ... ok
[INFO] [stdout] test commands::field::tests::field_list_http_500_returns_error ... ok
[INFO] [stdout] test commands::field::tests::field_list_json_format_with_empty_values_emits_empty_array ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_update_preserves_existing_default ... ok
[INFO] [stdout] test commands::config::set_server::tests::set_server_with_env_var_persists_env_source ... ok
[INFO] [stdout] test commands::config::show::tests::show_empty_config_json_has_no_servers ... ok
[INFO] [stdout] test commands::config::show::tests::show_empty_config_table_reports_no_servers ... ok
[INFO] [stdout] test commands::config::show::tests::show_json_includes_populated_server_details ... ok
[INFO] [stdout] test commands::config::show::tests::show_table_lists_configured_server ... ok
[INFO] [stdout] test commands::field::tests::field_list_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::field::tests::field_list_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::field::tests::field_list_table_format_with_empty_values_prints_no_values_message ... ok
[INFO] [stdout] test commands::group::add_user::tests::group_add_user_http_500_returns_error ... ok
[INFO] [stdout] test commands::field::tests::field_list_returns_values ... ok
[INFO] [stdout] test commands::field::tests::field_list_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::group::tests::capabilities_allow_dry_run_and_credentials_for_create_update ... ok
[INFO] [stdout] test commands::group::tests::capabilities_are_anonymous_for_reads ... ok
[INFO] [stdout] test commands::group::tests::capabilities_require_credentials_for_membership_writes ... ok
[INFO] [stdout] test commands::group::add_user::tests::group_add_user_sends_put ... ok
[INFO] [stdout] test commands::group::create::tests::group_create_from_json_sends_merged_body ... ok
[INFO] [stdout] test commands::group::create::tests::group_create_sends_post ... ok
[INFO] [stdout] test commands::group::create::tests::group_from_json_rejects_array_shape ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_http_500_returns_error ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_details_json_fields_still_projects ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::group::create::tests::group_create_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::group::create::tests::group_from_json_rejects_unknown_field ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_returns_members ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::group::list_users::tests::group_list_users_with_details ... ok
[INFO] [stdout] test commands::group::remove_user::tests::group_remove_user_sends_put ... ok
[INFO] [stdout] test commands::group::update::tests::group_update_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::group::update::tests::group_update_from_json_rejects_positional_and_json_target ... ok
[INFO] [stdout] test commands::group::update::tests::group_update_from_json_uses_json_target ... ok
[INFO] [stdout] test commands::group::update::tests::group_update_sends_put ... ok
[INFO] [stdout] test commands::group::update::tests::group_update_without_fields_is_rejected ... ok
[INFO] [stdout] test commands::product::tests::capabilities_allow_dry_run_and_credentials_for_writes ... ok
[INFO] [stdout] test commands::product::tests::capabilities_are_anonymous_for_reads ... ok
[INFO] [stdout] test commands::group::view::tests::group_view_http_500_returns_error ... ok
[INFO] [stdout] test commands::group::view::tests::group_view_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::group::view::tests::group_view_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::product::create::tests::product_create_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::group::view::tests::group_view_malformed_json_returns_error ... ok
[INFO] [stdout] test commands::group::view::tests::group_view_returns_info ... ok
[INFO] [stdout] test commands::product::create::tests::product_create_from_json_sends_merged_body ... ok
[INFO] [stdout] test commands::product::create::tests::product_create_returns_id ... ok
[INFO] [stdout] test commands::product::create::tests::product_from_json_rejects_array_shape ... ok
[INFO] [stdout] test commands::product::create::tests::product_from_json_rejects_unknown_field ... ok
[INFO] [stdout] test commands::product::list::tests::product_list_http_500_returns_error ... ok
[INFO] [stdout] test commands::product::list::tests::product_list_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::product::list::tests::product_list_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::product::list::tests::product_list_returns_products ... ok
[INFO] [stdout] test commands::product::list::tests::product_list_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::product::update::tests::product_update_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::product::update::tests::product_update_from_json_rejects_positional_and_json_target ... ok
[INFO] [stdout] test commands::product::update::tests::product_update_succeeds ... ok
[INFO] [stdout] test commands::product::update::tests::product_update_from_json_uses_json_target ... ok
[INFO] [stdout] test commands::product::update::tests::product_update_without_fields_is_rejected ... ok
[INFO] [stdout] test commands::product::view::tests::product_view_http_500_returns_error ... ok
[INFO] [stdout] test commands::product::view::tests::product_view_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::product::view::tests::product_view_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::product::view::tests::product_view_returns_detail ... ok
[INFO] [stdout] test commands::query::delete::tests::query_delete_removes_saved_query ... ok
[INFO] [stdout] test commands::query::delete::tests::query_delete_unknown_errors ... ok
[INFO] [stdout] test commands::query::list::tests::query_list_emits_saved_query_names ... ok
[INFO] [stdout] test commands::query::list::tests::query_list_empty ... ok
[INFO] [stdout] test commands::query::list::tests::query_list_table_sorts_entries_by_name ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_applies_default_order_even_when_raw_params_present ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_applies_field_overrides ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_count_ignores_saved_url_offset ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_count_json_emits_count_object ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_count_rejects_offset_and_paginate ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_count_table_prints_integer_only ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_empty_override_keeps_saved_field_filter ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_executes_saved_query ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_honors_saved_custom_fields ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_overrides_replace_saved_field_filters ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_rejects_malformed_created_since_override ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_sends_default_bug_id_order ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_sort_override_takes_precedence ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_with_limit_override ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_with_server_override ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_unknown_errors ... ok
[INFO] [stdout] test commands::query::tests::explicit_sort_order_honors_direction ... ok
[INFO] [stdout] test commands::query::tests::explicit_sort_order_is_none_without_sort ... ok
[INFO] [stdout] test commands::query::tests::explicit_sort_order_omits_redundant_bug_id_tiebreaker ... ok
[INFO] [stdout] test commands::query::tests::explicit_sort_order_builds_clause_with_tiebreaker ... ok
[INFO] [stdout] test commands::query::update::tests::clear_query_field_handles_every_name ... ok
[INFO] [stdout] test commands::query::run::tests::query_run_without_sort_keeps_saved_order ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_accepts_date_only_query ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_accepts_whiteboard_only_filter ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_and_show ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_existing_entry_reports_updated ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_from_url ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_persists_158_field_filters ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_persists_every_field ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_persists_explicit_sort ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_rejects_malformed_created_since ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_requires_filter ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_search_kind ... ok
[INFO] [stdout] test commands::query::save::tests::query_save_stores_canonical_date_forms ... ok
[INFO] [stdout] test commands::query::show::tests::query_show_unknown_errors ... ok
[INFO] [stdout] test commands::runtime::input::attachment_input::tests::empty_summary_falls_back_to_filename ... ok
[INFO] [stdout] test commands::runtime::input::attachment_input::tests::explicit_summary_and_content_type_win ... ok
[INFO] [stdout] test commands::runtime::input::attachment_input::tests::guess_content_type_known_and_unknown ... ok
[INFO] [stdout] test commands::runtime::input::attachment_input::tests::missing_file_is_io_error_naming_the_path ... ok
[INFO] [stdout] test commands::runtime::input::attachment_input::tests::patch_defaults_content_type_to_text_plain ... ok
[INFO] [stdout] test commands::runtime::input::attachment_input::tests::summary_defaults_to_filename_when_absent ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_empty_flags ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_bad_requestee_fails ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_clear ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_bad_date_errors ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_deny ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_empty_name_fails ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_grant ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_no_status_char_fails ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_unclosed_paren_fails ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_unopened_paren_fails ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_flag_with_request ... ok
[INFO] [stdout] test commands::runtime::input::flags::tests::parse_multiple_flags ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::classify_param_kinds ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::empty_known_name_ignored ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::empty_limit_treated_as_absent ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::falls_back_to_query_based_on ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::find_server_by_hostname_matches ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::find_server_by_hostname_no_match ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::limit_zero_accepted_as_no_limit ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::non_numeric_limit_rejected ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::no_suggested_name_when_absent ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::overflow_limit_rejected ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_complex_boolean_chart_url ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_simple_url_with_recognized_params ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_all_recognized_fields ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_malformed_url_errors ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_decodes_percent_encoded_values ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_field_selection_is_typed_not_raw ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_hostname_no_match_no_default_errors ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_hostname_matches_configured_server ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_hostname_no_match_uses_default ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_only_raw_params ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_repeated_product_params_accumulate ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_repeated_whiteboard_accumulates ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_strips_api_key_from_raw_params ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_strips_credentials_case_insensitive ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_strips_credentials_from_source_url ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_with_new_158_field_params ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_with_shell_backslashes_boolean_chart ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_without_buglist_cgi_errors ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parse_url_with_shell_backslashes_succeeds ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::prefers_known_name_over_query_based_on ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::strip_shell_backslashes_cleans_escaped_url ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::strip_shell_backslashes_ignores_non_special ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::parses_known_name_into_suggested_name ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::strip_shell_backslashes_preserves_clean_url ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::strip_shell_backslashes_preserves_percent_encoding ... ok
[INFO] [stdout] test commands::runtime::input::url_parser::tests::strip_shell_backslashes_trailing_backslash ... ok
[INFO] [stdout] test commands::runtime::interaction::confirm::tests::read_yes_no_accepts_y_and_yes_case_insensitively ... ok
[INFO] [stdout] test commands::runtime::interaction::confirm::tests::read_yes_no_errors_on_eof_with_yes_hint ... ok
[INFO] [stdout] test commands::runtime::interaction::confirm::tests::read_yes_no_treats_a_typed_non_yes_as_no ... ok
[INFO] [stdout] test commands::runtime::interaction::confirm::tests::should_prompt_only_above_threshold_at_interactive_tty ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_clear_resets_filter ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_clear_search_reports_effective_list_kind ... ok
[INFO] [stdout] test commands::runtime::interaction::editor::tests::tempfile_create_error_names_temp_path ... ok
[INFO] [stdout] test commands::runtime::interaction::editor::tests::tempfile_uses_unique_paths_for_live_files_with_same_prefix ... ok
[INFO] [stdout] test commands::runtime::interaction::editor::tests::tempfile_writes_initial_content_and_cleans_up_on_drop ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::api_mode_getter_returns_configured_value ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::assume_yes_getter_returns_false_by_default ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::assume_yes_getter_returns_false_when_explicitly_set_false ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::assume_yes_getter_returns_true_when_set ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::retry_max_getter_distinguishes_nonzero_from_zero ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::retry_max_getter_returns_configured_value ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::retry_max_getter_returns_zero_by_default ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::server_getter_returns_configured_value ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::server_getter_returns_none_when_not_set ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_clear_wins_over_set ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::with_server_override_clears_server ... ok
[INFO] [stdout] test commands::runtime::invocation::inline_server::tests::inline_name_is_parenthesized ... ok
[INFO] [stdout] test commands::runtime::mutation::tests::dry_run_emits_preview_and_skips_execute ... ok
[INFO] [stdout] test commands::runtime::mutation::tests::ensure_batch_complete_allows_all_successes ... ok
[INFO] [stdout] test commands::runtime::mutation::tests::ensure_batch_complete_reports_partial_failure_counts ... ok
[INFO] [stdout] test commands::runtime::search::fields::tests::validate_json_field_selection_allows_non_default_builtin_fields ... ok
[INFO] [stdout] test commands::runtime::search::fields::tests::validate_table_columns_errors_for_all_unknown_include ... ok
[INFO] [stdout] test commands::runtime::search::fields::tests::warn_unknown_fields_reports_only_unknown_include_tokens ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_clearing_all_filters_rejected ... ok
[INFO] [stdout] test commands::runtime::invocation::context::tests::with_server_override_changes_server ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_from_url_replaces_existing_query ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_only_component_is_a_change ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_only_product_is_a_change ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_replaces_filter_keeps_rest ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_replaces_limit ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_requires_a_change ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_all_pages_errors_when_safety_cap_reached_without_short_page ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_none_progress_is_silent_on_stderr ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_search_reports_effective_search_kind ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_sets_dates_and_sort ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_unknown_clear_field_errors ... ok
[INFO] [stdout] test commands::query::update::tests::query_update_unknown_query_errors ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::resolve_offset_cli_overrides_url ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::resolve_offset_folds_url_offset_into_field ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::truncation_note_json_goes_to_stderr ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::truncation_note_noop_when_not_truncated ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::truncation_note_table_goes_to_stdout ... ok
[INFO] [stdout] test commands::runtime::search::policy::tests::count_search_params_fetches_all_ids_without_saved_offsets ... ok
[INFO] [stdout] test commands::runtime::search::policy::tests::count_search_rejects_offset_or_pagination ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::canonicalizes_field_aliases ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::default_sort_is_stable_bug_id ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::invalid_created_since_errors_naming_the_flag ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::leaves_command_specific_criteria_at_default ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::parses_date_filters_into_params ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::sets_limit_and_passes_offset_through ... ok
[INFO] [stdout] test commands::runtime::search::setup::tests::sort_field_appends_direction_and_tiebreaker ... ok
[INFO] [stdout] test commands::runtime::interaction::editor::tests::launch_propagates_editor_failure_as_input_validation ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_paginate_loops_until_short_page ... ok
[INFO] [stdout] test commands::runtime::interaction::editor::tests::launch_error_names_editor_command ... ok
[INFO] [stdout] test commands::runtime::interaction::editor::tests::launch_returns_post_edit_content_via_fake_editor ... ok
[INFO] [stdout] test commands::runtime::shared::connection::detect::tests::persist_detected_settings_skips_unknown_server ... ok
[INFO] [stdout] test commands::runtime::shared::connection::detect::tests::persist_skips_api_mode_when_version_probe_failed ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::email_hint_returns_none_when_email_is_absent ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::email_hint_returns_some_when_email_is_set ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::extract_hostname_parses_url ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::extract_hostname_returns_raw_on_invalid ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::extract_hostname_with_port ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::hostname_returns_extracted_host_not_constant ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::persist_locked_runs_mutator_when_persist_is_true ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::persist_locked_skips_mutator_when_persist_is_false ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::resolve_connect_target_config_server_is_persistent_and_uses_cached_modes ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_exact_fill_is_not_truncated ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::resolve_connect_target_inline_server_is_ephemeral_and_uncached ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::server_tls_config_copies_persisted_tls_fields ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_paginate_unbounded_emits_nothing_from_fetch ... ok
[INFO] [stdout] test commands::runtime::shared::connection::target::tests::resolve_connect_target_inline_server_carries_email ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::cached_path_probes_tls_when_pinned ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_no_truncation_when_under_limit ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_paginate_rejects_next_offset_overflow ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_flags_truncation_via_over_fetch ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_missing_server_fails ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_paginate_zero_limit_makes_single_unbounded_request ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_paginate_emits_page_events_but_not_done ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_rejects_limit_that_cannot_overfetch ... ok
[INFO] [stdout] test commands::runtime::shared::connection::detect::tests::detect_with_tofu_fallback_propagates_auth_errors ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_paginate_zero_result_emits_page_not_done ... ok
[INFO] [stdout] test commands::runtime::shared::connection::detect::tests::detect_with_tofu_fallback_normal_path ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::fetch_page_rejects_next_offset_overflow ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::cached_path_proceeds_when_probe_fails_on_non_tls_error ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::cached_path_skips_probe_when_insecure ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::cached_path_probes_tls_when_default_trust ... ok
[INFO] [stdout] test commands::runtime::shared::connection::detect::tests::detect_and_build_client_persists_and_returns_client ... ok
[INFO] [stdout] test commands::runtime::search::paging::tests::paginate_stdout_identical_with_and_without_progress ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::inline_credentialless_server_connects_without_config ... ok
[INFO] [stdout] test commands::runtime::shared::connection::detect::tests::detect_and_build_client_respects_api_override ... ok
[INFO] [stderr] 
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::handle_pin_rotation_rejects_in_noninteractive ... ok
[INFO] [stderr] WARNING: Certificate changed for server "test" (example.test)!
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::handle_tofu_returns_error_when_probe_fails ... ok
[INFO] [stderr]   Old pin: sha256//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
[INFO] [stdout] test commands::runtime::shared::connection::tests::credentialless_named_server_persists_api_mode_without_auth_method ... ok
[INFO] [stderr]   New pin: sha256//BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
[INFO] [stderr]   Issuer:  CN=New (unchanged)
[INFO] [stderr] 
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::should_offer_tofu_false_for_non_http_error ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::credentialed_cached_mode_only_runs_detection_not_probe ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::should_offer_tofu_false_when_ca_configured ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::should_offer_tofu_false_when_insecure ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::should_offer_tofu_false_when_pin_configured ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_with_tls_insecure_warns_and_succeeds ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::tls_uses_default_trust_false_when_ca_cert_set ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::tls_uses_default_trust_false_when_pin_set ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::tls_uses_default_trust_true_for_default_config ... ok
[INFO] [stdout] test commands::runtime::shared::tests::classify_both_is_mutually_exclusive_error ... ok
[INFO] [stdout] test commands::runtime::shared::tests::classify_file_dash_is_stdin ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::tls_uses_default_trust_false_when_insecure ... ok
[INFO] [stdout] test commands::runtime::shared::tests::classify_inline_dash_is_stdin ... ok
[INFO] [stdout] test commands::runtime::shared::tests::classify_inline_literal ... ok
[INFO] [stdout] test commands::runtime::shared::tests::classify_file_path ... ok
[INFO] [stdout] test commands::runtime::shared::tests::classify_none ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_api_override_applies ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_comment_body_allows_absent_optional_body ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_comment_body_accepts_literal ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_comment_body_rejects_required_private_body ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_comment_body_rejects_whitespace ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_literal_passes_through ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_missing_file_is_input_validation ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_none_is_none ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_optional_comment_body_accepts_comment_flag ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_optional_comment_body_rejects_private_without_body ... ok
[INFO] [stdout] test commands::runtime::shared::tests::read_to_string_from_reads_bytes ... ok
[INFO] [stdout] test commands::runtime::shared::tests::read_to_string_from_rejects_non_utf8 ... ok
[INFO] [stdout] test commands::runtime::shared::tests::materialize_comment_body_uses_required_fallback ... ok
[INFO] [stdout] test commands::schema::tests::attachment_conforms ... ok
[INFO] [stdout] test commands::schema::tests::batch_create_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::batch_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::bug_object_is_open_and_documents_builtins ... ok
[INFO] [stdout] test commands::schema::tests::comment_conforms ... ok
[INFO] [stdout] test commands::schema::tests::action_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::component_conforms ... ok
[INFO] [stdout] test commands::schema::tests::config_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::count_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::download_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::dry_run_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::dry_run_result_schema_allows_admin_resources ... ok
[INFO] [stdout] test commands::schema::tests::compound_create_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::execute_list_json_is_array_of_names ... ok
[INFO] [stdout] test commands::schema::tests::classification_conforms ... ok
[INFO] [stdout] test commands::schema::tests::every_schema_is_wellformed_and_named_draft_2020_12 ... ok
[INFO] [stdout] test commands::schema::tests::execute_named_schema_is_not_enveloped ... ok
[INFO] [stdout] test commands::schema::tests::execute_prints_named_schema_verbatim ... ok
[INFO] [stdout] test commands::schema::tests::execute_unknown_schema_errors_with_available_list ... ok
[INFO] [stdout] test commands::schema::tests::field_value_conforms ... ok
[INFO] [stdout] test commands::schema::tests::execute_list_table_is_one_name_per_line ... ok
[INFO] [stdout] test commands::schema::tests::group_conforms ... ok
[INFO] [stdout] test commands::schema::tests::execute_list_ndjson_is_one_name_per_line ... ok
[INFO] [stdout] test commands::schema::tests::membership_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::history_record_conforms ... ok
[INFO] [stdout] test commands::schema::tests::registry_is_sorted_and_unique ... ok
[INFO] [stdout] test commands::schema::tests::search_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::multi_bug_view_conforms ... ok
[INFO] [stdout] test commands::schema::tests::server_capabilities_conforms ... ok
[INFO] [stdout] test commands::schema::tests::upload_result_conforms ... ok
[INFO] [stdout] test commands::schema::tests::whoami_conforms ... ok
[INFO] [stdout] test commands::schema::tests::whoami_schema_constrains_auth_mode_enum ... ok
[INFO] [stdout] test commands::schema::tests::user_conforms ... ok
[INFO] [stdout] test commands::schema::tests::tag_result_conforms ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_partial_cache_preserves_cached_auth_method ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::classify_and_handle_tls_failure_returns_none_for_non_tls_error ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_returns_client ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_with_email_config_succeeds ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::cached_path_probe_does_not_follow_redirects ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::probe_tls_returns_err_on_unreachable_address ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::uncached_auth_detects_and_persists ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_resolves_env_backed_api_key ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::connect_client_partial_cache_redetects_api_mode ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::credentialless_cached_mode_builds_anonymous_client ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tls_trust::tests::should_offer_tofu_false_for_non_tls_http_error ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::inline_server_missing_env_var_is_clean_error ... ok
[INFO] [stdout] test commands::runtime::shared::connection::tests::inline_server_connects_without_config_and_persists_nothing ... ok
[INFO] [stdout] test commands::server::tests::server_capabilities_outputs_documented_shape ... ok
[INFO] [stdout] test commands::server::tests::server_info_returns_version_and_extensions ... ok
[INFO] [stdout] test commands::template::tests::clear_template_field_handles_every_name ... ok
[INFO] [stdout] test commands::server::tests::server_info_http_500_returns_error ... ok
[INFO] [stdout] test commands::template::delete::tests::template_delete_existing_removes_entry ... ok
[INFO] [stdout] test commands::template::delete::tests::template_delete_json_matches_domain_mutation_output ... ok
[INFO] [stdout] test commands::template::delete::tests::template_delete_table_prints_deleted_message ... ok
[INFO] [stdout] test commands::template::delete::tests::template_delete_unknown_errors ... ok
[INFO] [stdout] test commands::template::list::tests::template_list_empty ... ok
[INFO] [stdout] test commands::template::list::tests::template_list_renders_saved_template ... ok
[INFO] [stdout] test commands::template::list::tests::template_list_table_sorts_entries_by_name ... ok
[INFO] [stdout] test commands::template::save::tests::template_save_and_show ... ok
[INFO] [stdout] test commands::template::save::tests::template_save_and_show_create_metadata_fields ... ok
[INFO] [stdout] test commands::template::save::tests::template_save_existing_entry_reports_updated_and_replaces_fields ... ok
[INFO] [stdout] test commands::template::save::tests::template_save_rejects_malformed_deadline ... ok
[INFO] [stdout] test commands::template::save::tests::template_save_requires_field ... ok
[INFO] [stdout] test commands::template::save::tests::template_save_with_single_field_succeeds ... ok
[INFO] [stdout] test commands::template::show::tests::template_show_unknown_errors ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_clear_resets_field ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_clear_wins_over_set ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_clearing_all_fields_rejected ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_merges_and_clears_create_metadata_fields ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_merges_field ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_requires_a_change ... ok
[INFO] [stdout] test commands::user::tests::capabilities_allow_dry_run_and_credentials_for_writes ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_unknown_clear_field_errors ... ok
[INFO] [stdout] test commands::user::tests::capabilities_are_anonymous_for_search ... ok
[INFO] [stdout] test commands::user::update::tests::resolve_login_denied_text_disable_with_custom_text ... ok
[INFO] [stdout] test commands::template::update::tests::template_update_unknown_template_errors ... ok
[INFO] [stdout] test commands::user::update::tests::resolve_login_denied_text_enable_clears_to_empty_string ... ok
[INFO] [stdout] test commands::user::update::tests::resolve_login_denied_text_unset_returns_none ... ok
[INFO] [stdout] test commands::user::update::tests::resolve_login_denied_text_disable_without_custom_text_uses_default ... ok
[INFO] [stdout] test commands::user::create::tests::user_create_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test commands::user::create::tests::user_create_from_json_sends_merged_body ... ok
[INFO] [stdout] test commands::user::create::tests::user_create_sends_post ... ok
[INFO] [stdout] test commands::user::create::tests::user_from_json_rejects_array_shape ... ok
[INFO] [stdout] test commands::user::create::tests::user_from_json_rejects_unknown_field ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_details_json_fields_still_projects ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_http_500_returns_error ... ok
[INFO] [stdout] test config::model::tests::from_url_with_env_key_none_email_is_none ... ok
[INFO] [stdout] test config::model::tests::from_url_with_env_key_preserves_email ... ok
[INFO] [stdout] test config::model::tests::from_url_with_env_key_preserves_url_and_env_var ... ok
[INFO] [stdout] test config::tests::api_mode_display_formatting ... ok
[INFO] [stdout] test config::tests::api_mode_from_str_invalid ... ok
[INFO] [stdout] test config::tests::api_mode_from_str_valid ... ok
[INFO] [stdout] test config::tests::auth_method_from_str_invalid ... ok
[INFO] [stdout] test config::tests::auth_method_from_str_valid ... ok
[INFO] [stdout] test config::tests::config_empty_queries_not_serialized ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_json_fields_projects_to_named_keys ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_json_unknown_field_exits_7 ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_malformed_json_returns_error ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_ndjson_fields_projects_each_line ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_returns_results ... ok
[INFO] [stdout] test commands::user::search::tests::user_search_table_fields_is_noop_with_warning ... ok
[INFO] [stdout] test commands::user::update::tests::update_user_disable_login_sends_denied_text ... ok
[INFO] [stdout] test commands::user::update::tests::update_user_enable_login_sends_empty_denied_text ... ok
[INFO] [stdout] test config::tests::credential_source_allows_no_api_key_source ... ok
[INFO] [stdout] test config::tests::credential_source_keyring_explicit_account_variant ... ok
[INFO] [stdout] test commands::user::update::tests::user_update_dry_run_makes_no_write_and_marks_payload ... ok
[INFO] [stdout] test config::tests::credential_source_rejects_all_three ... ok
[INFO] [stdout] test config::tests::credential_source_rejects_keyring_with_env ... ok
[INFO] [stdout] test config::tests::credential_source_keyring_variant ... ok
[INFO] [stdout] test config::tests::env_backed_server_reports_env_credential_source ... ok
[INFO] [stdout] test config::tests::credential_source_rejects_keyring_with_inline ... ok
[INFO] [stdout] test config::tests::fsync_parent_dir_errors_when_parent_cannot_be_opened ... ok
[INFO] [stdout] test config::tests::keyring_ref_defaults ... ok
[INFO] [stdout] test config::tests::keyring_ref_explicit ... ok
[INFO] [stdout] test config::tests::keyring_ref_toml_roundtrip_empty ... ok
[INFO] [stdout] test config::tests::keyring_ref_toml_roundtrip_full ... ok
[INFO] [stdout] test commands::user::update::tests::user_update_from_json_cli_disable_login_overrides_json_denied_text ... ok
[INFO] [stdout] test config::tests::resolve_server_errors_for_unknown_server ... ok
[INFO] [stdout] test commands::user::update::tests::user_update_from_json_rejects_positional_and_json_target ... ok
[INFO] [stdout] test config::tests::resolve_server_name_only_errors_when_no_default_and_no_name ... ok
[INFO] [stdout] test config::tests::resolve_server_name_only_returns_default_when_none ... ok
[INFO] [stdout] test config::tests::resolve_server_name_only_returns_explicit_name ... ok
[INFO] [stdout] test config::tests::resolve_server_returns_correct_server ... ok
[INFO] [stdout] test commands::user::update::tests::user_update_from_json_uses_json_target ... ok
[INFO] [stdout] test commands::user::update::tests::user_update_without_fields_is_rejected ... ok
[INFO] [stdout] test commands::whoami::tests::whoami_http_500_returns_error ... ok
[INFO] [stdout] test commands::whoami::tests::whoami_returns_user_info ... ok
[INFO] [stderr] warning: config file '/tmp/.tmpd9cVXS/bzr/config.toml' has overly broad permissions (755); expected owner-only access. Fix with `chmod 600` '/tmp/.tmpd9cVXS/bzr/config.toml'
[INFO] [stderr] warning: config directory '/tmp/.tmpUXaGMq' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmpUXaGMq'
[INFO] [stderr] warning: config file '/tmp/.tmpUXaGMq/config.toml' has overly broad permissions (644); expected owner-only access. Fix with `chmod 600` '/tmp/.tmpUXaGMq/config.toml'
[INFO] [stderr] warning: config directory '/tmp/.tmp8XyFuq' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmp8XyFuq'
[INFO] [stderr] warning: config file '/tmp/.tmp8XyFuq/config.toml' has overly broad permissions (755); expected owner-only access. Fix with `chmod 600` '/tmp/.tmp8XyFuq/config.toml'
[INFO] [stdout] test config::tests::config_file_io_operations ... ok
[INFO] [stdout] test config::tests::config_load_parse_error_names_operation_and_path ... ok
[INFO] [stdout] test config::tests::config_load_read_error_names_operation_and_path ... ok
[INFO] [stdout] test config::tests::config_load_rejects_multiple_api_key_sources ... ok
[INFO] [stdout] test config::tests::server_config_rejects_multiple_api_key_sources ... ok
[INFO] [stdout] test config::tests::config_path_resolution_precedence ... ok
[INFO] [stdout] test config::tests::config_roundtrips_saved_queries ... ok
[INFO] [stdout] test config::tests::validate_tls_accepts_existing_ca_cert_file ... ok
[INFO] [stdout] test config::tests::validate_tls_ca_cert_with_pin_conflicts ... ok
[INFO] [stdout] test config::tests::validate_tls_insecure_with_ca_cert_conflicts ... ok
[INFO] [stdout] test config::tests::config_save_hardens_permissions_for_new_paths ... ok
[INFO] [stdout] test config::tests::validate_tls_no_conflicts_passes ... ok
[INFO] [stdout] test config::tests::validate_tls_rejects_missing_ca_cert_file ... ok
[INFO] [stdout] test credentials::keyring::tests::delete_missing_entry_is_ok ... ok
[INFO] [stdout] test credentials::keyring::tests::install_test_store_is_idempotent_across_repeated_calls ... ok
[INFO] [stdout] test credentials::keyring::tests::retrieve_missing_entry_maps_to_no_entry_message ... ok
[INFO] [stdout] test credentials::keyring::tests::store_retrieve_delete_roundtrip ... ok
[INFO] [stdout] test config::tests::config_save_rename_error_names_temp_and_target_paths ... ok
[INFO] [stdout] test credentials::tests::resolve_api_key_from_keyring_defaults_account_to_server_name ... ok
[INFO] [stdout] test credentials::tests::resolve_api_key_from_keyring_with_explicit_service_and_account ... ok
[INFO] [stdout] test config::tests::validate_tls_insecure_with_pin_conflicts ... ok
[INFO] [stdout] test credentials::tests::resolve_optional_api_key_returns_none_without_source ... ok
[INFO] [stdout] test error::tests::error_type_api ... ok
[INFO] [stdout] test error::tests::error_type_config ... ok
[INFO] [stdout] test error::tests::error_type_io ... ok
[INFO] [stdout] test error::tests::error_type_toml_parse ... ok
[INFO] [stdout] test error::tests::exit_code_api ... ok
[INFO] [stdout] test error::tests::exit_code_auth ... ok
[INFO] [stdout] test error::tests::exit_code_batch_partial_failure ... ok
[INFO] [stdout] test error::tests::exit_code_config ... ok
[INFO] [stdout] test error::tests::exit_code_data_integrity ... ok
[INFO] [stdout] test error::tests::exit_code_deserialize ... ok
[INFO] [stdout] test error::tests::exit_code_http_status ... ok
[INFO] [stdout] test config::tests::failed_write_leaves_previous_config_intact ... ok
[INFO] [stdout] test error::tests::exit_code_input_validation ... ok
[INFO] [stdout] test error::tests::exit_code_io ... ok
[INFO] [stdout] test error::tests::exit_code_issuer_changed ... ok
[INFO] [stdout] test error::tests::exit_code_keyring ... ok
[INFO] [stdout] test error::tests::exit_code_not_found ... ok
[INFO] [stdout] test error::tests::exit_code_pin_mismatch ... ok
[INFO] [stdout] test error::tests::exit_code_toml_parse ... ok
[INFO] [stdout] test config::tests::overwrite_replaces_content_wholesale ... ok
[INFO] [stdout] test error::tests::is_permissive_bug_view_error_false_for_transport_and_auth ... ok
[INFO] [stdout] test error::tests::is_permissive_bug_view_error_false_for_api_session_codes ... ok
[INFO] [stdout] test error::tests::is_permissive_bug_view_error_true_for_api_100 ... ok
[INFO] [stdout] test error::tests::is_permissive_bug_view_error_true_for_api_101 ... ok
[INFO] [stdout] test error::tests::is_permissive_bug_view_error_true_for_api_102 ... ok
[INFO] [stdout] test error::tests::is_permissive_bug_view_error_true_for_notfound ... ok
[INFO] [stdout] test error::tests::mid_air_collision_has_distinct_exit_code_and_type ... ok
[INFO] [stdout] test error::tests::structured_detail_api_carries_api_code ... ok
[INFO] [stdout] test error::tests::structured_detail_collision_carries_retry_tokens ... ok
[INFO] [stdout] test error::tests::structured_detail_batch_partial_failure_carries_counts ... ok
[INFO] [stdout] test error::tests::structured_detail_http_status_carries_status ... ok
[INFO] [stdout] test config::tests::save_leaves_no_temp_files_and_writes_complete_content ... ok
[INFO] [stdout] test error::tests::structured_detail_input_field_without_value_omits_value ... ok
[INFO] [stdout] test error::tests::structured_detail_input_field_carries_field_and_value ... ok
[INFO] [stdout] test error::tests::structured_detail_not_found_carries_resource_and_identifier ... ok
[INFO] [stdout] test error::tests::structured_detail_pin_mismatch_carries_server_and_pins ... ok
[INFO] [stderr] warning: config directory '/tmp/.tmparOpAq/bzr' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmparOpAq/bzr'
[INFO] [stdout] test error::tests::structured_detail_never_emits_reserved_keys ... ok
[INFO] [stdout] test error::tests::structured_detail_plain_input_has_no_attribution ... ok
[INFO] [stdout] test http::tests::backoff_delay_grows_exponentially_and_caps ... ok
[INFO] [stdout] test http::tests::backoff_delay_honors_retry_after_when_longer ... ok
[INFO] [stdout] test http::tests::parse_retry_after_reads_delta_seconds ... ok
[INFO] [stdout] test config::tests::save_preserves_fresh_temp_files_of_concurrent_writers ... ok
[INFO] [stdout] test http::tests::resolve_timeout_secs_ignores_invalid_env ... ok
[INFO] [stdout] test http::tests::resolve_timeout_secs_prefers_flag_then_env ... ok
[INFO] [stdout] test http::tests::utf8_prefix_backs_off_without_exceeding_max ... ok
[INFO] [stdout] test http::tests::is_retryable_status_covers_429_and_5xx_only ... ok
[INFO] [stdout] test http::tests::parse_retry_after_rejects_non_integer ... ok
[INFO] [stdout] test http::tests::should_retry_status_gates_5xx_on_safety ... ok
[INFO] [stdout] test output::formatting::tests::colorize_status_assigned_is_yellow ... ok
[INFO] [stdout] test output::formatting::tests::colorize_status_case_insensitive ... ok
[INFO] [stdout] test output::formatting::tests::colorize_status_known_statuses_map_to_distinct_colors ... ok
[INFO] [stdout] test output::formatting::tests::colorize_status_resolved_is_red ... ok
[INFO] [stdout] test output::formatting::tests::colorize_status_new_is_green ... ok
[INFO] [stdout] test output::formatting::tests::colorize_status_unknown_passes_through ... ok
[INFO] [stdout] test output::formatting::tests::mask_api_key_empty_string_fully_masked ... ok
[INFO] [stdout] test output::formatting::tests::json_family_json_is_pretty_ndjson_is_compact ... ok
[INFO] [stdout] test output::formatting::tests::mask_api_key_exactly_8_chars_fully_masked ... ok
[INFO] [stdout] test output::formatting::tests::mask_api_key_long_key_shows_prefix ... ok
[INFO] [stdout] test output::formatting::tests::mask_api_key_multibyte_char_at_boundary_does_not_panic ... ok
[INFO] [stdout] test output::formatting::tests::ndjson_array_emits_one_compact_line_per_element ... ok
[INFO] [stdout] test output::formatting::tests::ndjson_single_object_emits_one_compact_line ... ok
[INFO] [stdout] test output::formatting::tests::mask_api_key_short_key_fully_masked ... ok
[INFO] [stdout] test output::formatting::tests::opt_yes_no_formats_optional_boolean_values ... ok
[INFO] [stderr] warning: config directory '/tmp/.tmpFYH0fj/bzr' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmpFYH0fj/bzr'
[INFO] [stdout] test output::formatting::tests::output_format_default_is_table ... ok
[INFO] [stdout] test output::formatting::tests::ndjson_empty_array_emits_nothing ... ok
[INFO] [stdout] test output::formatting::tests::output_format_from_str ... ok
[INFO] [stdout] test output::formatting::tests::print_result_json_serializes_value ... ok
[INFO] [stdout] test output::formatting::tests::projected_resource_pattern_trims_each_ndjson_element ... ok
[INFO] [stdout] test config::tests::save_reap_requires_both_config_prefix_and_tmp_suffix ... ok
[INFO] [stdout] test output::formatting::tests::schema_version_is_three_part_semver ... ok
[INFO] [stdout] test output::formatting::tests::shorten_email_empty_string ... ok
[INFO] [stdout] test output::formatting::tests::shorten_email_no_at_unchanged ... ok
[INFO] [stdout] test output::formatting::tests::shorten_email_strips_domain ... ok
[INFO] [stdout] test output::formatting::tests::shorten_email_uses_first_at_symbol ... ok
[INFO] [stdout] test output::formatting::tests::truncate_exact_length_unchanged ... ok
[INFO] [stdout] test output::formatting::tests::truncate_long_string_adds_ellipsis ... ok
[INFO] [stdout] test output::formatting::tests::truncate_max_chars_below_ellipsis_width_does_not_panic ... ok
[INFO] [stdout] test output::formatting::tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test output::formatting::tests::truncate_unicode_counts_chars_not_bytes ... ok
[INFO] [stdout] test output::formatting::tests::write_formatted_projected_table_ignores_projection ... ok
[INFO] [stdout] test output::formatting::tests::write_formatted_projected_trims_ndjson_object ... ok
[INFO] [stdout] test output::formatting::tests::write_json_family_json_arm_is_enveloped ... ok
[INFO] [stdout] test output::formatting::tests::write_json_wraps_payload_in_versioned_envelope ... ok
[INFO] [stdout] test output::formatting::tests::write_records_or_empty_prints_empty_message ... ok
[INFO] [stdout] test output::progress::tests::batch_event_emits_cumulative_counts ... ok
[INFO] [stdout] test output::progress::tests::done_event_emits_fetched ... ok
[INFO] [stdout] test output::formatting::tests::yes_no_formats_boolean_values ... ok
[INFO] [stdout] test output::progress::tests::none_mode_writes_nothing ... ok
[INFO] [stdout] test output::progress::tests::page_event_emits_compact_ndjson_line ... ok
[INFO] [stdout] test output::resources::attachment::tests::attachment_batch_result_omits_empty_optional_fields ... ok
[INFO] [stdout] test output::progress::tests::error_event_emits_type_and_exit_code ... ok
[INFO] [stdout] test output::resources::attachment::tests::attachment_json_includes_flags_array ... ok
[INFO] [stdout] test output::resources::attachment::tests::attachment_batch_result_json_shape ... ok
[INFO] [stdout] test output::resources::attachment::tests::attachment_text_format_fields ... ok
[INFO] [stdout] test output::resources::attachment::tests::batch_summary_from_results_aggregates_correctly ... ok
[INFO] [stdout] test output::resources::attachment::tests::target_status_serializes_lowercase ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_batch_table_attachment_error_writes_to_err ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_batch_table_attachment_ok_writes_path_and_bytes ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_batch_table_bug_error_writes_to_err ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_batch_table_bug_error_with_partial_files ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_batch_table_includes_summary ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_does_not_emit_ansi_when_writing_to_buffer ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_batch_json_emits_typed_payload ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_json_empty ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachment_detail_shows_flags ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_json_empty_renders_empty_array ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_json_obsolete_and_private ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_json_one_attachment ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_table_missing_optional_fields_render_dash ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_json_one_via_write ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_table_empty_says_no_attachments ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_table_patch_tag_precedes_obsolete_and_private ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_table_renders_all_fields ... ok
[INFO] [stdout] test output::resources::attachment::tests::write_attachments_table_renders_patch_tag ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_exclude_id_drops_id ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_exclude_subset_drops_only_those ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_exclude_drops_selected_custom_field ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_full_object_places_custom_fields_after_built_ins ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_full_object_preserves_struct_field_order ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_include_alias_resolves_to_canonical_key ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_include_keeps_builtin_and_custom_fields ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_keeps_flags_when_selected ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_no_selection_is_full_object ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_partial_unknown_keeps_known_only ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_projection_preserves_struct_order_not_request_order ... ok
[INFO] [stdout] test output::resources::bug::tests::canonical_field_list_handles_empty_and_blanks ... ok
[INFO] [stdout] test output::resources::bug::tests::bugs_to_json_projects_every_element ... ok
[INFO] [stdout] test output::resources::bug::tests::canonical_field_list_passes_through_unknown_and_canonical ... ok
[INFO] [stdout] test output::resources::bug::tests::canonical_field_list_translates_aliases ... ok
[INFO] [stdout] test output::resources::bug::tests::columns_registry_is_one_to_one_with_bug_serde_keys ... ok
[INFO] [stdout] test output::resources::bug::tests::detail_default_shows_all_present_fields ... ok
[INFO] [stdout] test output::resources::bug::tests::detail_default_does_not_render_captured_custom_fields ... ok
[INFO] [stdout] test output::resources::bug::tests::detail_include_limits_rows ... ok
[INFO] [stdout] test output::resources::bug::tests::detail_exclude_drops_row ... ok
[INFO] [stdout] test output::resources::bug::tests::detail_include_renders_requested_custom_row ... ok
[INFO] [stdout] test output::resources::bug::tests::multi_bug_view_renders_failure_block_with_unavailable_marker ... ok
[INFO] [stdout] test output::resources::bug::tests::multi_bug_view_interleaves_success_and_failure_in_order ... ok
[INFO] [stdout] test output::resources::bug::tests::multi_bug_view_single_row_emits_no_divider ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_all_custom_include_ok ... ok
[INFO] [stdout] test output::resources::bug::tests::multi_bug_view_renders_success_blocks_with_dividers ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_all_unknown_include_errs ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_default_spec_ok ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_blank_include_ok ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_errors_when_exclude_removes_sole_custom_include ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_exclude_every_key_errs ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_exclude_table_defaults_ok ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_errors_for_all_unknown_include ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_errors_when_exclude_removes_all_defaults ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_errors_when_exclude_removes_sole_custom_include ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_errors_when_exclude_removes_sole_include ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_ok_for_all_blank_include ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_ok_for_all_custom_include ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_ok_for_default_spec ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_table_columns_ok_for_partial_unknown_include ... ok
[INFO] [stdout] test output::resources::bug::tests::warn_unknown_fields_silent_for_all_known ... ok
[INFO] [stdout] test output::resources::bug::tests::warn_unknown_fields_silent_without_include ... ok
[INFO] [stdout] test output::resources::bug::tests::warn_unknown_fields_warns_for_unknown_include_token ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_json_contains_all_fields ... ok
[INFO] [stderr] warning: config directory '/tmp/.tmpVbuhLn/bzr' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmpVbuhLn/bzr'
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_json_via_write ... ok
[INFO] [stdout] test output::resources::bug::tests::validate_json_partial_unknown_include_ok ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_json_with_resolution ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_ndjson_emits_single_line ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_table_handles_minimal_bug ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_table_renders_all_fields ... ok
[INFO] [stdout] test config::tests::save_reaps_old_crash_orphaned_temp_files ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_table_shows_dupe_of ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_table_shows_flags_and_milestone ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_detail_table_suppresses_unset_milestone_and_empty_flags ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_assignee_alias_still_selects_column ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_links_table_has_headers_and_row ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_exclude_fields_drops_default_column ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_fields_selects_only_requested_columns ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_json_empty_list ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_json_empty_renders_empty_array ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_json_one_bug ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_json_trims_to_selected_fields ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_json_via_write ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_links_json_is_array ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_ndjson_emits_one_object_per_line ... ok
[INFO] [stdout] test config::tests::save_without_validation_hardens_recreated_file ... ok
[INFO] [stdout] test config::tests::saved_config_file_is_0600 ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_fields_adds_non_default_columns_populated ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_include_keeps_only_named_keys ... ok
[INFO] [stdout] test output::resources::bug::tests::bug_to_json_include_keeps_selected_custom_field ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bug_links_ndjson_is_one_object_per_line ... ok
[INFO] [stdout] test config::tests::update_locked_can_create_a_server_not_yet_persisted ... ok
[INFO] [stdout] test config::tests::update_locked_lock_open_error_names_lock_path ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_ndjson_empty_emits_nothing ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_table_empty_says_no_bugs_found ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_partial_unknown_warns_with_new_wording_and_shows_known ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_no_fields_keeps_default_columns ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_table_preserves_mixed_custom_order ... ok
[INFO] [stdout] test output::resources::bug::tests::write_history_json_empty_is_empty_array ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_table_deduplicates_repeated_custom_fields ... ok
[INFO] [stdout] test output::resources::bug::tests::write_history_ndjson_one_record_per_line ... ok
[INFO] [stdout] test output::resources::bug::tests::write_history_json_emits_flattened_records ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_table_renders_columns_and_truncates ... ok
[INFO] [stdout] test output::resources::bug::tests::write_history_table_renders_changes ... ok
[INFO] [stdout] test output::resources::bug::tests::write_history_json_preserves_unknown_delta_values ... ok
[INFO] [stdout] test output::resources::classification::tests::classification_record_has_four_columns_with_correct_values ... ok
[INFO] [stdout] test output::resources::bug::tests::write_history_table_empty_renders_nothing ... ok
[INFO] [stdout] test output::resources::classification::tests::classification_text_format_fields ... ok
[INFO] [stdout] test output::resources::bug::tests::write_json_produces_valid_json_for_bug ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_table_renders_requested_custom_column ... ok
[INFO] [stdout] test output::resources::classification::tests::write_classification_json ... ok
[INFO] [stdout] test output::resources::bug::tests::write_json_produces_valid_json_for_vec ... ok
[INFO] [stdout] test output::resources::classification::tests::write_classification_table_omits_products_header_when_empty ... ok
[INFO] [stdout] test output::resources::classification::tests::write_classification_json_empty_products ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_json_empty ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_json_one_comment ... ok
[INFO] [stdout] test output::resources::bug::tests::write_bugs_unknown_field_warns_and_falls_back ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_json_private_flag ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_json_one_comment_via_write ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_table_does_not_emit_ansi_when_writing_to_buffer ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_table_empty_says_no_comments ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_table_handles_missing_creator_and_unicode ... ok
[INFO] [stdout] test output::resources::component::tests::write_component_table_omits_empty_description ... ok
[INFO] [stdout] test output::resources::component::tests::write_component_table_shows_fields ... ok
[INFO] [stdout] test output::resources::component::tests::write_components_table_empty_message ... ok
[INFO] [stdout] test output::resources::component::tests::write_components_table_lists_rows ... ok
[INFO] [stdout] test output::resources::component::tests::write_component_json_is_object ... ok
[INFO] [stdout] test output::resources::config::tests::config_view_displays_missing_api_key_source_as_none ... ok
[INFO] [stdout] test output::resources::config::tests::auth_display_formats_detected_and_undetected_states ... ok
[INFO] [stdout] test output::resources::component::tests::write_components_json_is_array ... ok
[INFO] [stdout] test output::resources::config::tests::config_view_from_config_masks_key_and_includes_flags ... ok
[INFO] [stdout] test output::resources::component::tests::component_record_dashes_missing_assignee ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_table_renders_comment_fields ... ok
[INFO] [stdout] test output::resources::component::tests::component_record_maps_fields ... ok
[INFO] [stdout] test output::resources::comment::tests::write_comments_json_empty_renders_empty_array ... ok
[INFO] [stdout] test output::resources::config::tests::config_view_json_serialization ... ok
[INFO] [stdout] test output::resources::config::tests::config_view_from_config_shows_env_backed_keys_without_resolving ... ok
[INFO] [stdout] test output::resources::config::tests::config_view_no_default_server ... ok
[INFO] [stdout] test output::resources::config::tests::display_credential_source_as_str_maps_each_variant_to_its_label ... ok
[INFO] [stdout] test output::resources::config::tests::display_server_with_tls_pin ... ok
[INFO] [stdout] test output::resources::config::tests::server_display_info_keyring_source ... ok
[INFO] [stdout] test output::resources::config::tests::server_display_info_keyring_source_default_account ... ok
[INFO] [stdout] test output::resources::config::tests::write_config_renders_empty_servers_message ... ok
[INFO] [stdout] test output::resources::config::tests::write_config_renders_env_and_keyring_labels ... ok
[INFO] [stdout] test output::resources::config::tests::write_config_renders_table_for_inline_server ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_aliases_json_serialization ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_aliases_table_renders_rows ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_json_active_and_inactive ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_json_empty ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_aliases_json_via_write ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_json_with_transitions ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_json_via_write ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_json_empty_renders_empty_array ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_table_empty_renders_only_headers ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_json_preserves_unknown_scalars ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_table_renders_blank_for_null_name ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_table_handles_unicode_value_name ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_table_renders_transitions_and_inactive ... ok
[INFO] [stdout] test output::resources::field::tests::write_field_values_table_renders_unknown_active_state ... ok
[INFO] [stdout] test output::resources::group::tests::group_text_format_fields ... ok
[INFO] [stdout] test output::resources::group::tests::print_group_info_json ... ok
[INFO] [stdout] test output::resources::group::tests::print_group_info_json_no_members ... ok
[INFO] [stdout] test output::resources::group::tests::write_group_info_json_via_write ... ok
[INFO] [stdout] test output::resources::group::tests::write_group_info_table_member_with_no_real_name_renders_empty_parens ... ok
[INFO] [stdout] test output::resources::group::tests::write_group_info_table_no_members_omits_section ... ok
[INFO] [stdout] test output::resources::group::tests::write_group_info_table_renders_all_fields ... ok
[INFO] [stdout] test output::resources::product::tests::format_named_list_empty_is_blank ... ok
[INFO] [stdout] test output::resources::product::tests::format_product_detail_renders_sections_and_inactive_flags ... ok
[INFO] [stdout] test output::resources::product::tests::product_record_has_four_columns_with_correct_values ... ok
[INFO] [stdout] test output::resources::product::tests::product_row_conversion ... ok
[INFO] [stdout] test config::tests::update_locked_reloads_a_credential_less_config_and_can_heal_it ... ok
[INFO] [stdout] test output::resources::product::tests::write_product_detail_json ... ok
[INFO] [stdout] test output::resources::product::tests::write_products_json_empty ... ok
[INFO] [stdout] test output::resources::product::tests::write_products_json_one_product ... ok
[INFO] [stdout] test output::resources::query::tests::query_detail_json_includes_158_field_filters ... ok
[INFO] [stdout] test output::resources::query::tests::query_detail_json_includes_date_filters ... ok
[INFO] [stdout] test output::resources::query::tests::query_detail_json_includes_url_fields ... ok
[INFO] [stdout] test output::resources::query::tests::query_detail_json_with_flatten ... ok
[INFO] [stdout] test output::resources::query::tests::query_list_json_serializes ... ok
[INFO] [stdout] test output::resources::query::tests::query_list_names_sort_before_render ... ok
[INFO] [stdout] test output::resources::query::tests::query_saved_json_serializes ... ok
[INFO] [stdout] test output::resources::query::tests::query_saved_message_renders_table_text ... ok
[INFO] [stdout] test output::resources::query::tests::query_summary_line_does_not_widen_for_158_fields ... ok
[INFO] [stdout] test output::resources::query::tests::query_summary_line_renders_date_filters ... ok
[INFO] [stdout] test output::resources::query::tests::query_summary_line_renders_list_query ... ok
[INFO] [stdout] test output::resources::query::tests::query_summary_line_renders_search_query ... ok
[INFO] [stdout] test output::resources::query::tests::query_summary_line_renders_url_query ... ok
[INFO] [stdout] test output::resources::query::tests::write_query_detail_table_renders_fields ... ok
[INFO] [stdout] test output::resources::query::tests::write_query_detail_table_renders_url_fields ... ok
[INFO] [stdout] test output::resources::query::tests::write_query_detail_table_shows_158_field_filters ... ok
[INFO] [stdout] test output::resources::query::tests::write_query_detail_table_shows_date_filters ... ok
[INFO] [stdout] test output::resources::server::tests::capabilities_json_round_trips_documented_shape ... ok
[INFO] [stdout] test output::resources::server::tests::capabilities_table_renders_key_fields ... ok
[INFO] [stdout] test output::resources::server::tests::capabilities_table_shows_unknown_for_absent_attachment_size ... ok
[INFO] [stdout] test output::resources::server::tests::print_server_info_json_combined ... ok
[INFO] [stdout] test output::resources::server::tests::server_info_text_format_no_extensions ... ok
[INFO] [stdout] test output::resources::server::tests::server_info_text_format_with_extensions ... ok
[INFO] [stdout] test output::resources::template::tests::template_detail_json_with_flatten ... ok
[INFO] [stdout] test output::resources::template::tests::template_empty_fields_omitted_in_json ... ok
[INFO] [stdout] test output::resources::template::tests::template_list_json_serializes ... ok
[INFO] [stdout] test output::resources::template::tests::template_saved_json ... ok
[INFO] [stdout] test output::resources::template::tests::template_saved_message_renders_table_text ... ok
[INFO] [stdout] test output::resources::template::tests::template_summary_line_renders_all_present_fields ... ok
[INFO] [stdout] test output::resources::template::tests::template_summary_line_without_fields_is_name_only ... ok
[INFO] [stdout] test output::resources::template::tests::write_template_detail_table_renders_missing_fields_as_dash ... ok
[INFO] [stdout] test output::resources::template::tests::write_template_list_table_announces_empty ... ok
[INFO] [stdout] test output::resources::template::tests::write_template_list_table_renders_sorted_summaries ... ok
[INFO] [stdout] test output::resources::user::tests::detailed_user_row_includes_groups_and_login ... ok
[INFO] [stdout] test output::resources::user::tests::print_users_json_includes_all_fields ... ok
[INFO] [stdout] test output::resources::user::tests::print_users_json_includes_can_login ... ok
[INFO] [stdout] test output::resources::user::tests::print_whoami_json ... ok
[INFO] [stdout] test output::resources::user::tests::print_whoami_json_minimal ... ok
[INFO] [stdout] test output::resources::user::tests::user_row_excludes_detail_columns ... ok
[INFO] [stdout] test output::resources::user::tests::write_users_detailed_handles_missing_real_name_and_email ... ok
[INFO] [stdout] test output::resources::user::tests::write_users_detailed_table_empty_says_none_found ... ok
[INFO] [stdout] test output::resources::user::tests::print_users_json_empty ... ok
[INFO] [stdout] test output::resources::user::tests::write_users_detailed_table_renders_groups_and_login ... ok
[INFO] [stdout] test output::resources::user::tests::write_users_json_empty_renders_empty_array ... ok
[INFO] [stdout] test output::resources::user::tests::write_users_table_empty_says_none_found ... ok
[INFO] [stdout] test output::resources::user::tests::write_users_table_renders_basic_columns ... ok
[INFO] [stdout] test output::resources::user::tests::write_whoami_table_renders_dashes_for_missing_fields ... ok
[INFO] [stdout] test output::resources::user::tests::write_whoami_json_via_write ... ok
[INFO] [stdout] test output::resources::user::tests::write_whoami_table_renders_fields ... ok
[INFO] [stdout] test output::result_types::tests::action_result_created_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::action_result_created_named_includes_name ... ok
[INFO] [stdout] test output::result_types::tests::action_result_updated_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::action_result_updated_named_with_id_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::action_result_updated_named_without_id_skips_id ... ok
[INFO] [stdout] test output::result_types::tests::batch_result_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::compound_create_result_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::config_result_configured_created_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::config_result_configured_updated_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::config_result_skip_none_fields ... ok
[INFO] [stdout] test output::result_types::tests::create_failure_create_is_byte_compatible ... ok
[INFO] [stdout] test output::result_types::tests::create_failure_sub_step_comment_omits_file ... ok
[INFO] [stdout] test output::result_types::tests::create_failure_sub_step_includes_optional_fields ... ok
[INFO] [stdout] test output::result_types::tests::download_result_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::membership_result_added_json_shape ... ok
[INFO] [stdout] test config::tests::update_locked_preserves_disjoint_concurrent_edits ... ok
[INFO] [stdout] test output::result_types::tests::membership_result_removed_json_shape ... ok
[INFO] [stdout] test config::tests::update_locked_rejects_reentrant_call ... ok
[INFO] [stdout] test output::result_types::tests::multi_bug_view_result_serializes_with_empty_failed ... ok
[INFO] [stdout] test output::result_types::tests::multi_bug_view_result_serializes_with_failure_id_as_string ... ok
[INFO] [stdout] test output::result_types::tests::search_result_json_shape ... ok
[INFO] [stdout] test credentials::tests::resolve_api_key_from_environment ... ok
[INFO] [stdout] test credentials::tests::resolve_api_key_reports_missing_environment_variable ... ok
[INFO] [stdout] test output::result_types::tests::sub_step_failure_attachment_shape ... ok
[INFO] [stdout] test output::result_types::tests::sub_step_failure_comment_shape ... ok
[INFO] [stdout] test output::result_types::tests::tag_result_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::upload_result_json_shape ... ok
[INFO] [stdout] test output::result_types::tests::write_result_table_emits_human_message ... ok
[INFO] [stdout] test output::result_types::tests::write_result_uses_pretty_json ... ok
[INFO] [stdout] test output::writers::tests::writers_new_holds_two_streams_and_writes_independently ... ok
[INFO] [stdout] test output::writers::tests::writers_out_and_err_are_independent_buffers ... ok
[INFO] [stdout] test test_helpers::tests::captured_io_starts_empty ... ok
[INFO] [stdout] test test_helpers::tests::captured_io_writers_route_to_owned_buffers ... ok
[INFO] [stdout] test test_helpers::tests::xmlrpc_bug_response_contains_expected_bug_fields ... ok
[INFO] [stdout] test tests::dispatch_allows_dry_run_on_admin_create ... ok
[INFO] [stdout] test tests::dispatch_allows_dry_run_on_bug_update ... ok
[INFO] [stdout] test tests::dispatch_applies_config_flag_without_global_override ... ok
[INFO] [stdout] test tests::dispatch_rejects_inline_write_without_api_key_env_before_network ... ok
[INFO] [stdout] test tests::command_capabilities_cover_each_admin_write_arm ... ok
[INFO] [stdout] test tests::dispatch_rejects_whoami_without_credentials ... ok
[INFO] [stdout] test tests::dispatch_routes_local_query_commands ... ok
[INFO] [stdout] test tests::dispatch_validates_mutation_args_before_credentials ... ok
[INFO] [stdout] test tls::error::tests::is_connect_tls_error_false_when_not_connect ... ok
[INFO] [stdout] test tls::error::tests::is_connect_tls_error_false_without_tls_keyword ... ok
[INFO] [stdout] test tls::error::tests::is_connect_tls_error_true_when_connect_and_tls_keyword ... ok
[INFO] [stdout] test tls::error::tests::looks_like_tls_error_matches_cert_keyword ... ok
[INFO] [stdout] test tls::error::tests::looks_like_tls_error_matches_ssl_keyword ... ok
[INFO] [stdout] test tls::error::tests::looks_like_tls_error_matches_tls_keyword ... ok
[INFO] [stdout] test tls::error::tests::looks_like_tls_error_rejects_unrelated_message ... ok
[INFO] [stdout] test tests::dispatch_allows_credentialless_dry_run_before_connect ... ok
[INFO] [stdout] test tests::command_capabilities_cover_each_explicit_anonymous_top_level_arm ... ok
[INFO] [stdout] test tls::fingerprint::tests::compute_fingerprint_deterministic ... ok
[INFO] [stdout] test tls::fingerprint::tests::compute_fingerprint_format ... ok
[INFO] [stdout] test tests::dispatch_uses_current_invocation_context_for_validation_errors ... ok
[INFO] [stdout] test tls::pin_failure::tests::classifies_der_issuer_change_chain_into_typed_error ... ok
[INFO] [stdout] test tls::pin_failure::tests::classifies_pin_mismatch_chain_into_typed_error ... ok
[INFO] [stdout] test tests::dispatch_rejects_dry_run_on_unsupported_command ... ok
[INFO] [stdout] test tests::dispatch_rejects_dry_run_on_group_membership_mutation ... ok
[INFO] [stdout] test tests::dispatch_rejects_write_without_credentials_before_network ... ok
[INFO] [stdout] test tests::dispatch_rejects_bug_my_without_credentials ... ok
[INFO] [stdout] test tls::pin_failure::tests::issuer_injection_cannot_corrupt_recovered_pin ... ok
[INFO] [stdout] test tls::tests::build_tls_client_bad_pin_fails ... ok
[INFO] [stdout] test tls::pin_failure::tests::unrelated_chain_is_not_a_pin_failure ... ok
[INFO] [stdout] test tls::tests::build_tls_client_missing_ca_cert_fails ... ok
[INFO] [stdout] test tls::tests::build_tls_client_pinned_succeeds ... ok
[INFO] [stdout] test tls::tofu::tests::cert_capture_accepts_any_cert ... ok
[INFO] [stdout] test tls::tofu::tests::cert_capture_supported_verify_schemes_not_empty ... ok
[INFO] [stdout] test tls::tofu::tests::cert_capture_verify_tls12_signature_returns_ok ... ok
[INFO] [stdout] test tls::tofu::tests::cert_capture_verify_tls13_signature_returns_ok ... ok
[INFO] [stdout] test tls::tofu::tests::confirm_pin_returns_false_non_interactive ... ok
[INFO] [stdout] test tls::tofu::tests::is_yes_response_accepts_y ... ok
[INFO] [stdout] test tls::tofu::tests::is_yes_response_rejects_others ... ok
[INFO] [stdout] test tls::tofu::tests::parse_tofu_response_always ... ok
[INFO] [stdout] test tls::tofu::tests::cert_capture_keeps_the_first_value_set ... ok
[INFO] [stdout] test tls::tofu::tests::parse_tofu_response_rejects_other ... ok
[INFO] [stdout] test tls::tofu::tests::probe_server_cert_returns_error_for_unreachable ... ok
[INFO] [stdout] test tls::tofu::tests::parse_tofu_response_yes ... ok
[INFO] [stderr] 
[INFO] [stderr] WARNING: Certificate changed for server "test" (example.com)!
[INFO] [stderr]   Old pin: sha256//old
[INFO] [stderr]   New pin: sha256//new
[INFO] [stderr]   Issuer:  CN=Test (unchanged)
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] WARNING: No certificate pin on file for server "test" (example.com).
[INFO] [stderr]   Fingerprint: sha256//abc
[INFO] [stdout] test tls::tofu::tests::prompt_rotation_returns_false_non_interactive ... ok
[INFO] [stdout] test tls::tofu::tests::read_interactive_line_returns_none_in_tests ... ok
[INFO] [stderr]   Issuer:      CN=Test
[INFO] [stderr] 
[INFO] [stdout] test tls::verifier::tests::add_native_roots_reports_native_load_errors ... ok
[INFO] [stdout] test tls::tofu::tests::prompt_tofu_returns_none_non_interactive ... ok
[INFO] [stdout] test tls::verifier::tests::add_native_roots_reports_rejected_native_roots ... ok
[INFO] [stdout] test tls::verifier::tests::build_pinned_config_succeeds ... ok
[INFO] [stdout] test error::tests::format_http_error_includes_source_chain ... ok
[INFO] [stdout] test tests::ensure_dry_run_supported_covers_admin_create_arms ... ok
[INFO] [stdout] test tls::verifier::tests::ca_cert_config_rejects_missing_file ... ok
[INFO] [stdout] test tls::tests::build_tls_client_default_succeeds ... ok
[INFO] [stdout] test tls::verifier::tests::extract_issuer_der_differs_for_different_issuers ... ok
[INFO] [stdout] test tls::verifier::tests::extract_issuer_der_returns_consistent_bytes ... ok
[INFO] [stdout] test tls::verifier::tests::extract_issuer_der_returns_none_for_garbage ... ok
[INFO] [stdout] test tls::verifier::tests::extract_issuer_dn_parses_rcgen_cert ... ok
[INFO] [stdout] test tls::verifier::tests::extract_issuer_dn_returns_fallback_for_garbage ... ok
[INFO] [stdout] test tls::verifier::tests::extract_rdns_breaks_on_non_set_tag ... ok
[INFO] [stdout] test tls::verifier::tests::extract_rdns_returns_none_on_empty_input ... ok
[INFO] [stdout] test tls::verifier::tests::hex_encode_produces_lowercase_pairs ... ok
[INFO] [stdout] test tls::verifier::tests::oid_short_name_maps_known_oids ... ok
[INFO] [stdout] test tls::verifier::tests::one_bit_flipped_pin_is_rejected ... ok
[INFO] [stdout] test tls::verifier::tests::parse_attribute_type_and_value_falls_back_to_hex_for_non_utf8 ... ok
[INFO] [stdout] test tls::verifier::tests::parse_attribute_type_and_value_rejects_non_oid ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_long_form_four_bytes_with_exact_fit ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_long_form_one_byte ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_long_form_two_bytes ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_rejects_indefinite_form ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_rejects_too_many_length_bytes ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_rejects_truncated_long_form ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_length_short_form ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_sequence_rejects_truncated_content ... ok
[INFO] [stdout] test tls::verifier::tests::parse_der_sequence_rejects_wrong_tag ... ok
[INFO] [stdout] test tls::verifier::tests::pin_match_short_circuits_issuer_check ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_accepts_matching_cert ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_accepts_matching_pin_regardless_of_issuer ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_advertises_default_signature_schemes ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_allows_pin_mismatch_with_same_issuer_der ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_detects_issuer_change_via_der ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_rejects_invalid_base64_issuer_der ... ok
[INFO] [stdout] test tls::verifier::tests::pinned_verifier_rejects_mismatched_cert ... ok
[INFO] [stdout] test tls::verifier::tests::skip_der_element_rejects_empty ... ok
[INFO] [stdout] test tls::verifier::tests::skip_der_element_rejects_truncated ... ok
[INFO] [stdout] test tls::verifier::tests::der_walkers_never_panic_on_arbitrary_bytes ... ok
[INFO] [stdout] test types::attachment::tests::attachment_deserializes_flags_and_defaults_empty ... ok
[INFO] [stdout] test types::attachment::tests::attachment_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::attachment::tests::attachment_missing_wire_scalars_serialize_as_null ... ok
[INFO] [stdout] test types::attachment::tests::bool_from_int_or_bool_deserializes_integers ... ok
[INFO] [stdout] test types::attachment::tests::bool_from_int_or_bool_deserializes_true ... ok
[INFO] [stdout] test types::attachment::tests::bool_from_int_or_bool_rejects_non_binary_numbers ... ok
[INFO] [stdout] test tls::verifier::tests::unparseable_leaf_degrades_to_reject ... ok
[INFO] [stdout] test types::attachment::tests::bool_from_int_or_bool_rejects_string ... ok
[INFO] [stdout] test types::attachment::tests::is_patch_defaults_to_false_when_absent ... ok
[INFO] [stdout] test types::attachment::tests::is_patch_deserializes_as_bool ... ok
[INFO] [stdout] test types::attachment::tests::is_patch_deserializes_as_int ... ok
[INFO] [stdout] test types::bug::fields::tests::canonical_field_list_translates_aliases ... ok
[INFO] [stdout] test types::bug::fields::tests::field_selected_treats_aliases_as_same_field ... ok
[INFO] [stdout] test types::bug::fields::tests::partition_include_dedupes_aliases_and_preserves_custom_fields ... ok
[INFO] [stdout] test types::bug::links::tests::bug_link_serializes_in_documented_key_order ... ok
[INFO] [stdout] test types::bug::links::tests::direction_mapping_matches_spec ... ok
[INFO] [stdout] test types::bug::links::tests::edges_are_fixed_relation_order_then_ascending_id ... ok
[INFO] [stdout] test types::bug::links::tests::edges_filter_restricts_to_one_relation ... ok
[INFO] [stdout] test types::bug::links::tests::node_defaults_missing_fields ... ok
[INFO] [stdout] test types::bug::links::tests::from_str_accepts_wire_names_and_rejects_garbage ... ok
[INFO] [stdout] test types::bug::links::tests::relation_all_is_fixed_order_with_wire_names ... ok
[INFO] [stdout] test types::bug::payload::tests::comment_update_serializes_private_body ... ok
[INFO] [stdout] test types::bug::payload::tests::comment_update_serializes_public_body ... ok
[INFO] [stdout] test types::bug::payload::tests::create_params_omit_unset_parity_fields ... ok
[INFO] [stdout] test types::bug::payload::tests::create_params_serialize_parity_fields ... ok
[INFO] [stdout] test types::bug::payload::tests::id_list_update_is_empty_when_both_empty ... ok
[INFO] [stdout] test types::bug::payload::tests::id_list_update_not_empty_when_only_add ... ok
[INFO] [stdout] test types::bug::payload::tests::id_list_update_not_empty_when_only_remove ... ok
[INFO] [stdout] test types::bug::payload::tests::string_list_update_is_empty_when_both_empty ... ok
[INFO] [stdout] test types::bug::payload::tests::string_list_update_not_empty_when_only_remove ... ok
[INFO] [stdout] test types::bug::payload::tests::string_list_update_not_empty_when_only_add ... ok
[INFO] [stdout] test types::bug::payload::tests::string_list_update_serializes_with_add_and_remove ... ok
[INFO] [stdout] test types::bug::payload::tests::string_list_update_skips_empty_remove ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_default_omits_comment_is_private ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_default_omits_scalar_parity_fields ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_omits_comment_when_none ... ok
[INFO] [stdout] test types::bug::payload::tests::string_list_update_skips_empty_add ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_omits_dupe_of_when_none ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_omits_empty_string_lists ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_comment_is_private_map ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_dupe_of ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_comment_when_some ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_private_comment ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_reset_flags_only_when_true ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_string_lists ... ok
[INFO] [stdout] test types::bug::payload::tests::update_bug_params_serializes_scalar_parity_fields ... ok
[INFO] [stdout] test types::bug::search::tests::apply_overrides_default_is_noop ... ok
[INFO] [stdout] test types::bug::search::tests::apply_overrides_keeps_158_fields_when_none ... ok
[INFO] [stdout] test types::bug::search::tests::apply_overrides_replaces_158_fields_when_some ... ok
[INFO] [stdout] test types::bug::search::tests::apply_overrides_replaces_date_filters_when_some ... ok
[INFO] [stdout] test types::bug::search::tests::field_mappings_covers_all_search_params_vec_fields ... ok
[INFO] [stdout] test types::bug::search::tests::field_mappings_has_expected_count ... ok
[INFO] [stdout] test types::bug::search::tests::field_mappings_internal_name_for_creator ... ok
[INFO] [stdout] test types::bug::search::tests::field_mappings_negation_operators_match_field_kind ... ok
[INFO] [stdout] test types::bug::search::tests::field_mappings_url_param_lookup ... ok
[INFO] [stdout] test types::bug::search::tests::negation_op_as_str_matches_bugzilla_wire_form ... ok
[INFO] [stdout] test types::bug::search::tests::apply_overrides_keeps_date_filters_when_none ... ok
[INFO] [stdout] test types::bug::search::tests::partition_filters_mixed ... ok
[INFO] [stdout] test types::bug::search::tests::partition_filters_negated_only ... ok
[INFO] [stdout] test types::bug::search::tests::partition_filters_positive_only ... ok
[INFO] [stdout] test types::bug::search::tests::search_params_get_field_mut_updates_every_mapped_field ... ok
[INFO] [stdout] test types::bug::search::tests::search_params_get_field_returns_correct_data ... ok
[INFO] [stdout] test types::bug::search::tests::search_params_has_filters_for_each_individual_field ... ok
[INFO] [stdout] test types::bug::search::tests::search_params_has_structured_filters_empty ... ok
[INFO] [stdout] test types::bug::search::tests::search_params_has_structured_filters_excludes_freetext ... ok
[INFO] [stdout] test types::bug::search::tests::search_params_has_structured_filters_for_each_individual_field ... ok
[INFO] [stdout] test types::bug::search::tests::partition_filters_empty ... ok
[INFO] [stdout] test types::bug::tests::bug_defaults_missing_dupe_of_to_none ... ok
[INFO] [stdout] test types::bug::tests::bug_deserialization_drops_non_custom_extension_keys ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_custom_fields ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_dupe_of ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_deadline ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_minimal ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_sparse_custom_fields_with_defaults ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_full ... ok
[INFO] [stdout] test types::bug::tests::bug_serialization_drops_non_custom_entries_from_public_map ... ok
[INFO] [stdout] test types::bug::tests::bug_serializes_custom_fields_after_built_ins_sorted_by_name ... ok
[INFO] [stdout] test types::bug::tests::bug_deserializes_target_milestone_and_flags ... ok
[INFO] [stdout] test types::bug::tests::bug_serializes_flags_and_target_milestone ... ok
[INFO] [stdout] test types::bug::tests::bug_without_flags_defaults_to_empty_and_serializes_array ... ok
[INFO] [stdout] test types::bug::tests::flag_with_unexpected_status_token_still_deserializes ... ok
[INFO] [stdout] test types::bug::tests::bug_serializes_custom_fields_as_top_level_keys ... ok
[INFO] [stdout] test tests::dispatch_inline_tls_insecure_connects_to_self_signed_server_without_config ... ok
[INFO] [stdout] test types::bug::tests::history_change_missing_delta_values_stay_unknown ... ok
[INFO] [stdout] test types::capabilities::tests::api_modes_match_transport ... ok
[INFO] [stdout] test types::capabilities::tests::auth_modes_present_for_rest_surface_absent_for_xmlrpc ... ok
[INFO] [stdout] test types::capabilities::tests::field_type_name_unknown_for_zero_and_out_of_range ... ok
[INFO] [stdout] test types::capabilities::tests::flag_type_summary_serializes_expected_shape ... ok
[INFO] [stdout] test types::capabilities::tests::rest_surface_true_for_rest_and_hybrid_only ... ok
[INFO] [stdout] test types::capabilities::tests::serializes_all_keys_with_null_and_renamed_type ... ok
[INFO] [stdout] test types::capabilities::tests::field_type_names_map_every_known_code ... ok
[INFO] [stdout] test types::classification::tests::classification_deserializes ... ok
[INFO] [stdout] test types::classification::tests::classification_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::comment::tests::comment_deserializes_minimal ... ok
[INFO] [stdout] test types::comment::tests::comment_deserializes_full ... ok
[INFO] [stdout] test types::comment::tests::comment_deserializes_with_attachment_id ... ok
[INFO] [stdout] test types::comment::tests::comment_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::comment::tests::comment_flat_envelope_without_bug_id_still_parses ... ok
[INFO] [stdout] test types::component::tests::component_deserializes_without_assignee ... ok
[INFO] [stdout] test types::component::tests::component_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::component::tests::component_missing_scalars_serialize_as_null ... ok
[INFO] [stdout] test tls::error::tests::tls_hint_no_hint_for_non_tls_error ... ok
[INFO] [stdout] test types::field::tests::field_value_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::comment::tests::comment_deserializes_without_attachment_id_defaults_to_none ... ok
[INFO] [stdout] test types::classification::tests::classification_missing_scalars_serialize_as_null ... ok
[INFO] [stdout] test types::field::tests::field_value_null_name_stays_none ... ok
[INFO] [stdout] test tests::dispatch_inline_tls_pin_sha256_connects_to_self_signed_server_without_config ... ok
[INFO] [stdout] test types::field::tests::field_value_with_name ... ok
[INFO] [stdout] test types::flag::tests::flag_status_all_variants_roundtrip ... ok
[INFO] [stdout] test types::field::tests::field_value_missing_scalars_stay_unknown ... ok
[INFO] [stdout] test types::flag::tests::flag_status_display_emits_status_char ... ok
[INFO] [stdout] test types::field::tests::field_value_null_name_serializes_as_null ... ok
[INFO] [stdout] test types::flag::tests::flag_status_invalid_deserialize ... ok
[INFO] [stdout] test types::flag::tests::flag_update_roundtrip ... ok
[INFO] [stdout] test types::flag::tests::flag_update_serializes_with_requestee ... ok
[INFO] [stdout] test types::flag::tests::flag_update_serializes_with_status_char ... ok
[INFO] [stdout] test types::flag::tests::read_side_flag_rendering_marks_missing_fields ... ok
[INFO] [stdout] test types::flag::tests::read_side_flag_missing_name_and_status_stay_unknown ... ok
[INFO] [stdout] test types::group::tests::group_info_deserializes_minimal ... ok
[INFO] [stdout] test types::group::tests::group_info_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::group::tests::group_member_deserializes_without_optional_fields ... ok
[INFO] [stdout] test types::output::tests::output_format_default_is_table ... ok
[INFO] [stdout] test types::output::tests::output_format_from_str_invalid ... ok
[INFO] [stdout] test types::output::tests::output_format_from_str_valid ... ok
[INFO] [stdout] test types::group::tests::group_info_deserializes_full ... ok
[INFO] [stdout] test types::output::tests::output_format_is_json_family ... ok
[INFO] [stdout] test types::output::tests::sort_direction_from_str_and_keyword ... ok
[INFO] [stdout] test types::product::tests::product_deserializes_full ... ok
[INFO] [stdout] test types::query::tests::into_search_params_moves_fields ... ok
[INFO] [stdout] test types::query::tests::query_kind_url_deserializes ... ok
[INFO] [stdout] test types::query::tests::query_kind_url_serializes ... ok
[INFO] [stdout] test types::query::tests::saved_query_get_field_mut_returns_correct_fields ... ok
[INFO] [stdout] test types::product::tests::product_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::query::tests::saved_query_has_filters_false_empty ... ok
[INFO] [stdout] test types::query::tests::saved_query_has_filters_for_each_individual_field ... ok
[INFO] [stdout] test types::query::tests::saved_query_into_search_params_forwards_date_filters ... ok
[INFO] [stdout] test tests::dispatch_allows_public_server_info_without_credentials ... ok
[INFO] [stdout] test types::query::tests::saved_query_list_roundtrips_json ... ok
[INFO] [stdout] test types::query::tests::saved_query_into_search_params_forwards_158_fields ... ok
[INFO] [stdout] test types::query::tests::saved_query_to_search_params_list ... ok
[INFO] [stdout] test types::query::tests::saved_query_to_search_params_search ... ok
[INFO] [stdout] test tls::tests::same_host_redirect_is_followed_with_credentials ... ok
[INFO] [stdout] test types::query::tests::saved_query_toml_legacy_without_date_filters_deserializes ... ok
[INFO] [stdout] test types::query::tests::saved_query_toml_roundtrip_preserves_158_fields ... ok
[INFO] [stdout] test tests::dispatch_whoami_defaults_to_show_action ... ok
[INFO] [stdout] test types::query::tests::saved_query_kind_is_derived_from_executable_fields ... ok
[INFO] [stdout] test types::query::tests::saved_query_url_kind_to_search_params_includes_raw_params ... ok
[INFO] [stdout] test types::query::tests::saved_query_with_url_fields_roundtrips ... ok
[INFO] [stdout] test types::query::tests::saved_query_toml_roundtrip_preserves_date_filters ... ok
[INFO] [stdout] test types::query::tests::saved_query_toml_legacy_without_158_fields_deserializes ... ok
[INFO] [stdout] test types::query::tests::saved_query_without_url_fields_omits_them_in_json ... ok
[INFO] [stdout] test types::product::tests::product_deserializes_minimal ... ok
[INFO] [stdout] test types::query::tests::saved_query_search_roundtrips_json ... ok
[INFO] [stdout] test types::server_info::tests::server_extensions_deserializes ... ok
[INFO] [stdout] test types::template::tests::empty_template_has_no_bug_create_defaults ... ok
[INFO] [stdout] test types::server_info::tests::server_version_deserializes ... ok
[INFO] [stdout] test types::tests::attachment_deserialize_minimal ... ok
[INFO] [stdout] test types::product::tests::version_and_milestone_deserialize ... ok
[INFO] [stdout] test tls::tests::build_tls_client_insecure_succeeds ... ok
[INFO] [stdout] test types::template::tests::merge_from_replaces_only_supplied_fields ... ok
[INFO] [stdout] test types::tests::classification_deserialize ... ok
[INFO] [stdout] test types::template::tests::clear_field_resets_supported_names_and_aliases ... ok
[INFO] [stdout] test types::product::tests::version_and_milestone_missing_scalars_serialize_as_null ... ok
[INFO] [stdout] test types::tests::bug_deserialize_full ... ok
[INFO] [stdout] test types::tests::group_info_deserialize ... ok
[INFO] [stdout] test types::tests::comment_deserialize_minimal ... ok
[INFO] [stdout] test types::tests::bug_deserialize_minimal ... ok
[INFO] [stdout] test types::tests::product_list_type_as_api_path ... ok
[INFO] [stdout] test types::tests::history_entry_deserialize ... ok
[INFO] [stdout] test types::tests::product_list_type_from_str_invalid ... ok
[INFO] [stdout] test types::tests::product_list_type_default_is_accessible ... ok
[INFO] [stdout] test types::tests::search_params_has_filters_empty ... ok
[INFO] [stdout] test types::tests::product_list_type_from_str_valid ... ok
[INFO] [stdout] test types::transport::tests::auth_method_from_str ... ok
[INFO] [stdout] test types::transport::tests::api_mode_from_str ... ok
[INFO] [stdout] test types::tests::update_bug_params_skips_none_fields ... ok
[INFO] [stdout] test types::user::tests::bugzilla_user_deserializes_full ... ok
[INFO] [stdout] test types::user::tests::bugzilla_user_deserializes_minimal ... ok
[INFO] [stdout] test types::user::tests::whoami_from_user_maps_email_to_login ... ok
[INFO] [stdout] test types::user::tests::bugzilla_user_fields_matches_serialized_keys ... ok
[INFO] [stdout] test types::user::tests::whoami_output_flattens_identity_with_connection_metadata ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_bare_date_and_canonicalizes ... ok
[INFO] [stdout] test types::user::tests::whoami_output_serializes_absent_identity_fields_as_null ... ok
[INFO] [stdout] test types::user::tests::user_group_missing_scalars_serialize_as_null ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_february_twenty_ninth_on_leap_year ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_february_twenty_ninth_on_quadricentennial_leap_year ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_last_day_of_non_leap_february ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_leap_second ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_maximum_offset_hours ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_naive_datetime_unchanged ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_maximum_offset_minutes_below_fourteen_hours ... ok
[INFO] [stdout] test types::transport::tests::auth_mode_display_matches_wire_strings ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_positive_offset_unchanged ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_year_zero ... ok
[INFO] [stdout] test types::user::tests::whoami_from_bugzilla_user ... ok
[INFO] [stdout] test tls::verifier::tests::ca_cert_config_loads_valid_pem ... ok
[INFO] [stdout] test types::user::tests::whoami_response_deserializes ... ok
[INFO] [stdout] test types::tests::whoami_deserialize ... ok
[INFO] [stdout] test types::transport::tests::auth_mode_serializes_to_contract_strings ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_negative_offset_unchanged ... ok
[INFO] [stdout] test validation::datetime::tests::accepts_zulu_datetime_unchanged ... ok
[INFO] [stdout] test validation::datetime::tests::date_only_accepts_bare_date_verbatim ... ok
[INFO] [stdout] test validation::datetime::tests::date_only_rejects_century_non_leap_feb_29 ... ok
[INFO] [stdout] test validation::datetime::tests::date_only_rejects_datetime ... ok
[INFO] [stdout] test validation::datetime::tests::date_only_rejects_garbage_and_names_flag ... ok
[INFO] [stdout] test validation::datetime::tests::error_message_includes_expected_forms ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_day_above_thirty_one ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_day_past_month_length ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_empty_string ... ok
[INFO] [stdout] test validation::datetime::tests::rejected_date_only_carries_field_and_value_attribution ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_february_twenty_ninth_on_century_non_leap_year ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_february_twenty_ninth_on_non_leap_year ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_fractional_seconds ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_garbage_word ... ok
[INFO] [stdout] test validation::datetime::tests::rejected_iso8601_carries_field_and_value_attribution ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_hour_above_twenty_three ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_minute_above_fifty_nine ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_month_above_twelve ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_non_ascii_input ... ok
[INFO] [stdout] test tls::tests::api_key_query_param_not_forwarded_across_cross_host_redirect ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_offset_minutes_above_fifty_nine ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_offset_minutes_when_hour_is_fourteen ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_offset_hours_above_fourteen ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_offset_with_invalid_sign ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_offset_without_colon ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_ordinal_date ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_plus_signed_date_fields ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_plus_signed_offset_field ... ok
[INFO] [stdout] test tls::verifier::tests::ca_cert_config_rejects_empty_pem_file ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_plus_signed_time_fields ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_second_above_sixty ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_single_wrong_date_separator ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_single_wrong_time_separator ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_slash_separators ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_space_separator_between_date_and_time ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_week_date ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_year_month ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_year_only ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_zero_month ... ok
[INFO] [stdout] test validation::datetime::tests::timestamp_compare_key_is_transport_agnostic ... ok
[INFO] [stdout] test validation::datetime::tests::timestamp_compare_key_rejects_offsets_and_garbage ... ok
[INFO] [stdout] test validation::datetime::tests::rejects_zero_day ... ok
[INFO] [stdout] test validation::fields::tests::apply_absent_key_yields_sparse_object ... ok
[INFO] [stdout] test validation::fields::tests::apply_projects_every_array_element ... ok
[INFO] [stdout] test validation::fields::tests::apply_on_scalar_is_noop ... ok
[INFO] [stdout] test validation::fields::tests::blank_include_is_identity ... ok
[INFO] [stdout] test validation::fields::tests::combined_empty_result_errors ... ok
[INFO] [stdout] test validation::fields::tests::combined_exclude_absent_from_include_is_inert ... ok
[INFO] [stdout] test validation::fields::tests::combined_subtracts_exclude_from_include ... ok
[INFO] [stdout] test validation::fields::tests::exclude_drops_named_keys ... ok
[INFO] [stdout] test validation::fields::tests::exclude_every_key_errors ... ok
[INFO] [stdout] test validation::fields::tests::include_keeps_only_named_keys ... ok
[INFO] [stdout] test validation::fields::tests::neither_is_identity ... ok
[INFO] [stdout] test validation::fields::tests::projected_key_order_follows_serialization_not_request_order ... ok
[INFO] [stdout] test validation::fields::tests::projection_for_json_validates ... ok
[INFO] [stdout] test validation::fields::tests::projection_for_table_warns_and_returns_identity ... ok
[INFO] [stdout] test validation::fields::tests::unknown_exclude_token_errors ... ok
[INFO] [stdout] test validation::tests::build_order_appends_direction_and_tiebreaker ... ok
[INFO] [stdout] test validation::fields::tests::unknown_include_token_errors ... ok
[INFO] [stdout] test validation::tests::build_order_omits_redundant_tiebreaker_for_bug_id ... ok
[INFO] [stdout] test validation::tests::build_order_resolves_field_aliases ... ok
[INFO] [stdout] test validation::tls_pin::tests::parse_sha256_pin_rejects_bad_base64 ... ok
[INFO] [stdout] test validation::tls_pin::tests::parse_sha256_pin_rejects_bad_prefix ... ok
[INFO] [stdout] test validation::tls_pin::tests::parse_sha256_pin_rejects_wrong_length ... ok
[INFO] [stdout] test validation::tls_pin::tests::round_trip_sha256_pin ... ok
[INFO] [stdout] test xmlrpc::protocol::call::tests::build_request_escapes_special_chars ... ok
[INFO] [stdout] test xmlrpc::protocol::call::tests::build_request_renders_double_and_datetime_and_base64 ... ok
[INFO] [stdout] test validation::tests::build_order_defaults_to_bug_id_when_no_sort ... ok
[INFO] [stdout] test xmlrpc::protocol::call::tests::roundtrip_nested_struct ... ok
[INFO] [stdout] test xmlrpc::protocol::fault::tests::non_struct_fault_is_xmlrpc_error ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_array_skips_decoy_inside_data ... ok
[INFO] [stdout] test xmlrpc::protocol::call::tests::build_simple_request ... ok
[INFO] [stdout] test xmlrpc::protocol::fault::tests::fault_struct_maps_to_api_error ... ok
[INFO] [stdout] test xmlrpc::protocol::fault::tests::fault_missing_fields_uses_defaults ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_array_skips_decoy_before_data ... ok
[INFO] [stdout] test xmlrpc::protocol::call::tests::build_request_with_bool_and_array ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_array_without_data_tag_is_empty ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_bare_text_as_string ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_base64_value ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_boolean_values ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_empty_params_errors_with_specific_message ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_empty_array ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_empty_struct ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_empty_value_returns_empty_string ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_fault_response ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_first_param_skips_decoy_inside_params ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_i4_type ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_member_does_not_terminate_on_unrelated_end_tag ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_response_skips_decoy_inside_method_response ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_response_skips_decoy_root_sibling ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_response_with_double_and_datetime ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_self_closing_struct_is_empty_struct ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_self_closing_value_is_empty_string ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_self_closing_array_is_empty_array ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_string_continues_past_unrelated_end_tag ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_struct_does_not_terminate_on_unrelated_end_tag ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_struct_skips_member_lookalike ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_string_with_cdata_section ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_value_skips_decoy_inside_param ... ok
[INFO] [stdout] test xmlrpc::protocol::parsing::tests::parse_success_response_with_struct ... ok
[INFO] [stdout] test tls::verifier::tests::ca_cert_config_rejects_malformed_pem ... ok
[INFO] [stdout] test tls::tests::api_key_header_not_forwarded_across_cross_host_redirect ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachment_by_id_parses_response ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_attachment_empty_string_data_becomes_none ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::add_vec_filters_increments_chart_index_per_negation ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::extract_bugs_rejects_non_array_payload ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachments_parses_full_response ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachment_by_id_rejects_id_outside_xmlrpc_integer_range ... ok
[INFO] [stdout] test xmlrpc::protocol::client::tests::http_error_preview_handles_multibyte_debug_preview_boundary ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::get_bug_by_alias ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachments_rejects_bug_id_outside_xmlrpc_integer_range ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachments_requests_inline_data_field ... ok
[INFO] [stdout] test tests::dispatch_inline_tls_ca_cert_connects_to_self_signed_server_without_config ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_attachment_nonempty_string_data_is_kept ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachment_by_id_not_found_returns_error ... ok
[INFO] [stdout] test xmlrpc::protocol::client::tests::anonymous_xmlrpc_call_omits_api_key ... ok
[INFO] [stdout] test xmlrpc::protocol::client::tests::fault_response_maps_to_error ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachment_by_id_request_body_omits_exclude_fields ... ok
[INFO] [stdout] test xmlrpc::protocol::client::tests::http_error_body_read_failure_preserves_context ... ok
[INFO] [stdout] test xmlrpc::protocol::client::tests::http_error_maps_to_xmlrpc_error ... ok
[INFO] [stdout] test tests::dispatch_inline_tls_pin_now_connects_to_self_signed_server_without_config ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_multi_value_sends_array ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_qa_contact ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::get_bug_by_id ... ok
[INFO] [stdout] test xmlrpc::resources::attachment::tests::xmlrpc_get_attachments_returns_empty_when_bug_has_none ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_op_sys ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::get_bug_empty_result_is_not_found ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::value_to_bug_captures_custom_fields ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::value_to_bug_converts_custom_field_arrays ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::value_to_bug_converts_custom_field_scalars_without_failing ... ok
[INFO] [stdout] test xmlrpc::resources::comment::tests::comments_with_attachment_id_propagates_field ... ok
[INFO] [stdout] test xmlrpc::resources::comment::tests::comments_without_attachment_id_yields_none ... ok
[INFO] [stdout] test xmlrpc::resources::comment::tests::value_to_comment_parses_int_is_private ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_sends_creation_time_and_last_change_time ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::get_bug_by_id_parses_dupe_of ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_fields_and_ids_use_xmlrpc_arrays ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_negation_sends_boolean_chart ... ok
[INFO] [stdout] test xmlrpc::resources::group::tests::value_to_group_info_parses_int_is_active ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_empty_result ... ok
[INFO] [stdout] test xmlrpc::resources::group::tests::value_to_group_info_parses_membership_and_optional_fields ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::get_datetime_str_covers_datetime_string_and_fallthrough ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::get_flags_keeps_missing_name_and_status_unknown ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::get_flags_parses_structs_and_skips_non_structs ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::get_int_array_returns_ints_only ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::get_nonempty_str_filters_empty_and_non_string ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::require_u64_accepts_non_negative ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::get_str_array_returns_strings_only ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::require_u64_missing_field_is_distinct_from_negative ... ok
[INFO] [stdout] test xmlrpc::resources::mappers::tests::require_u64_rejects_negative_id ... ok
[INFO] [stdout] test xmlrpc::tests::from_string_value ... ok
[INFO] [stdout] test xmlrpc::resources::user::tests::extract_id_requires_struct_with_integer_id ... ok
[INFO] [stdout] test xmlrpc::tests::from_vec_and_btreemap_value ... ok
[INFO] [stdout] test xmlrpc::tests::value_conversions ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_returns_results ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_rejects_id_outside_xmlrpc_integer_range ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_whiteboard ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_negation_whiteboard_uses_notsubstring ... ok
[INFO] [stdout] test xmlrpc::resources::user::tests::create_user_returns_id_from_response ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_negation_resolution_uses_notequals ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_resolution ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_version ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_platform ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_url ... ok
[INFO] [stdout] test xmlrpc::resources::bug::tests::search_bugs_xmlrpc_sends_target_milestone ... ok
[INFO] [stdout] test xmlrpc::resources::comment::tests::xmlrpc_get_comments_since_rejects_bug_id_outside_xmlrpc_integer_range ... ok
[INFO] [stdout] test xmlrpc::resources::comment::tests::xmlrpc_get_comments_since_parses_full_response ... ok
[INFO] [stdout] test xmlrpc::resources::comment::tests::xmlrpc_get_comments_since_serializes_new_since ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2415 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 65.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bzr-6378e914de323daf)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test tests::exit_code_maps_non_validation_variant ... ok
[INFO] [stdout] test tests::format_dispatch_error_table_for_non_config_error ... ok
[INFO] [stdout] test tests::format_dispatch_error_renders_table ... ok
[INFO] [stdout] test tests::exit_code_maps_known_error_to_exit_code ... ok
[INFO] [stdout] test tests::format_dispatch_error_collision_carries_retry_tokens ... ok
[INFO] [stdout] test tests::format_dispatch_error_renders_json ... ok
[INFO] [stdout] test tests::tracing_filter_default_warn ... ok
[INFO] [stdout] test tests::tracing_filter_quiet_overrides_rust_log ... ok
[INFO] [stdout] test tests::tracing_filter_quiet_overrides_verbose ... ok
[INFO] [stdout] test tests::tracing_filter_quiet_returns_off ... ok
[INFO] [stdout] test tests::tracing_filter_rust_log_defers ... ok
[INFO] [stdout] test tests::tracing_filter_verbose_levels ... ok
[INFO] [stdout] test tests::exit_code_maps_highest_code ... ok
[INFO] [stdout] test tests::format_dispatch_error_ndjson_renders_compact_json_object ... ok
[INFO] [stdout] test tests::format_dispatch_error_input_field_carries_field_and_value ... ok
[INFO] [stdout] test tests::format_dispatch_error_json_family_matches_published_schema ... ok
[INFO] [stdout] test tests::resolve_format_json_overrides_output ... ok
[INFO] [stdout] test tests::resolve_format_output_json ... ok
[INFO] [stdout] test tests::resolve_format_output_table ... ok
[INFO] [stdout] test tests::resolve_format_json_flag ... ok
[INFO] [stdout] test tests::resolve_format_falls_back_to_tty_detection ... ok
[INFO] [stdout] test tests::resolve_format_json_overrides_env ... ok
[INFO] [stdout] test tests::resolve_format_output_overrides_env ... ok
[INFO] [stdout] test tests::format_dispatch_error_universal_keys_present_and_correct_across_variants ... ok
[INFO] [stdout] test tests::resolve_format_invalid_env_returns_input_validation_error ... ok
[INFO] [stdout] test tests::resolve_format_env_json ... ok
[INFO] [stdout] test tests::suppress_stdout_redirects_fd1_to_devnull ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/bzr_lock_helper.rs (/opt/rustwide/target/debug/deps/bzr_lock_helper-aa8530babe92aa7c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/conc2_lock.rs (/opt/rustwide/target/debug/deps/conc2_lock-664ce26fd7ae5956)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr] waiting for another bzr process to finish writing the config…
[INFO] [stderr] warning: config directory '/tmp/.tmpPY2OHi/bzr' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmpPY2OHi/bzr'
[INFO] [stderr] warning: config directory '/tmp/.tmpPY2OHi/bzr' has overly broad permissions (755); expected owner-only access. Fix with `chmod 700` '/tmp/.tmpPY2OHi/bzr'
[INFO] [stdout] test update_locked_waits_for_a_held_lock_then_completes ... ok
[INFO] [stdout] test second_process_holding_the_lock_blocks_try_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-4dcb7ea68258fa5a)
[INFO] [stdout] 
[INFO] [stdout] running 82 tests
[INFO] [stdout] test api_error_propagates ... ok
[INFO] [stdout] test bug_list_changed_since_canonicalizes_bare_date_on_wire ... ok
[INFO] [stdout] test bug_list_issue_158_mixed_positive_and_negation_reaches_wire ... ok
[INFO] [stdout] test attachment_update_integration ... ok
[INFO] [stdout] test bug_create_integration ... ok
[INFO] [stdout] test attachment_download_bulk_per_bug_integration ... ok
[INFO] [stdout] test cli_and_docs_avoid_misleading_trim_phrasing ... ok
[INFO] [stdout] test cli_help_flag_exits_with_display_help ... ok
[INFO] [stdout] test cli_missing_subcommand_errors ... ok
[INFO] [stdout] test cli_version_flag_exits_with_display_version ... ok
[INFO] [stdout] test attachment_upload_with_is_patch_integration ... ok
[INFO] [stdout] test comment_add_body_and_body_file_conflict ... ok
[INFO] [stdout] test attachment_upload_integration ... ok
[INFO] [stdout] test bug_search_integration ... ok
[INFO] [stdout] test bug_list_integration ... ok
[INFO] [stdout] test attachment_download_integration ... ok
[INFO] [stdout] test attachment_upload_with_comment_private_integration ... ok
[INFO] [stdout] test completion_bash_parses_and_dispatches ... ok
[INFO] [stdout] test completion_rejects_unknown_shell ... ok
[INFO] [stdout] test attachment_list_integration ... ok
[INFO] [stdout] test attachment_upload_with_comment_integration ... ok
[INFO] [stdout] test attachment_list_returns_is_patch_field_integration ... ok
[INFO] [stdout] test bug_history_integration ... ok
[INFO] [stdout] test bug_update_integration ... ok
[INFO] [stdout] test docs_and_help_comments_use_current_long_flags ... ok
[INFO] [stdout] test bug_update_scalar_parity_fields_integration ... ok
[INFO] [stdout] test bug_update_with_comment_integration ... ok
[INFO] [stdout] test bug_view_integration ... ok
[INFO] [stdout] test classification_view_integration ... ok
[INFO] [stdout] test command_with_unknown_server_returns_error ... ok
[INFO] [stdout] test comment_add_body_file_posts_file_contents ... ok
[INFO] [stdout] test comment_add_integration ... ok
[INFO] [stdout] test comment_list_integration ... ok
[INFO] [stdout] test comment_search_tags_integration ... ok
[INFO] [stdout] test comment_tag_integration ... ok
[INFO] [stdout] test component_create_integration ... ok
[INFO] [stdout] test component_update_integration ... ok
[INFO] [stdout] test config_set_default_integration ... ok
[INFO] [stdout] test config_set_server_integration ... ok
[INFO] [stdout] test config_show_integration ... ok
[INFO] [stdout] test e2e_attachment_list_via_cli_args ... ok
[INFO] [stdout] test e2e_bug_list_json_all_unknown_fields_exits_7 ... ok
[INFO] [stdout] test e2e_bug_list_json_custom_field_is_emitted ... ok
[INFO] [stdout] test e2e_bug_list_json_exclude_id_drops_key_but_parses ... ok
[INFO] [stdout] test e2e_bug_list_json_partial_unknown_warns_and_projects ... ok
[INFO] [stdout] test e2e_bug_list_via_cli_args ... ok
[INFO] [stdout] test e2e_bug_view_json_all_unknown_is_lenient_with_warning ... ok
[INFO] [stdout] test e2e_bug_view_json_single_trims_object ... ok
[INFO] [stdout] test e2e_bug_view_via_cli_args ... ok
[INFO] [stdout] test e2e_classification_view_via_cli_args ... ok
[INFO] [stdout] test e2e_comment_list_via_cli_args ... ok
[INFO] [stdout] test e2e_component_create_via_cli_args ... ok
[INFO] [stdout] test e2e_config_show_via_cli_args ... ok
[INFO] [stdout] test e2e_field_list_via_cli_args ... ok
[INFO] [stdout] test e2e_group_view_via_cli_args ... ok
[INFO] [stdout] test e2e_inline_server_bug_view_without_config ... ok
[INFO] [stdout] test e2e_product_view_via_cli_args ... ok
[INFO] [stdout] test e2e_multi_bug_view_json_trims_bugs_keeps_wrapper ... ok
[INFO] [stdout] test e2e_query_list_via_cli_args ... ok
[INFO] [stdout] test e2e_server_info_via_cli_args ... ok
[INFO] [stdout] test e2e_template_list_via_cli_args ... ok
[INFO] [stdout] test types_root_reexports_column_spec ... ok
[INFO] [stdout] test e2e_user_search_via_cli_args ... ok
[INFO] [stdout] test e2e_whoami_via_cli_args ... ok
[INFO] [stdout] test field_list_integration ... ok
[INFO] [stdout] test whoami_bare_parses_and_show_subcommand_removed ... ok
[INFO] [stdout] test group_add_user_integration ... ok
[INFO] [stdout] test group_create_integration ... ok
[INFO] [stdout] test group_list_users_integration ... ok
[INFO] [stdout] test group_remove_user_integration ... ok
[INFO] [stdout] test group_update_integration ... ok
[INFO] [stdout] test group_view_integration ... ok
[INFO] [stdout] test json_output_carries_exactly_one_envelope ... ok
[INFO] [stdout] test product_create_integration ... ok
[INFO] [stdout] test product_list_integration ... ok
[INFO] [stdout] test product_update_integration ... ok
[INFO] [stdout] test product_view_integration ... ok
[INFO] [stdout] test server_info_integration ... ok
[INFO] [stdout] test user_create_integration ... ok
[INFO] [stdout] test user_search_integration ... ok
[INFO] [stdout] test user_update_integration ... ok
[INFO] [stdout] test whoami_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 82 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.92s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bzr
[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] running `Command { std: "docker" "inspect" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7", kill_on_drop: false }`
[INFO] [stdout] 668778ef048b37a007a9f7b1665d9fc408f3fd0241b74c3e253aea91629c52a7
