[INFO] cloning repository https://github.com/EarlySalty/Claude-Account-Swapper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EarlySalty/Claude-Account-Swapper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEarlySalty%2FClaude-Account-Swapper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEarlySalty%2FClaude-Account-Swapper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd1ed4f5b885cf5419e206b45bf2f42476bd1f1e
[INFO] testing EarlySalty/Claude-Account-Swapper against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEarlySalty%2FClaude-Account-Swapper" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/EarlySalty/Claude-Account-Swapper
[INFO] finished tweaking git repo https://github.com/EarlySalty/Claude-Account-Swapper
[INFO] tweaked toml for git repo https://github.com/EarlySalty/Claude-Account-Swapper written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/EarlySalty/Claude-Account-Swapper on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/EarlySalty/Claude-Account-Swapper 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9
[INFO] running `Command { std: "docker" "start" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling claude-account-swapper v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling claude-account-swapper v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 15.16s
[INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/claude_account_swapper-5ac33430f7211ec2)
[INFO] [stdout] 
[INFO] [stdout] running 45 tests
[INFO] [stdout] test config::tests::fehlende_felder_fallen_auf_die_standardwerte_zurueck ... ok
[INFO] [stdout] test config::tests::der_zustandssatz_nennt_beide_schalter ... ok
[INFO] [stdout] test config::tests::unsinnige_werte_sind_ein_fehler ... ok
[INFO] [stdout] test jobs::tests::die_bewertung_liefert_zu_jeder_aufgabe_eine_begruendung ... ok
[INFO] [stdout] test jobs::tests::die_sperre_zaehlt_ab_dem_ende_eines_langen_laufs ... ok
[INFO] [stdout] test jobs::tests::ein_titel_wird_gekuerzt_und_einzeilig ... ok
[INFO] [stdout] test jobs::tests::ein_volles_wochenfenster_haelt_die_aufgabe_zurueck ... ok
[INFO] [stdout] test jobs::tests::ein_wirkungsloser_ping_wird_nicht_sofort_wiederholt ... ok
[INFO] [stdout] test jobs::tests::ein_volles_fuenfstundenfenster_haelt_die_aufgabe_zurueck ... ok
[INFO] [stdout] test jobs::tests::ein_volles_limit_haelt_auch_den_ping_zurueck ... ok
[INFO] [stdout] test jobs::tests::eine_abgeschaltete_aufgabe_laeuft_nie ... ok
[INFO] [stdout] test config::tests::eine_leere_datei_ist_die_standardkonfiguration ... ok
[INFO] [stdout] test jobs::tests::eine_aufgabe_wartet_im_laufenden_fenster_und_startet_nach_dem_reset ... ok
[INFO] [stdout] test jobs::tests::eine_frische_aufgabe_startet_im_ungenutzten_fenster_sofort ... ok
[INFO] [stdout] test jobs::tests::eine_datei_ohne_die_neueren_felder_bleibt_lesbar ... ok
[INFO] [stdout] test jobs::tests::nummern_zaehlen_hoch_und_bleiben_vierstellig ... ok
[INFO] [stdout] test usage::tests::aktiver_account_unter_der_schwelle_bleibt ... ok
[INFO] [stdout] test usage::tests::echte_antwort_wird_gelesen_und_zusatzfelder_stoeren_nicht ... ok
[INFO] [stdout] test jobs::tests::eine_gerade_gelaufene_aufgabe_startet_trotz_fensterwechsel_nicht_erneut ... ok
[INFO] [stdout] test usage::tests::ein_account_unter_seiner_grenze_bleibt_stehen ... ok
[INFO] [stdout] test jobs::tests::eine_aufgabe_laeuft_im_selben_fenster_kein_zweites_mal ... ok
[INFO] [stdout] test usage::tests::aktiver_account_mit_fruehestem_reset_bleibt ... ok
[INFO] [stdout] test usage::tests::ein_ungenutztes_fenster_ohne_reset_zeitpunkt_ist_kein_fehler ... ok
[INFO] [stdout] test usage::tests::knapp_unter_der_schwelle_bleibt_aktiv ... ok
[INFO] [stdout] test usage::tests::ohne_besseres_ziel_bleibt_der_aktive_account_in_seiner_reserve ... ok
[INFO] [stdout] test jobs::tests::eine_gespeicherte_aufgabe_bleibt_beim_lesen_dieselbe ... ok
[INFO] [stdout] test usage::tests::ein_account_ueber_seiner_grenze_wird_nicht_als_ziel_gewaehlt ... ok
[INFO] [stdout] test usage::tests::ein_volles_wochenfenster_zaehlt_als_wartezeit_nicht_das_fuenfstundenfenster ... ok
[INFO] [stdout] test usage::tests::eine_eigene_grenze_verlaesst_den_account_frueher ... ok
[INFO] [stdout] test usage::tests::eine_eigene_wochengrenze_wirkt_genauso ... ok
[INFO] [stdout] test usage::tests::eine_harte_grenze_wird_nie_angebrochen_eine_weiche_schon ... ok
[INFO] [stdout] test usage::tests::eine_harte_grenze_zaehlt_auch_fuer_die_wartezeit ... ok
[INFO] [stdout] test usage::tests::fehlende_felder_sind_ein_fehler_und_kein_stiller_nullwert ... ok
[INFO] [stdout] test usage::tests::freiester_account_gewinnt ... ok
[INFO] [stdout] test jobs::tests::eine_sitzungs_id_mit_sonderzeichen_wird_abgelehnt ... ok
[INFO] [stdout] test usage::tests::ohne_freien_account_wird_eine_weiche_reserve_angebrochen ... ok
[INFO] [stdout] test usage::tests::ohne_freien_account_gewinnt_der_fruehere_reset ... ok
[INFO] [stdout] test usage::tests::ohne_datierbaren_reset_gewinnt_ein_account_das_warten_nicht ... ok
[INFO] [stdout] test usage::tests::ohne_kandidaten_wird_nicht_gewechselt ... ok
[INFO] [stdout] test usage::tests::gleichstand_entscheidet_der_name_und_bleibt_stabil ... ok
[INFO] [stdout] test usage::tests::unbekannte_auslastung_des_aktiven_accounts_verhindert_den_wechsel ... ok
[INFO] [stdout] test usage::tests::schwelle_ist_erreicht_nicht_erst_ueberschritten ... ok
[INFO] [stdout] test usage::tests::volles_wochenfenster_schliesst_einen_sonst_freien_account_aus ... ok
[INFO] [stdout] test jobs::tests::der_ping_feuert_nur_in_ein_ungenutztes_fenster ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/claude_account-cb47a8f73f2620b6)
[INFO] [stdout] test usage::tests::bei_gleichem_fuenfstundenfenster_entscheidet_die_woche ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[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/cli.rs (/opt/rustwide/target/release/deps/cli-1cf9d793d62472c7)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test auth_environment_overrides_block_switching_without_mutation ... ok
[INFO] [stdout] test auto_ignores_a_stale_remembered_usage ... ok
[INFO] [stdout] test a_failed_request_reports_what_claude_wrote_to_stderr ... ok
[INFO] [stdout] test a_job_runs_with_its_own_prompt_in_its_own_directory ... ok
[INFO] [stdout] test auto_dry_run_reports_without_switching ... ok
[INFO] [stdout] test auto_falls_back_to_the_remembered_usage_when_the_api_rate_limits ... ok
[INFO] [stdout] test auto_asks_no_other_account_while_the_active_one_is_fine ... ok
[INFO] [stdout] test auto_breaks_into_a_soft_reserve_when_nothing_else_is_left ... ok
[INFO] [stdout] test a_reported_reason_never_carries_a_token_into_the_log ... ok
[INFO] [stdout] test a_failed_run_keeps_the_job_and_records_the_reason ... ok
[INFO] [stdout] test a_resume_job_hands_the_session_id_to_claude ... ok
[INFO] [stdout] test a_job_without_its_directory_is_switched_off_with_a_reason ... ok
[INFO] [stdout] test auto_ignores_an_account_whose_weekly_limit_is_full ... ok
[INFO] [stdout] test a_one_off_job_is_done_after_its_run_a_repeating_one_stays ... ok
[INFO] [stdout] test auto_never_leaks_the_access_token_into_its_output ... ok
[INFO] [stdout] test incomplete_profile_directories_do_not_block_valid_accounts ... ok
[INFO] [stdout] test auto_reports_an_unreachable_usage_api_and_switches_nothing ... ok
[INFO] [stdout] test corrupt_state_does_not_close_the_desktop_menu ... ok
[INFO] [stdout] test auto_keeps_the_active_account_below_the_threshold ... ok
[INFO] [stdout] test failed_first_login_removes_partially_written_credentials ... ok
[INFO] [stdout] test auto_picks_the_earliest_reset_when_every_account_is_full ... ok
[INFO] [stdout] test auto_uses_a_fresh_remembered_usage_without_asking_again ... ok
[INFO] [stdout] test auto_rejects_an_impossible_threshold ... ok
[INFO] [stdout] test auto_leaves_an_account_at_its_own_stop ... ok
[INFO] [stdout] test auto_respects_a_hard_stop_even_with_nothing_else_left ... ok
[INFO] [stdout] test keepalive_never_renews_the_login_that_is_currently_live ... ok
[INFO] [stdout] test invalid_saved_credentials_never_replace_the_live_login ... ok
[INFO] [stdout] test auto_never_switches_onto_an_account_beyond_its_own_stop ... ok
[INFO] [stdout] test keepalive_does_not_hunt_a_profile_that_needs_no_renewal ... ok
[INFO] [stdout] test keepalive_keeps_an_expired_profile_untouched_and_says_so ... ok
[INFO] [stdout] test keepalive_skips_profiles_that_were_recently_synced ... ok
[INFO] [stdout] test auto_switches_to_the_account_with_free_limits ... ok
[INFO] [stdout] test keepalive_saves_the_renewed_login_even_if_the_active_one_changes_meanwhile ... ok
[INFO] [stdout] test keepalive_reports_a_failed_request_instead_of_calling_it_valid ... ok
[INFO] [stdout] test keepalive_leaves_no_working_directory_behind ... ok
[INFO] [stdout] test keepalive_renews_an_idle_profile_without_touching_the_active_login ... ok
[INFO] [stdout] test list_marks_a_profile_whose_renewal_failed ... ok
[INFO] [stdout] test legacy_profiles_without_sync_metadata_still_load ... ok
[INFO] [stdout] test limit_rejects_impossible_values_and_unknown_profiles ... ok
[INFO] [stdout] test login_recovers_from_a_logged_out_stale_credential_file ... ok
[INFO] [stdout] test list_warns_about_a_refresh_token_that_expires_soon ... ok
[INFO] [stdout] test profile_names_cannot_escape_the_account_store ... ok
[INFO] [stdout] test menu_returns_after_an_invalid_action_instead_of_closing ... ok
[INFO] [stdout] test limit_stores_its_own_stops_in_the_profile ... ok
[INFO] [stdout] test login_preserves_credentials_rotated_by_the_status_check ... ok
[INFO] [stdout] test login_preserves_the_previous_account_and_saves_the_new_one ... ok
[INFO] [stdout] test settings_survive_a_restart_and_a_broken_file_falls_back_to_defaults ... ok
[INFO] [stdout] test menu_header_uses_the_real_claude_login_not_stale_switcher_state ... ok
[INFO] [stdout] test profiles_written_before_this_version_still_load ... ok
[INFO] [stdout] test menu_can_save_the_current_account_without_cli_arguments ... ok
[INFO] [stdout] test menu_can_run_the_one_time_login_flow ... ok
[INFO] [stdout] test saved_profile_stores_a_fingerprint_instead_of_the_token ... ok
[INFO] [stdout] test menu_can_switch_between_saved_accounts ... ok
[INFO] [stdout] test list_forgets_the_mark_after_a_successful_renewal ... ok
[INFO] [stdout] test login_with_the_wrong_account_restores_the_previous_login ... ok
[INFO] [stdout] test switch_no_check_keeps_the_old_unverified_way ... ok
[INFO] [stdout] test switch_clears_the_stale_account_identity_cache ... ok
[INFO] [stdout] test save_and_switch_syncs_the_latest_outgoing_credentials ... ok
[INFO] [stdout] test switch_refuses_to_sync_when_claude_reports_a_stale_identity ... ok
[INFO] [stdout] test switch_refuses_to_discard_an_unsaved_active_login ... ok
[INFO] [stdout] test saving_an_account_again_keeps_its_limits ... ok
[INFO] [stdout] test switch_to_the_active_account_never_rotates_the_live_login ... ok
[INFO] [stdout] test switch_refuses_a_dead_snapshot_instead_of_breaking_running_sessions ... ok
[INFO] [stdout] test sync_reports_unchanged_credentials_without_rewriting ... ok
[INFO] [stdout] test sync_writes_the_state_even_when_the_snapshot_already_matches ... ok
[INFO] [stdout] test sync_writes_rotated_live_tokens_into_the_active_profile ... ok
[INFO] [stdout] test sync_refuses_when_claude_reports_a_different_identity ... ok
[INFO] [stdout] test sync_without_identity_updates_the_last_active_profile ... ok
[INFO] [stdout] test switch_spends_no_request_while_the_snapshot_is_still_valid ... ok
[INFO] [stdout] test switch_without_a_known_identity_syncs_the_last_active_profile ... ok
[INFO] [stdout] test the_menu_offers_usage_limits_and_automation ... ok
[INFO] [stdout] test the_menu_creates_a_job ... ok
[INFO] [stdout] test switch_puts_the_renewed_login_live_when_the_snapshot_needed_a_refresh ... ok
[INFO] [stdout] test the_menu_switches_the_window_ping_on ... ok
[INFO] [stdout] test watch_rejects_a_threshold_without_the_opt_in ... ok
[INFO] [stdout] test usage_lists_every_account_and_shows_failures ... ok
[INFO] [stdout] test a_hanging_job_is_stopped_by_its_time_limit ... ok
[INFO] [stdout] test keepalive_rescues_the_renewed_login_when_the_request_runs_into_the_timeout ... ok
[INFO] [stdout] test the_service_asks_for_usage_only_when_it_has_something_to_do ... ok
[INFO] [stdout] test the_rerun_block_counts_from_the_end_of_a_run ... ok
[INFO] [stdout] test watch_keeps_the_active_profile_in_sync_with_rotated_tokens ... ok
[INFO] [stdout] test a_job_switched_off_during_its_run_stays_off ... ok
[INFO] [stdout] test a_job_deleted_during_its_run_does_not_come_back ... ok
[INFO] [stdout] test watch_logs_every_decision_including_the_ones_without_changes ... ok
[INFO] [stdout] test the_ping_stays_quiet_while_a_window_is_running ... ok
[INFO] [stdout] test watch_switches_with_the_opt_in ... ok
[INFO] [stdout] test watch_switches_nothing_without_the_opt_in ... ok
[INFO] [stdout] test watch_waits_instead_of_guessing_while_claude_has_no_identity ... ok
[INFO] [stdout] test the_service_opens_a_fresh_window_with_a_ping ... ok
[INFO] [stdout] test the_service_starts_a_due_job_and_marks_it_done ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests claude_account_swapper
[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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", kill_on_drop: false }`
[INFO] [stdout] e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9
