[INFO] cloning repository https://github.com/Microck/kagi-cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Microck/kagi-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMicrock%2Fkagi-cli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMicrock%2Fkagi-cli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6653e303888abfa2d2e6c8b884fd91f0498312e2 [INFO] testing Microck/kagi-cli against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMicrock%2Fkagi-cli" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Microck/kagi-cli [INFO] finished tweaking git repo https://github.com/Microck/kagi-cli [INFO] tweaked toml for git repo https://github.com/Microck/kagi-cli written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Microck/kagi-cli on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Microck/kagi-cli already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] da48487eab8ab4edd2bbeeb884d2c09e559590e0d8761aba862f5b3a53bdd87c [INFO] running `Command { std: "docker" "start" "-a" "da48487eab8ab4edd2bbeeb884d2c09e559590e0d8761aba862f5b3a53bdd87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "da48487eab8ab4edd2bbeeb884d2c09e559590e0d8761aba862f5b3a53bdd87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da48487eab8ab4edd2bbeeb884d2c09e559590e0d8761aba862f5b3a53bdd87c", kill_on_drop: false }` [INFO] [stdout] da48487eab8ab4edd2bbeeb884d2c09e559590e0d8761aba862f5b3a53bdd87c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c873adfb06844cb0b9a30c8741195b8b1023ff69fbfd1a2080c4cc636877c058 [INFO] running `Command { std: "docker" "start" "-a" "c873adfb06844cb0b9a30c8741195b8b1023ff69fbfd1a2080c4cc636877c058", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling phf_shared v0.13.1 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling phf_generator v0.13.1 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling tendril v0.5.0 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling servo_arc v0.4.3 [INFO] [stderr] Compiling unicode-linebreak v0.1.5 [INFO] [stderr] Compiling smawk v0.3.2 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling phf_codegen v0.13.1 [INFO] [stderr] Compiling string_cache_codegen v0.6.1 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling selectors v0.36.1 [INFO] [stderr] Compiling winnow v1.0.0 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling toml_datetime v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling toml_parser v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling toml_writer v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling ego-tree v0.11.0 [INFO] [stderr] Compiling web_atoms v0.2.3 [INFO] [stderr] Compiling toml v1.0.7+spec-1.1.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling console v0.16.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling indicatif v0.18.4 [INFO] [stderr] Compiling string_cache v0.9.0 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling phf_macros v0.13.1 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling phf v0.13.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling cliclack v0.5.2 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling cssparser v0.36.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling markup5ever v0.39.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling html5ever v0.39.0 [INFO] [stderr] Compiling clap_complete v4.6.0 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling scraper v0.26.0 [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 v1.0.228 [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 hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling kagi v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.54s [INFO] running `Command { std: "docker" "inspect" "c873adfb06844cb0b9a30c8741195b8b1023ff69fbfd1a2080c4cc636877c058", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c873adfb06844cb0b9a30c8741195b8b1023ff69fbfd1a2080c4cc636877c058", kill_on_drop: false }` [INFO] [stdout] c873adfb06844cb0b9a30c8741195b8b1023ff69fbfd1a2080c4cc636877c058 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf6d2f2df7b2f133a92514fd4b199fd362b69c28355772aaafe60b55ffea5412 [INFO] running `Command { std: "docker" "start" "-a" "bf6d2f2df7b2f133a92514fd4b199fd362b69c28355772aaafe60b55ffea5412", kill_on_drop: false }` [INFO] [stderr] Compiling kagi v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.35s [INFO] running `Command { std: "docker" "inspect" "bf6d2f2df7b2f133a92514fd4b199fd362b69c28355772aaafe60b55ffea5412", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf6d2f2df7b2f133a92514fd4b199fd362b69c28355772aaafe60b55ffea5412", kill_on_drop: false }` [INFO] [stdout] bf6d2f2df7b2f133a92514fd4b199fd362b69c28355772aaafe60b55ffea5412 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5366287d7bae8259a646be8fb7b48b7322f8bff6a26bd6b1e4052ecbe246d5cb [INFO] running `Command { std: "docker" "start" "-a" "5366287d7bae8259a646be8fb7b48b7322f8bff6a26bd6b1e4052ecbe246d5cb", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kagi-77d08fb1af07107c) [INFO] [stdout] [INFO] [stdout] running 159 tests [INFO] [stdout] test api::tests::builds_translate_payload_with_optional_fields ... ok [INFO] [stdout] test api::tests::falls_back_to_requested_source_when_detected_iso_is_empty ... ok [INFO] [stdout] test api::tests::live_ask_page_rust_homepage ... ignored, requires live KAGI_SESSION_TOKEN [INFO] [stdout] test api::tests::live_assistant_thread_roundtrip ... ignored [INFO] [stdout] test api::tests::live_custom_assistant_crud_roundtrip ... ignored, requires live KAGI_SESSION_TOKEN and mutates custom assistants [INFO] [stdout] test api::tests::live_custom_bang_crud_roundtrip ... ignored, requires live KAGI_SESSION_TOKEN and mutates custom bangs [INFO] [stdout] test api::tests::live_lens_crud_roundtrip ... ignored, requires live KAGI_SESSION_TOKEN and mutates lenses [INFO] [stdout] test api::tests::does_not_retry_translate_bootstrap_for_invalid_session_auth ... ok [INFO] [stdout] test api::tests::keeps_existing_translate_detected_language_when_present ... ok [INFO] [stdout] test api::tests::captures_translate_optional_section_failures_as_warnings ... ok [INFO] [stdout] test api::tests::live_redirect_crud_roundtrip ... ignored, requires live KAGI_SESSION_TOKEN and mutates redirects [INFO] [stdout] test api::tests::live_translate_core_only_skips_auxiliary_sections ... ignored, requires live KAGI_SESSION_TOKEN [INFO] [stdout] test api::tests::live_translate_localizes_auxiliary_metadata_for_non_english_targets ... ignored, requires live KAGI_SESSION_TOKEN [INFO] [stdout] test api::tests::live_translate_populates_language_metadata_and_sections ... ignored, requires live KAGI_SESSION_TOKEN [INFO] [stdout] test api::tests::lists_news_filter_presets_with_language_fallback ... ok [INFO] [stdout] test api::tests::backfills_translate_language_metadata ... ok [INFO] [stdout] test api::tests::builds_ask_page_prompt ... ok [INFO] [stdout] test api::tests::extracts_translate_session_from_set_cookie_headers ... ok [INFO] [stdout] test api::tests::localizes_translate_suggestions_payload_to_target_language ... ok [INFO] [stdout] test api::tests::localizes_translate_word_insights_payload_to_target_language ... ok [INFO] [stdout] test api::tests::maps_translate_bootstrap_auth_statuses ... ok [INFO] [stdout] test api::tests::news_filter_keyword_matching_respects_word_boundaries ... ok [INFO] [stdout] test api::tests::hide_mode_omits_matching_news_stories ... ok [INFO] [stdout] test api::tests::blur_mode_tags_matching_news_stories ... ok [INFO] [stdout] test api::tests::normalizes_ask_page_url ... ok [INFO] [stdout] test api::tests::normalizes_assistant_query_and_thread_id ... ok [INFO] [stdout] test api::tests::normalizes_aux_quality_values ... ok [INFO] [stdout] test api::tests::normalizes_custom_bang_trigger_and_redirect_rule ... ok [INFO] [stdout] test api::tests::normalizes_subscriber_summary_input ... ok [INFO] [stdout] test api::tests::normalizes_subscriber_summary_length_values ... ok [INFO] [stdout] test api::tests::normalizes_subscriber_summary_type_values ... ok [INFO] [stdout] test api::tests::omits_empty_translate_option_state ... ok [INFO] [stdout] test api::tests::parses_api_error_message ... ok [INFO] [stdout] test api::tests::parses_assistant_thread_delete_stream ... ok [INFO] [stdout] test api::tests::parses_assistant_thread_open_stream ... ok [INFO] [stdout] test api::tests::parses_assistant_prompt_stream ... ok [INFO] [stdout] test api::tests::parses_content_disposition_filename ... ok [INFO] [stdout] test api::tests::parses_summarize_envelope ... ok [INFO] [stdout] test api::tests::parses_subscriber_summarize_stream ... ok [INFO] [stdout] test api::tests::parses_translate_detect_from_object_or_array ... ok [INFO] [stdout] test api::tests::preserves_explicit_translate_source_language ... ok [INFO] [stdout] test api::tests::rejects_empty_ask_page_question ... ok [INFO] [stdout] test api::tests::parses_assistant_thread_list_stream ... ok [INFO] [stdout] test api::tests::rejects_empty_translate_detect_array ... ok [INFO] [stdout] test api::tests::rejects_empty_translate_source_language ... ok [INFO] [stdout] test api::tests::rejects_empty_translate_target_language ... ok [INFO] [stdout] test api::tests::rejects_invalid_ask_page_url ... ok [INFO] [stdout] test api::tests::rejects_empty_translate_text ... ok [INFO] [stdout] test api::tests::rejects_error_state_in_subscriber_summarize_stream ... ok [INFO] [stdout] test api::tests::rejects_invalid_subscriber_summary_input_shape ... ok [INFO] [stdout] test api::tests::parses_fastgpt_envelope ... ok [INFO] [stdout] test api::tests::rejects_empty_assistant_query_and_thread_id ... ok [INFO] [stdout] test api::tests::rejects_invalid_subscriber_summary_length ... ok [INFO] [stdout] test api::tests::rejects_invalid_subscriber_summary_type ... ok [INFO] [stdout] test api::tests::rejects_non_http_ask_page_url ... ok [INFO] [stdout] test api::tests::rejects_translate_bootstrap_success_without_cookie ... ok [INFO] [stdout] test api::tests::rejects_translate_target_auto_value ... ok [INFO] [stdout] test api::tests::resolves_new_resource_refs_by_expected_keys ... ok [INFO] [stdout] test api::tests::resolves_news_category_by_display_name ... ok [INFO] [stdout] test api::tests::resolves_translate_bootstrap_from_success_cookie ... ok [INFO] [stdout] test api::tests::retries_translate_bootstrap_when_cookie_is_missing ... ok [INFO] [stdout] test api::tests::uses_detected_source_language_when_translate_from_is_auto ... ok [INFO] [stdout] test auth::tests::builds_config_session_credential_from_session_link ... ok [INFO] [stdout] test auth::tests::builds_env_session_credential_from_session_link ... ok [INFO] [stdout] test auth::tests::base_search_keeps_api_token_as_fallback_when_session_is_preferred ... ok [INFO] [stdout] test api::tests::skips_disabled_translate_optional_sections_without_polling ... ok [INFO] [stdout] test api::tests::returns_none_when_set_cookie_name_is_missing ... ok [INFO] [stdout] test auth::tests::prefers_session_for_base_search_by_default ... ok [INFO] [stdout] test auth::tests::rejects_empty_api_token_input ... ok [INFO] [stdout] test auth::tests::normalizes_session_link_from_environment_style_input ... ok [INFO] [stdout] test auth::tests::prefers_api_for_base_search_when_configured ... ok [INFO] [stdout] test auth::tests::keeps_raw_session_token_input ... ok [INFO] [stdout] test auth::tests::extracts_token_from_session_link_url ... ok [INFO] [stdout] test auth::tests::rejects_session_link_without_token_param ... ok [INFO] [stdout] test auth::tests::requires_session_for_filtered_search ... ok [INFO] [stdout] test auth::tests::requires_session_for_lens_search ... ok [INFO] [stdout] test auth::tests::status_output_redacts_values ... ok [INFO] [stdout] test auth_wizard::tests::builds_api_instructions_with_official_settings_page ... ok [INFO] [stdout] test auth_wizard::tests::api_validation_warning_mentions_search_api_behavior ... ok [INFO] [stdout] test auth_wizard::tests::builds_session_candidate_from_full_session_link ... ok [INFO] [stdout] test auth_wizard::tests::builds_session_instructions_with_official_settings_page ... ok [INFO] [stdout] test auth_wizard::tests::env_override_message_mentions_environment_precedence ... ok [INFO] [stdout] test auth::tests::prefers_env_over_config_values ... ok [INFO] [stdout] test auth::tests::rejects_invalid_preferred_auth_value ... ok [INFO] [stdout] test auth_wizard::tests::renders_ascii_intro_only_on_wide_terminals ... ok [INFO] [stdout] test auth::tests::save_credentials_updates_preference_when_requested ... ok [INFO] [stdout] test auth_wizard::tests::prompts_for_preference_when_other_method_exists_via_environment ... ok [INFO] [stdout] test auth::tests::load_config_auth_snapshot_normalizes_session_link_and_preference ... ok [INFO] [stdout] test auth_wizard::tests::session_validation_warning_stays_generic ... ok [INFO] [stdout] test auth::tests::save_credentials_preserves_existing_values_when_only_one_is_updated ... ok [INFO] [stdout] test api::tests::rejects_unknown_news_filter_preset ... ok [INFO] [stdout] test cli::tests::accepts_filter_inputs_with_default_mode_and_scope ... ok [INFO] [stdout] test cli::tests::rejects_filters_with_listing_modes ... ok [INFO] [stdout] test cli::tests::rejects_non_default_filter_options_without_inputs ... ok [INFO] [stdout] test parser::tests::parses_assistant_profile_list_items ... ok [INFO] [stdout] test parser::tests::parses_assistant_thread_list_items ... ok [INFO] [stdout] test parser::tests::allows_custom_assistant_create_form_without_selected_model ... ok [INFO] [stdout] test parser::tests::parses_custom_bang_list_rows ... ok [INFO] [stdout] test parser::tests::parses_custom_bang_form_fields ... ok [INFO] [stdout] test parser::tests::parses_assistant_profile_form_fields ... ok [INFO] [stdout] test cli::tests::rejects_conflicting_redirect_flags ... ok [INFO] [stdout] test parser::tests::parses_lens_form_fields ... ok [INFO] [stdout] test cli::tests::parses_lens_enable_command ... ok [INFO] [stdout] test quick::tests::live_quick_invalid_token_is_rejected ... ignored, requires network access [INFO] [stdout] test quick::tests::live_quick_query_with_lens ... ignored, requires live Kagi session token [INFO] [stdout] test quick::tests::live_quick_query_with_question_mark ... ignored, requires live Kagi session token [INFO] [stdout] test quick::tests::live_quick_query_without_question_mark ... ignored, requires live Kagi session token [INFO] [stdout] test parser::tests::parses_redirect_list_rows ... ok [INFO] [stdout] test quick::tests::format_quick_markdown_appends_followups ... ok [INFO] [stdout] test parser::tests::returns_empty_vec_when_no_matches_exist ... ok [INFO] [stdout] test quick::tests::format_quick_pretty_prefers_markdown_and_strips_footnotes ... ok [INFO] [stdout] test cli::tests::parses_assistant_custom_update_command ... ok [INFO] [stdout] test parser::tests::parses_lens_list_items ... ok [INFO] [stdout] test parser::tests::parses_primary_and_grouped_results ... ok [INFO] [stdout] test quick::tests::parses_quick_answer_stream ... ok [INFO] [stdout] test quick::tests::parses_quick_reference_markdown_items ... ok [INFO] [stdout] test quick::tests::prettify_markdown_cleans_spacing_after_footnote_removal ... ok [INFO] [stdout] test quick::tests::rejects_quick_limit_notice_stream ... ok [INFO] [stdout] test quick::tests::rejects_quick_stream_without_final_message ... ok [INFO] [stdout] test quick::tests::rejects_quick_unauthorized_stream ... ok [INFO] [stdout] test parser::tests::parses_redirect_form_fields ... ok [INFO] [stdout] test search::tests::builds_query_params_for_search_filters ... ok [INFO] [stdout] test quick::tests::strip_inline_footnote_refs_removes_numeric_markers ... ok [INFO] [stdout] test search::tests::execute_api_search_rejects_filtered_requests ... ok [INFO] [stdout] test search::tests::execute_api_search_rejects_lens_requests ... ok [INFO] [stdout] test search::tests::execute_api_search_requires_token ... ok [INFO] [stdout] test search::tests::execute_search_accepts_numeric_lens ... ok [INFO] [stdout] test search::tests::execute_search_without_filters_attempts_transport ... ok [INFO] [stdout] test search::tests::formats_search_api_error_suffix_from_error_payload ... ok [INFO] [stdout] test search::tests::parses_api_response_shape_into_search_response ... ok [INFO] [stdout] test search::tests::execute_search_rejects_non_numeric_lens ... ok [INFO] [stdout] test search::tests::reject_time_filter_with_date_range ... ok [INFO] [stdout] test quick::tests::format_quick_pretty_renders_sections ... ok [INFO] [stdout] test search::tests::rejects_inverted_date_range ... ok [INFO] [stdout] test search::tests::rejects_invalid_from_date_format ... ok [INFO] [stdout] test search::tests::rejects_nonexistent_iso_dates ... ok [INFO] [stdout] test search::tests::search_request_builder_creates_base_request ... ok [INFO] [stdout] test search::tests::search_request_with_filters_requires_session_auth ... ok [INFO] [stdout] test search::tests::search_request_with_lens_adds_lens ... ok [INFO] [stdout] test search::tests::validate_lens_value_rejects_non_numeric_indices ... ok [INFO] [stdout] test tests::build_search_request_prefixes_snap_shortcut ... ok [INFO] [stdout] test tests::detects_exact_bare_auth_invocation ... ok [INFO] [stdout] test tests::build_search_request_treats_default_order_as_no_order_filter ... ok [INFO] [stdout] test tests::formats_csv_output ... ok [INFO] [stdout] test tests::formats_csv_output_with_escaping ... ok [INFO] [stdout] test tests::formats_markdown_output ... ok [INFO] [stdout] test tests::formats_pretty_output_for_empty_results ... ok [INFO] [stdout] test tests::falls_back_for_any_search_api_auth_error ... ok [INFO] [stdout] test tests::formats_pretty_output_with_color ... ok [INFO] [stdout] test tests::formats_pretty_output_for_results ... ok [INFO] [stdout] test tests::omits_blank_snippets_in_pretty_output ... ok [INFO] [stdout] test tests::prints_assistant_markdown_and_pretty_formats ... ok [INFO] [stdout] test tests::parses_context_memory_array_json ... ok [INFO] [stdout] test tests::resolves_boolean_flag_pairs ... ok [INFO] [stdout] test tests::rejects_non_array_context_memory_json ... ok [INFO] [stdout] test tests::test_rate_limiter_basic_functionality ... ok [INFO] [stdout] test auth_wizard::tests::prompts_for_preference_when_both_methods_exist_and_choice_changes_it ... FAILED [INFO] [stdout] test tests::test_rate_limiter_throttles_under_contention ... ok [INFO] [stdout] test tests::test_rate_limiter_refill ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- auth_wizard::tests::prompts_for_preference_when_both_methods_exist_and_choice_changes_it stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'auth_wizard::tests::prompts_for_preference_when_both_methods_exist_and_choice_changes_it' (96) panicked at src/auth_wizard.rs:562:9: [INFO] [stdout] assertion failed: !should_prompt_preference(&config, CredentialKind::ApiToken) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x56a57e3f0f7a - std[e72de78501789eb0]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x56a57e3f0f7a - std[e72de78501789eb0]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x56a57e3f0f7a - std[e72de78501789eb0]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x56a57e3f0f7a - <::print::DisplayBacktrace as core[6aaeda2c7ad07a48]::fmt::Display>::fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x56a57e4094da - ::fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x56a57e4094da - core[6aaeda2c7ad07a48]::fmt::write [INFO] [stdout] 6: 0x56a57e3f5dc2 - std[e72de78501789eb0]::io::default_write_fmt::> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x56a57e3f5dc2 - as std[e72de78501789eb0]::io::Write>::write_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x56a57e3ce29f - ::print [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x56a57e3ce29f - std[e72de78501789eb0]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x56a57e3e8699 - std[e72de78501789eb0]::panicking::default_hook [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x56a57dcb649c - core[6aaeda2c7ad07a48]::ops::function::Fn<(&'a std[e72de78501789eb0]::panic::PanicHookInfo<'b>,), Output = ()> + core[6aaeda2c7ad07a48]::marker::Sync + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::Fn<(&std[e72de78501789eb0]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x56a57dcb649c - test[4f12b380f1fb68c5]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x56a57e3e8912 - core[6aaeda2c7ad07a48]::ops::function::Fn<(&'a std[e72de78501789eb0]::panic::PanicHookInfo<'b>,), Output = ()> + core[6aaeda2c7ad07a48]::marker::Sync + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::Fn<(&std[e72de78501789eb0]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x56a57e3e8912 - std[e72de78501789eb0]::panicking::panic_with_hook [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x56a57e3ce38a - std[e72de78501789eb0]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x56a57e3c58e9 - std[e72de78501789eb0]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x56a57e3cf47d - __rustc[78a4cf188af856fc]::rust_begin_unwind [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x56a57e409ccc - core[6aaeda2c7ad07a48]::panicking::panic_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x56a57e409c92 - core[6aaeda2c7ad07a48]::panicking::panic [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x56a57dbbd764 - kagi[c2b08397369d9a7e]::auth_wizard::tests::prompts_for_preference_when_both_methods_exist_and_choice_changes_it [INFO] [stdout] at /opt/rustwide/workdir/src/auth_wizard.rs:562:9 [INFO] [stdout] 21: 0x56a57dbade97 - kagi[c2b08397369d9a7e]::auth_wizard::tests::prompts_for_preference_when_both_methods_exist_and_choice_changes_it::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/auth_wizard.rs:560:78 [INFO] [stdout] 22: 0x56a57dadf396 - >::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x56a57dcaa57b - core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x56a57dcaa57b - test[4f12b380f1fb68c5]::__rust_begin_short_backtrace::, fn() -> core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x56a57dcb6f6b - test[4f12b380f1fb68c5]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x56a57dcb6f6b - as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 27: 0x56a57dcb6f6b - std[e72de78501789eb0]::panicking::catch_unwind::do_call::, core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x56a57dcb6f6b - std[e72de78501789eb0]::panicking::catch_unwind::, core[6aaeda2c7ad07a48]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x56a57dcb6f6b - std[e72de78501789eb0]::panic::catch_unwind::, core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x56a57dcb6f6b - test[4f12b380f1fb68c5]::run_test_in_process [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x56a57dcb6f6b - test[4f12b380f1fb68c5]::run_test::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x56a57dcb2684 - test[4f12b380f1fb68c5]::run_test::{closure#1} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x56a57dcb2684 - std[e72de78501789eb0]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x56a57dcb9b72 - std[e72de78501789eb0]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x56a57dcb9b72 - ::{closure#1}::{closure#0}> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 36: 0x56a57dcb9b72 - std[e72de78501789eb0]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x56a57dcb9b72 - std[e72de78501789eb0]::panicking::catch_unwind::<(), core[6aaeda2c7ad07a48]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x56a57dcb9b72 - std[e72de78501789eb0]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x56a57dcb9b72 - std[e72de78501789eb0]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x56a57dcb9b72 - ::{closure#1} as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x56a57e3f032f - + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x56a57e3f032f - ::new::thread_start [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x7a5cf6a92aa4 - [INFO] [stdout] 44: 0x7a5cf6b1fa64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] auth_wizard::tests::prompts_for_preference_when_both_methods_exist_and_choice_changes_it [INFO] [stdout] [INFO] [stdout] test result: FAILED. 145 passed; 1 failed; 13 ignored; 0 measured; 0 filtered out; finished in 1.06s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin kagi` [INFO] running `Command { std: "docker" "inspect" "5366287d7bae8259a646be8fb7b48b7322f8bff6a26bd6b1e4052ecbe246d5cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5366287d7bae8259a646be8fb7b48b7322f8bff6a26bd6b1e4052ecbe246d5cb", kill_on_drop: false }` [INFO] [stdout] 5366287d7bae8259a646be8fb7b48b7322f8bff6a26bd6b1e4052ecbe246d5cb