[INFO] fetching crate ryu-usage 0.1.14...
[INFO] testing ryu-usage-0.1.14 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate ryu-usage 0.1.14 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate ryu-usage 0.1.14
[INFO] finished tweaking crates.io crate ryu-usage 0.1.14
[INFO] tweaked toml for crates.io crate ryu-usage 0.1.14 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ryu-usage 0.1.14 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ryu-usage 0.1.14 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c
[INFO] running `Command { std: "docker" "start" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", 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" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", 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" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling http-body-util v0.1.4
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ryu-usage v0.1.14 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.05s
[INFO] running `Command { std: "docker" "inspect" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", 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" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ryu-usage v0.1.14 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.47s
[INFO] running `Command { std: "docker" "inspect" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", 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" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/ryu-usage/a2ff1ef8b0561ca6/out/ryu_usage-a2ff1ef8b0561ca6)
[INFO] [stdout] 
[INFO] [stdout] running 148 tests
[INFO] [stdout] test claude::tests::credentials_path_honours_override_and_default ... ok
[INFO] [stdout] test claude::tests::extra_usage_usd_converts_cents_when_enabled ... ok
[INFO] [stdout] test claude::tests::credentials_deserialize_tolerates_shapes ... ok
[INFO] [stdout] test claude::tests::extra_usage_usd_none_when_disabled_or_absent ... ok
[INFO] [stdout] test claude::tests::credential_structs_are_debug_printable ... ok
[INFO] [stdout] test claude::tests::extra_usage_meter_carries_the_monthly_cap_when_there_is_one ... ok
[INFO] [stdout] test claude::tests::format_plan_appends_multiplier ... ok
[INFO] [stdout] test claude::tests::format_plan_none_for_missing_or_empty_subscription ... ok
[INFO] [stdout] test claude::tests::scoped_weekly_windows_label_from_the_model_display_name ... ok
[INFO] [stdout] test claude::tests::format_plan_without_valid_multiplier ... ok
[INFO] [stdout] test claude::tests::title_case_capitalizes_words ... ok
[INFO] [stdout] test claude::tests::window_empty_resets_at_is_dropped ... ok
[INFO] [stdout] test claude::tests::window_none_without_utilization ... ok
[INFO] [stdout] test claude::tests::window_maps_utilization_and_resets_at ... ok
[INFO] [stdout] test codex::tests::auth_paths_prioritizes_codex_home ... ok
[INFO] [stdout] test codex::tests::auth_paths_ignores_blank_codex_home ... ok
[INFO] [stdout] test codex::tests::credit_values_floor_before_pricing_and_clamp_negatives ... ok
[INFO] [stdout] test codex::tests::auth_structs_are_debug_printable ... ok
[INFO] [stdout] test codex::tests::credits_balance_reads_body_then_header ... ok
[INFO] [stdout] test claude::tests::scoped_weekly_windows_empty_without_a_usable_array ... ok
[INFO] [stdout] test claude::tests::fetch_bad_json_body_is_error ... ok
[INFO] [stdout] test codex::tests::fetch_bad_json_body_is_error ... ok
[INFO] [stdout] test claude::tests::fetch_not_logged_in_on_invalid_json ... ok
[INFO] [stdout] test claude::tests::fetch_usage_dispatches_to_claude ... ok
[INFO] [stdout] test claude::tests::fetch_missing_scope_when_scopes_lack_user_profile ... ok
[INFO] [stdout] test codex::tests::fetch_connection_refused_is_error ... ok
[INFO] [stdout] test claude::tests::fetch_not_logged_in_on_empty_oauth ... ok
[INFO] [stdout] test claude::tests::fetch_not_logged_in_on_empty_access_token ... ok
[INFO] [stdout] test claude::tests::fetch_token_expired_when_past_expiry ... ok
[INFO] [stdout] test codex::tests::fetch_falls_back_to_embedded_reset_count_when_dedicated_call_fails ... ok
[INFO] [stdout] test codex::tests::format_plan_maps_opaque_codex_tiers ... ok
[INFO] [stdout] test claude::tests::fetch_maps_429_to_rate_limited ... ok
[INFO] [stdout] test codex::tests::reset_credits_falls_back_to_embedded_count_when_dedicated_count_is_null ... ok
[INFO] [stdout] test codex::tests::reset_credits_keeps_credits_without_a_status ... ok
[INFO] [stdout] test codex::tests::reset_credits_prefers_dedicated_payload_with_per_credit_expiries ... ok
[INFO] [stdout] test codex::tests::reset_credits_reports_a_real_zero_but_skips_a_missing_count ... ok
[INFO] [stdout] test codex::tests::fetch_happy_path_builds_windows_meters_and_plan ... ok
[INFO] [stdout] test codex::tests::spark_windows_carry_their_model_and_core_windows_do_not ... ok
[INFO] [stdout] test codex::tests::spark_windows_empty_without_spark_entry ... ok
[INFO] [stdout] test codex::tests::spark_windows_fall_back_to_the_meter_name_without_an_entry_name ... ok
[INFO] [stdout] test codex::tests::spark_windows_read_the_named_entry ... ok
[INFO] [stdout] test codex::tests::window_classified_by_duration_not_slot ... ok
[INFO] [stdout] test codex::tests::spark_windows_matches_metered_feature_and_skips_non_objects ... ok
[INFO] [stdout] test codex::tests::window_percent_clamps_out_of_range ... ok
[INFO] [stdout] test codex::tests::window_falls_back_to_relative_reset_after_seconds ... ok
[INFO] [stdout] test codex::tests::window_percent_comes_from_header_when_body_omits_it ... ok
[INFO] [stdout] test codex::tests::window_unrecognized_duration_keeps_slot_fallback ... ok
[INFO] [stdout] test codex::tests::window_uses_absolute_reset_at ... ok
[INFO] [stdout] test codex::tests::window_without_used_percent_or_rate_limit_is_skipped ... ok
[INFO] [stdout] test claude::tests::fetch_happy_path_builds_windows_and_plan ... ok
[INFO] [stdout] test codex::tests::fetch_not_logged_in_when_no_auth_anywhere ... ok
[INFO] [stdout] test codex::tests::fetch_maps_429_to_rate_limited_with_retry_after ... ok
[INFO] [stdout] test copilot::tests::fetch_bad_json_body_is_error ... ok
[INFO] [stdout] test claude::tests::fetch_maps_500_to_error ... ok
[INFO] [stdout] test copilot::tests::limited_window_maps_remaining_against_a_monthly_total ... ok
[INFO] [stdout] test copilot::tests::format_plan_titles_the_github_plan_slug ... ok
[INFO] [stdout] test copilot::tests::snapshot_window_converts_percent_remaining_to_used ... ok
[INFO] [stdout] test copilot::tests::snapshot_window_derives_percent_from_entitlement_and_remaining ... ok
[INFO] [stdout] test copilot::tests::overage_meter_needs_overage_permitted_but_shows_a_real_zero ... ok
[INFO] [stdout] test copilot::tests::snapshot_window_suppresses_unlimited_and_zero_entitlement ... ok
[INFO] [stdout] test copilot::tests::token_from_apps_json_takes_the_first_entry_with_a_token ... ok
[INFO] [stdout] test copilot::tests::fetch_free_plan_falls_back_to_legacy_monthly_quotas ... ok
[INFO] [stdout] test claude::tests::read_credentials_prefers_nonempty_file ... ok
[INFO] [stdout] test claude::tests::fetch_maps_401_to_token_expired ... ok
[INFO] [stdout] test copilot::tests::token_from_hosts_yml_reads_the_oauth_token_line ... ok
[INFO] [stdout] test codex::tests::fetch_reads_percent_and_credits_from_headers ... ok
[INFO] [stdout] test codex::tests::fetch_token_expired_for_past_jwt ... ok
[INFO] [stdout] test codex::tests::fetch_usage_dispatches_to_codex ... ok
[INFO] [stdout] test codex::tests::fetch_unsupported_for_api_key_only_login ... ok
[INFO] [stdout] test codex::tests::fetch_unsupported_when_access_token_empty ... ok
[INFO] [stdout] test codex::tests::load_auth_reads_api_key_only_login ... ok
[INFO] [stdout] test codex::tests::load_auth_reads_oauth_token ... ok
[INFO] [stdout] test glm::tests::map_quota_classifies_windows_by_their_reported_length ... ok
[INFO] [stdout] test glm::tests::map_quota_empty_limits_is_a_valid_no_data_state ... ok
[INFO] [stdout] test glm::tests::map_quota_keeps_a_daily_and_a_weekly_cap_apart ... ok
[INFO] [stdout] test glm::tests::map_quota_tolerates_a_root_level_limits_array ... ok
[INFO] [stdout] test glm::tests::map_quota_skips_unknown_units_but_refuses_missing_values ... ok
[INFO] [stdout] test glm::tests::plan_name_reads_the_first_product ... ok
[INFO] [stdout] test glm::tests::window_label_names_each_duration_distinctly ... ok
[INFO] [stdout] test claude::tests::fetch_connection_refused_is_error ... ok
[INFO] [stdout] test glm::tests::window_millis_maps_every_known_unit ... ok
[INFO] [stdout] test grok::tests::auth_path_honours_grok_home ... ok
[INFO] [stdout] test grok::tests::credits_config_refuses_drift_rather_than_reading_zero ... ok
[INFO] [stdout] test grok::tests::credits_config_reads_the_weekly_pool ... ok
[INFO] [stdout] test grok::tests::credits_config_treats_omitted_zero_fields_as_zero ... ok
[INFO] [stdout] test glm::tests::no_coding_plan_needs_both_the_flag_and_the_phrase ... ok
[INFO] [stdout] test copilot::tests::fetch_maps_401_to_token_expired_and_429_to_rate_limited ... ok
[INFO] [stdout] test grok::tests::fetch_maps_401_and_429 ... ok
[INFO] [stdout] test glm::tests::fetch_builds_windows_meter_and_plan ... ok
[INFO] [stdout] test grok::tests::is_expired_reads_jwt_exp_then_recorded_expiry ... ok
[INFO] [stdout] test glm::tests::fetch_not_logged_in_without_a_key ... ok
[INFO] [stdout] test grok::tests::pay_as_you_go_meter_shows_the_cap_or_a_real_zero ... ok
[INFO] [stdout] test grok::tests::plan_name_reads_the_display_tier ... ok
[INFO] [stdout] test provider_credits::tests::balance_meters_clamp_and_keep_the_grant_on_its_own_row ... ok
[INFO] [stdout] test provider_credits::tests::blank_key_is_not_logged_in_and_unknown_provider_is_unsupported ... ok
[INFO] [stdout] test copilot::tests::token_from_files_falls_through_to_gh_hosts_yml ... ok
[INFO] [stdout] test copilot::tests::token_from_files_none_with_an_empty_config_home ... ok
[INFO] [stdout] test copilot::tests::fetch_paid_plan_builds_credits_and_extra_usage ... ok
[INFO] [stdout] test copilot::tests::token_paths_prefers_editor_files_over_gh ... ok
[INFO] [stdout] test copilot::tests::token_from_files_reads_the_editor_plugin_file ... ok
[INFO] [stdout] test glm::tests::fetch_reports_no_plan_for_a_key_without_a_coding_plan ... ok
[INFO] [stdout] test grok::tests::fetch_builds_weekly_window_and_cap_meter ... ok
[INFO] [stdout] test grok::tests::fetch_not_logged_in_without_auth_file ... ok
[INFO] [stdout] test provider_credits::tests::number_reads_json_numbers_and_numeric_strings ... ok
[INFO] [stdout] test copilot::tests::fetch_org_managed_seat_reports_no_plan_but_keeps_the_plan_name ... ok
[INFO] [stdout] test provider_credits::tests::snapshot_serialization_skips_optional_fields ... ok
[INFO] [stdout] test provider_credits::tests::supports_only_the_providers_with_a_readable_balance ... ok
[INFO] [stdout] test provider_credits::tests::unsupported_provider_without_a_key_is_still_unsupported ... ok
[INFO] [stdout] test tests::available_snapshot_serializes_all_fields ... ok
[INFO] [stdout] test tests::clamp_percent_holds_the_range ... ok
[INFO] [stdout] test tests::engine_codex_substring_variants ... ok
[INFO] [stdout] test tests::engine_maps_curated_acp_ids ... ok
[INFO] [stdout] test tests::engine_maps_engine_direct_and_custom_ids ... ok
[INFO] [stdout] test tests::engine_maps_every_curated_acp_id ... ok
[INFO] [stdout] test provider_credits::tests::deepseek_empty_or_missing_rows_refuse ... ok
[INFO] [stdout] test tests::engine_prefers_claude_when_both_substrings_present ... ok
[INFO] [stdout] test tests::host_seam_install_and_read ... ok
[INFO] [stdout] test tests::engine_none_for_unsupported_agents ... ok
[INFO] [stdout] test tests::jwt_exp_accepts_standard_base64_no_pad_payload ... ok
[INFO] [stdout] test tests::jwt_exp_none_for_non_jwt ... ok
[INFO] [stdout] test tests::jwt_exp_none_when_exp_missing_or_non_numeric ... ok
[INFO] [stdout] test tests::jwt_exp_none_when_payload_is_not_json ... ok
[INFO] [stdout] test tests::jwt_exp_reads_claim_without_verification ... ok
[INFO] [stdout] test tests::meter_serializes_values_kinds_and_expiries ... ok
[INFO] [stdout] test tests::reason_for_status_maps_auth_and_ratelimit_and_default ... ok
[INFO] [stdout] test tests::read_file_reads_and_misses ... ok
[INFO] [stdout] test tests::retry_after_reads_delta_seconds_only ... ok
[INFO] [stdout] test tests::timestamp_to_rfc3339_accepts_every_shape_vendors_send ... ok
[INFO] [stdout] test tests::title_case_splits_on_separators ... ok
[INFO] [stdout] test tests::unavailable_reason_serializes_snake_case ... ok
[INFO] [stdout] test tests::unavailable_snapshot_serialization_skips_optional_fields ... ok
[INFO] [stdout] test tests::subscription_agents_cover_every_engine ... ok
[INFO] [stdout] test tests::unsupported_agent_yields_hide_snapshot ... ok
[INFO] [stdout] test tests::unavailable_snapshot_shape ... ok
[INFO] [stdout] test provider_credits::tests::deepseek_falls_back_to_the_first_row_without_usd ... ok
[INFO] [stdout] test grok::tests::fetch_omits_the_window_for_a_non_weekly_period ... ok
[INFO] [stdout] test provider_credits::tests::deepseek_reads_string_amounts_and_prefers_usd ... ok
[INFO] [stdout] test grok::tests::fetch_unknown_body_shape_is_error ... ok
[INFO] [stdout] test grok::tests::load_auth_picks_the_lowest_key_with_a_token ... ok
[INFO] [stdout] test glm::tests::fetch_maps_401_and_429_and_bad_json ... ok
[INFO] [stdout] test provider_credits::tests::moonshot_falls_back_to_the_mainland_host ... ok
[INFO] [stdout] test provider_credits::tests::moonshot_reports_the_first_hosts_refusal_when_both_fail ... ok
[INFO] [stdout] test glm::tests::fetch_survives_a_failing_plan_lookup ... ok
[INFO] [stdout] test glm::tests::load_api_key_prefers_zai_then_glm_env ... ok
[INFO] [stdout] test provider_credits::tests::moonshot_reads_the_international_host ... ok
[INFO] [stdout] test provider_credits::tests::openrouter_balance_is_credits_minus_usage ... ok
[INFO] [stdout] test provider_credits::tests::openrouter_maps_401_and_429 ... ok
[INFO] [stdout] test provider_credits::tests::openrouter_malformed_body_refuses ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.62s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ryu_usage
[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" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c", kill_on_drop: false }`
[INFO] [stdout] 2adfb46c2c58da924ab2342f52397ec6ac3a6eefcd6c9f135a5804a7847ba81c
