[INFO] cloning repository https://github.com/graysurf/nils-alfredworkflow
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/graysurf/nils-alfredworkflow" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgraysurf%2Fnils-alfredworkflow", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgraysurf%2Fnils-alfredworkflow'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8973068ed9fec0f5b927492ffb93de147a077094
[INFO] testing graysurf/nils-alfredworkflow against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgraysurf%2Fnils-alfredworkflow" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/graysurf/nils-alfredworkflow
[INFO] finished tweaking git repo https://github.com/graysurf/nils-alfredworkflow
[INFO] tweaked toml for git repo https://github.com/graysurf/nils-alfredworkflow written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/graysurf/nils-alfredworkflow on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/graysurf/nils-alfredworkflow 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5a5e85ede59cf66059e38fdf9a5d09aa601794532d02cb8fd53788b645ab36fc
[INFO] running `Command { std: "docker" "start" "-a" "5a5e85ede59cf66059e38fdf9a5d09aa601794532d02cb8fd53788b645ab36fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a5e85ede59cf66059e38fdf9a5d09aa601794532d02cb8fd53788b645ab36fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a5e85ede59cf66059e38fdf9a5d09aa601794532d02cb8fd53788b645ab36fc", kill_on_drop: false }`
[INFO] [stdout] 5a5e85ede59cf66059e38fdf9a5d09aa601794532d02cb8fd53788b645ab36fc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03cf6793b09684d6ad3b5aace888f291b2a7a6da921f75195f2f991cc6da5189
[INFO] running `Command { std: "docker" "start" "-a" "03cf6793b09684d6ad3b5aace888f291b2a7a6da921f75195f2f991cc6da5189", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling phf v0.12.1
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling rust_decimal v1.42.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling open v5.3.4
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling nils-alfred-plist v1.2.8 (/opt/rustwide/workdir/crates/alfred-plist)
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling mail-builder v0.4.4
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling prost-derive v0.14.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling nils-common v0.7.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_with_macros v3.19.0
[INFO] [stderr]    Compiling prost v0.14.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.2
[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_with v3.19.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling nils-alfred-core v1.2.8 (/opt/rustwide/workdir/crates/alfred-core)
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling nils-workflow-common v1.2.8 (/opt/rustwide/workdir/crates/workflow-common)
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling nils-randomer-cli v1.2.8 (/opt/rustwide/workdir/crates/randomer-cli)
[INFO] [stderr]    Compiling nils-epoch-cli v1.2.8 (/opt/rustwide/workdir/crates/epoch-cli)
[INFO] [stderr]    Compiling nils-workflow-readme-cli v1.2.8 (/opt/rustwide/workdir/crates/workflow-readme-cli)
[INFO] [stderr]    Compiling nils-cambridge-cli v1.2.8 (/opt/rustwide/workdir/crates/cambridge-cli)
[INFO] [stderr]    Compiling nils-workflow-cli v1.2.8 (/opt/rustwide/workdir/crates/workflow-cli)
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling nils-memo-cli v0.7.3
[INFO] [stderr]    Compiling nils-timezone-cli v1.2.8 (/opt/rustwide/workdir/crates/timezone-cli)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling nils-memo-workflow-cli v1.2.8 (/opt/rustwide/workdir/crates/memo-workflow-cli)
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling yup-oauth2 v12.1.2
[INFO] [stderr]    Compiling google-apis-common v8.0.0
[INFO] [stderr]    Compiling nils-brave-cli v1.2.8 (/opt/rustwide/workdir/crates/brave-cli)
[INFO] [stderr]    Compiling nils-bilibili-cli v1.2.8 (/opt/rustwide/workdir/crates/bilibili-cli)
[INFO] [stderr]    Compiling nils-steam-cli v1.2.8 (/opt/rustwide/workdir/crates/steam-cli)
[INFO] [stderr]    Compiling nils-quote-cli v1.2.8 (/opt/rustwide/workdir/crates/quote-cli)
[INFO] [stderr]    Compiling nils-market-cli v1.2.8 (/opt/rustwide/workdir/crates/market-cli)
[INFO] [stderr]    Compiling nils-weather-cli v1.2.8 (/opt/rustwide/workdir/crates/weather-cli)
[INFO] [stderr]    Compiling nils-bangumi-cli v1.2.8 (/opt/rustwide/workdir/crates/bangumi-cli)
[INFO] [stderr]    Compiling nils-spotify-cli v1.2.8 (/opt/rustwide/workdir/crates/spotify-cli)
[INFO] [stderr]    Compiling nils-youtube-cli v1.2.8 (/opt/rustwide/workdir/crates/youtube-cli)
[INFO] [stderr]    Compiling nils-wiki-cli v1.2.8 (/opt/rustwide/workdir/crates/wiki-cli)
[INFO] [stderr]    Compiling google-gmail1 v7.0.0+20251215
[INFO] [stderr]    Compiling google-drive3 v7.0.0+20251218
[INFO] [stderr]    Compiling nils-google-cli v1.2.8 (/opt/rustwide/workdir/crates/google-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s
[INFO] running `Command { std: "docker" "inspect" "03cf6793b09684d6ad3b5aace888f291b2a7a6da921f75195f2f991cc6da5189", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03cf6793b09684d6ad3b5aace888f291b2a7a6da921f75195f2f991cc6da5189", kill_on_drop: false }`
[INFO] [stdout] 03cf6793b09684d6ad3b5aace888f291b2a7a6da921f75195f2f991cc6da5189
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 42a2e1caa176da18340d9cfa9dd4e27056974b4a3aa184377ea7b5ddc31ba474
[INFO] running `Command { std: "docker" "start" "-a" "42a2e1caa176da18340d9cfa9dd4e27056974b4a3aa184377ea7b5ddc31ba474", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling nils-epoch-cli v1.2.8 (/opt/rustwide/workdir/crates/epoch-cli)
[INFO] [stderr]    Compiling nils-randomer-cli v1.2.8 (/opt/rustwide/workdir/crates/randomer-cli)
[INFO] [stderr]    Compiling nils-alfred-plist v1.2.8 (/opt/rustwide/workdir/crates/alfred-plist)
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling nils-alfred-core v1.2.8 (/opt/rustwide/workdir/crates/alfred-core)
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling nils-memo-cli v0.7.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling mail-builder v0.4.4
[INFO] [stderr]    Compiling nils-memo-workflow-cli v1.2.8 (/opt/rustwide/workdir/crates/memo-workflow-cli)
[INFO] [stderr]    Compiling nils-timezone-cli v1.2.8 (/opt/rustwide/workdir/crates/timezone-cli)
[INFO] [stderr]    Compiling nils-workflow-readme-cli v1.2.8 (/opt/rustwide/workdir/crates/workflow-readme-cli)
[INFO] [stderr]    Compiling nils-cambridge-cli v1.2.8 (/opt/rustwide/workdir/crates/cambridge-cli)
[INFO] [stderr]    Compiling nils-workflow-cli v1.2.8 (/opt/rustwide/workdir/crates/workflow-cli)
[INFO] [stderr]    Compiling nils-workflow-common v1.2.8 (/opt/rustwide/workdir/crates/workflow-common)
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[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.10
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling yup-oauth2 v12.1.2
[INFO] [stderr]    Compiling google-apis-common v8.0.0
[INFO] [stderr]    Compiling google-gmail1 v7.0.0+20251215
[INFO] [stderr]    Compiling google-drive3 v7.0.0+20251218
[INFO] [stderr]    Compiling nils-wiki-cli v1.2.8 (/opt/rustwide/workdir/crates/wiki-cli)
[INFO] [stderr]    Compiling nils-spotify-cli v1.2.8 (/opt/rustwide/workdir/crates/spotify-cli)
[INFO] [stderr]    Compiling nils-market-cli v1.2.8 (/opt/rustwide/workdir/crates/market-cli)
[INFO] [stderr]    Compiling nils-brave-cli v1.2.8 (/opt/rustwide/workdir/crates/brave-cli)
[INFO] [stderr]    Compiling nils-youtube-cli v1.2.8 (/opt/rustwide/workdir/crates/youtube-cli)
[INFO] [stderr]    Compiling nils-quote-cli v1.2.8 (/opt/rustwide/workdir/crates/quote-cli)
[INFO] [stderr]    Compiling nils-steam-cli v1.2.8 (/opt/rustwide/workdir/crates/steam-cli)
[INFO] [stderr]    Compiling nils-bangumi-cli v1.2.8 (/opt/rustwide/workdir/crates/bangumi-cli)
[INFO] [stderr]    Compiling nils-bilibili-cli v1.2.8 (/opt/rustwide/workdir/crates/bilibili-cli)
[INFO] [stderr]    Compiling nils-weather-cli v1.2.8 (/opt/rustwide/workdir/crates/weather-cli)
[INFO] [stderr]    Compiling nils-google-cli v1.2.8 (/opt/rustwide/workdir/crates/google-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 04s
[INFO] running `Command { std: "docker" "inspect" "42a2e1caa176da18340d9cfa9dd4e27056974b4a3aa184377ea7b5ddc31ba474", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42a2e1caa176da18340d9cfa9dd4e27056974b4a3aa184377ea7b5ddc31ba474", kill_on_drop: false }`
[INFO] [stdout] 42a2e1caa176da18340d9cfa9dd4e27056974b4a3aa184377ea7b5ddc31ba474
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9ae5901625afd98265e602323bd90f146e9d2d078577abd729f19b4b3c7a4d7e
[INFO] running `Command { std: "docker" "start" "-a" "9ae5901625afd98265e602323bd90f146e9d2d078577abd729f19b4b3c7a4d7e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alfred_core-7299f052b6ec3474)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alfred_plist-cd566d3d394b8fc9)
[INFO] [stdout] test tests::item_optional_fields_serialize_only_when_present ... ok
[INFO] [stdout] test tests::feedback_single_error_creates_non_valid_item ... ok
[INFO] [stdout] test tests::feedback_serializes ... ok
[INFO] [stdout] test tests::modifier_and_variables_are_serialized ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::replaces_known_tokens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bangumi_cli-96d38714e679bb3a)
[INFO] [stdout] 
[INFO] [stdout] running 49 tests
[INFO] [stdout] test bangumi_api::tests::bangumi_api_http_error_extracts_service_message ... ok
[INFO] [stdout] test bangumi_api::tests::bangumi_api_parse_v0_response_handles_nullable_fields_and_url_fallback ... ok
[INFO] [stdout] test bangumi_api::tests::fallback_always_policy_forces_legacy_for_any_primary_error ... ok
[INFO] [stdout] test bangumi_api::tests::bangumi_api_parse_legacy_response_reads_rating_object_when_rank_and_score_missing ... ok
[INFO] [stdout] test bangumi_api::tests::auth_header_omits_bearer_when_api_key_missing ... ok
[INFO] [stdout] test bangumi_api::tests::auth_header_includes_bearer_and_user_agent_when_api_key_exists ... ok
[INFO] [stdout] test bangumi_api::tests::bangumi_api_build_v0_payload_omits_type_filter_for_all_query ... ok
[INFO] [stdout] test bangumi_api::tests::fallback_auto_policy_does_not_mask_rate_limit_errors ... ok
[INFO] [stdout] test bangumi_api::tests::fallback_auto_policy_triggers_legacy_on_invalid_v0_response ... ok
[INFO] [stdout] test bangumi_api::tests::bangumi_api_build_v0_payload_uses_keyword_and_type_filter ... ok
[INFO] [stdout] test bangumi_api::tests::fallback_reports_both_primary_and_legacy_errors_when_both_fail ... ok
[INFO] [stdout] test config::tests::api_key_precedence_returns_none_when_workflow_value_is_blank ... ok
[INFO] [stdout] test config::tests::cache_dir_resolution_falls_back_to_xdg_cache_home_then_home_cache ... ok
[INFO] [stdout] test config::tests::cache_dir_resolution_prefers_explicit_bangumi_cache_dir ... ok
[INFO] [stdout] test config::tests::config_clamps_max_results_and_timeout_ranges ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_numeric_fields ... ok
[INFO] [stdout] test config::tests::config_uses_defaults_when_optional_env_missing ... ok
[INFO] [stdout] test feedback::tests::feedback_maps_subjects_to_alfred_item_fields ... ok
[INFO] [stdout] test feedback::tests::subtitle_includes_type_tag_and_localized_name_in_all_mode ... ok
[INFO] [stdout] test feedback::tests::modifier_adds_ctrl_metadata_only_when_rank_or_score_exists ... ok
[INFO] [stdout] test config::tests::api_key_precedence_prefers_workflow_value_over_inherited_key ... ok
[INFO] [stdout] test feedback::tests::cmd_modifier_absent_when_summary_missing ... ok
[INFO] [stdout] test image_cache::tests::image_fallback_uses_v0_subject_image_endpoint_when_payload_image_missing ... ok
[INFO] [stdout] test feedback::tests::subtitle_truncation_is_single_line_and_deterministic ... ok
[INFO] [stdout] test feedback::tests::feedback_keeps_rendering_when_icon_download_fails ... ok
[INFO] [stdout] test feedback::tests::feedback_applies_local_icon_when_cache_manager_succeeds ... ok
[INFO] [stdout] test feedback::tests::feedback_cache_ttl_integration_prefers_cached_file_on_repeated_mapping ... ok
[INFO] [stdout] test image_cache::tests::image_cache_cleanup_removes_oldest_entries_when_size_limit_exceeded ... ok
[INFO] [stdout] test image_cache::tests::image_cache_resolves_and_reuses_file_within_ttl_window ... ok
[INFO] [stdout] test feedback::tests::cmd_modifier_present_when_summary_exists ... ok
[INFO] [stdout] test config::tests::cache_dir_resolution_uses_alfred_workflow_cache_subdir_when_available ... ok
[INFO] [stdout] test config::tests::config_parses_api_fallback_policy_values ... ok
[INFO] [stdout] test config::tests::cache_dir_resolution_requires_any_cache_home_source ... ok
[INFO] [stdout] test config::tests::cache_dir_resolution_expands_home_prefix_for_explicit_path ... ok
[INFO] [stdout] test input::tests::input_parser_parses_legacy_alias_tokens_case_insensitively ... ok
[INFO] [stdout] test input::tests::input_parser_maps_supported_subject_types_to_bangumi_values ... ok
[INFO] [stdout] test input::tests::input_parser_rejects_missing_query_after_type_token ... ok
[INFO] [stdout] test input::tests::input_parser_supports_bracket_type_prefix_in_query_mode ... ok
[INFO] [stdout] test input::tests::input_parser_supports_colon_type_prefix_in_query_mode ... ok
[INFO] [stdout] test input::tests::input_parser_supports_colon_type_prefix_with_surrounding_whitespace ... ok
[INFO] [stdout] test input::tests::input_parser_treats_unknown_bracket_prefix_as_plain_query ... ok
[INFO] [stdout] test image_cache::tests::cache_ttl_expired_file_is_refetched ... ok
[INFO] [stdout] test input::tests::input_parser_treats_unknown_colon_prefix_as_plain_query ... ok
[INFO] [stdout] test input::tests::input_parser_rejects_invalid_type_token ... ok
[INFO] [stdout] test input::tests::input_parser_rejects_empty_query_input ... ok
[INFO] [stdout] test input::tests::input_parser_supports_bracketless_type_prefix_in_query_mode ... ok
[INFO] [stdout] test input::tests::input_parser_defaults_to_all_type_when_prefix_not_present ... ok
[INFO] [stdout] test bangumi_api::tests::fallback_never_policy_disables_legacy_even_for_schema_regression ... ok
[INFO] [stdout] test feedback::tests::feedback_no_results_returns_non_actionable_guidance_row ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bangumi_cli-915449f308057bc8)
[INFO] [stdout] test result: ok. 49 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_rejects_empty_query_as_user_error ... ok
[INFO] [stdout] test tests::main_surfaces_config_errors_with_user_exit_kind ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_search_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::main_query_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] test tests::main_maps_http_api_failures_to_runtime_error_kind ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-37792b215360e8ec)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test live_api::live_api_query_uses_real_bangumi_key_and_returns_items_array ... ignored, requires network and BANGUMI_API_KEY
[INFO] [stdout] test live_api::live_api_search_command_works_with_explicit_type_and_key ... ignored, requires network and BANGUMI_API_KEY
[INFO] [stdout] test cli_contract::alfred_mode_keeps_stderr_error_behavior ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bilibili_cli-1513dd69d7d6411e)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test bilibili_api::tests::bilibili_api_parser_handles_missing_rows_as_empty_result ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_parser_surfaces_api_code_failures ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_builds_query_params_without_uid_when_missing ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_parser_surfaces_http_status_failures ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_builds_expected_query_params ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_parser_obeys_max_results_limit ... ok
[INFO] [stdout] test config::tests::config_clamps_max_results_into_supported_range ... ok
[INFO] [stdout] test config::tests::config_clamps_timeout_ms_into_supported_range ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_timeout_ms ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_parser_rejects_invalid_json ... ok
[INFO] [stdout] test bilibili_api::tests::bilibili_api_parser_dedupes_and_normalizes_terms ... ok
[INFO] [stdout] test config::tests::config_uses_defaults_when_optional_values_are_missing ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_max_results ... ok
[INFO] [stdout] test feedback::tests::error_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test config::tests::config_uses_trimmed_uid_when_present ... ok
[INFO] [stdout] test feedback::tests::feedback_maps_suggestions_to_alfred_items ... ok
[INFO] [stdout] test feedback::tests::feedback_no_results_returns_direct_search_item ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bilibili_cli-bc98483888d75296)
[INFO] [stdout] test feedback::tests::url_builder_encodes_query_for_bilibili_search ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tests::main_query_command_surfaces_config_error_as_user_error ... ok
[INFO] [stdout] test tests::main_query_command_surfaces_runtime_error ... ok
[INFO] [stdout] test tests::main_query_command_supports_service_json_error_mode ... ok
[INFO] [stdout] test tests::main_query_command_rejects_empty_query ... ok
[INFO] [stdout] test tests::main_query_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] test tests::main_search_command_reuses_same_pipeline ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-5d7fe9e316a1e601)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::alfred_mode_keeps_stderr_error_behavior ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/brave_cli-d8a8ce3df31f0ddf)
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stdout] test config::tests::config_rejects_invalid_country_format ... ok
[INFO] [stdout] test config::tests::config_parses_safesearch_case_insensitively ... ok
[INFO] [stdout] test brave_api::tests::brave_api_parse_search_response_ignores_results_missing_required_fields ... ok
[INFO] [stdout] test brave_api::tests::brave_api_parse_search_response_extracts_result_fields ... ok
[INFO] [stdout] test brave_api::tests::brave_api_build_query_params_follows_contract ... ok
[INFO] [stdout] test brave_api::tests::brave_api_build_query_params_includes_country_when_present ... ok
[INFO] [stdout] test config::tests::config_normalizes_country_to_uppercase ... ok
[INFO] [stdout] test config::tests::config_clamps_count_into_supported_range ... ok
[INFO] [stdout] test brave_api::tests::brave_api_parse_search_response_rejects_invalid_success_json ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_safesearch ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_count ... ok
[INFO] [stdout] test brave_api::tests::brave_api_parse_search_response_surfaces_api_error_message ... ok
[INFO] [stdout] test config::tests::config_uses_defaults_when_optional_values_are_missing ... ok
[INFO] [stdout] test config::tests::config_requires_brave_api_key ... ok
[INFO] [stdout] test feedback::tests::empty_input_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::no_results_item_is_invalid_and_has_expected_title ... ok
[INFO] [stdout] test feedback::tests::missing_search_target_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::error_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::suggestions_feedback_includes_base_query_and_autocomplete_tokens ... ok
[INFO] [stdout] test feedback::tests::suggestions_feedback_returns_no_result_fallback_when_candidates_are_empty ... ok
[INFO] [stdout] test google_suggest::tests::parse_suggestions_response_limits_results ... ok
[INFO] [stdout] test google_suggest::tests::parse_suggestions_response_rejects_invalid_json ... ok
[INFO] [stdout] test google_suggest::tests::parse_suggestions_response_normalizes_and_deduplicates_items ... ok
[INFO] [stdout] test google_suggest::tests::parse_suggestions_response_returns_empty_for_missing_rows ... ok
[INFO] [stdout] test token::tests::token_parser_detects_empty_input ... ok
[INFO] [stdout] test token::tests::token_parser_is_case_sensitive_for_prefix ... ok
[INFO] [stdout] test token::tests::token_parser_flags_missing_result_query ... ok
[INFO] [stdout] test token::tests::token_parser_trims_result_query_value ... ok
[INFO] [stdout] test token::tests::token_parser_routes_plain_text_to_suggest_mode ... ok
[INFO] [stdout] test token::tests::token_parser_routes_result_prefix_to_search_mode ... ok
[INFO] [stdout] test feedback::tests::source_domain_prefix_falls_back_when_url_is_unparseable ... ok
[INFO] [stdout] test feedback::tests::empty_description_uses_fallback_subtitle ... ok
[INFO] [stdout] test feedback::tests::source_domain_prefix_strips_www_prefix ... ok
[INFO] [stdout] test feedback::tests::truncates_long_snippet_deterministically ... ok
[INFO] [stdout] test feedback::tests::maps_search_result_to_alfred_item ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/brave_cli-110365feb1653bc8)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test tests::main_maps_invalid_response_failures_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_maps_http_api_failures_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_query_search_mode_routes_res_token_to_brave_search ... ok
[INFO] [stdout] test tests::main_query_empty_input_returns_guidance_without_external_calls ... ok
[INFO] [stdout] test tests::main_query_suggest_mode_maps_to_autocomplete_rows ... ok
[INFO] [stdout] test tests::main_rejects_empty_query_as_user_error ... ok
[INFO] [stdout] test tests::main_search_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] test tests::main_search_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_surfaces_config_errors_with_user_exit_kind ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-03584ff5430a3d6e)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] test cli_contract::alfred_mode_keeps_stderr_error_behavior ... ok
[INFO] [stdout] test cli_contract::query_mode_empty_input_returns_alfred_feedback_json ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cambridge_cli-168ec955c4b06a3b)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test config::tests::config_requires_scraper_script_path ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_dict_mode ... ok
[INFO] [stdout] test config::tests::config_uses_defaults_for_optional_values ... ok
[INFO] [stdout] test feedback::tests::feedback_define_returns_no_definitions_item_when_entry_is_missing ... ok
[INFO] [stdout] test config::tests::config_uses_default_node_bin_for_blank_value ... ok
[INFO] [stdout] test config::tests::config_clamps_timeout_ms_into_supported_range ... ok
[INFO] [stdout] test config::tests::config_parses_supported_dict_modes ... ok
[INFO] [stdout] test config::tests::config_clamps_max_results_into_supported_range ... ok
[INFO] [stdout] test feedback::tests::feedback_empty_input_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_define_builds_fallback_entry_url_when_entry_url_is_missing ... ok
[INFO] [stdout] test feedback::tests::feedback_suggest_returns_no_results_fallback_when_items_are_empty ... ok
[INFO] [stdout] test feedback::tests::feedback_suggest_maps_requery_args_and_valid_items ... ok
[INFO] [stdout] test config::tests::config_parses_common_headless_bool_strings ... ok
[INFO] [stdout] test config::tests::config_rejects_missing_scraper_script_file ... ok
[INFO] [stdout] test feedback::tests::feedback_define_outputs_header_and_valid_definition_rows ... ok
[INFO] [stdout] test feedback::tests::feedback_define_moves_translation_text_to_subtitle_for_bilingual_rows ... ok
[INFO] [stdout] test feedback::tests::feedback_define_appends_example_rows_after_definitions ... ok
[INFO] [stdout] test feedback::tests::feedback_suggest_uses_error_payload_for_fallback_subtitle ... ok
[INFO] [stdout] test config::tests::config_expands_home_prefix_for_node_bin ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_headless_value ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_reports_malformed_json ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_reads_error_payload ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_suggest_response_accepts_string_and_object_items ... ok
[INFO] [stdout] test config::tests::config_expands_home_prefix_for_scraper_script_path ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_define_response_maps_entry_and_definition_rows ... ok
[INFO] [stdout] test token::tests::token_parser_detects_empty_input ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_rejects_stage_mismatch ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_uses_expected_stage_when_stage_field_is_missing ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_suggest_response_preserves_direct_entry_payload ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_decode_define_response_accepts_phonetics_array ... ok
[INFO] [stdout] test scraper_bridge::tests::bridge_build_args_uses_expected_flags ... ok
[INFO] [stdout] test token::tests::token_parser_routes_def_prefix_to_define_mode ... ok
[INFO] [stdout] test token::tests::token_parser_flags_missing_define_entry ... ok
[INFO] [stdout] test token::tests::token_parser_routes_suggest_prefix_to_suggest_only_mode ... ok
[INFO] [stdout] test token::tests::token_parser_flags_missing_suggest_query ... ok
[INFO] [stdout] test token::tests::token_parser_trims_define_entry_value ... ok
[INFO] [stdout] test token::tests::token_parser_trims_suggest_query_value ... ok
[INFO] [stdout] test token::tests::token_parser_is_case_sensitive_for_prefix ... ok
[INFO] [stdout] test token::tests::token_parser_routes_plain_text_to_smart_mode ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cambridge_cli-77034f7ea7cafdb5)
[INFO] [stdout] test scraper_bridge::tests::bridge_run_scraper_reports_spawn_failure_for_missing_runtime ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_maps_bridge_spawn_failures_to_runtime_error ... ok
[INFO] [stdout] test tests::main_maps_config_errors_to_user_exit_kind ... ok
[INFO] [stdout] test tests::main_maps_bridge_timeout_to_runtime_error ... ok
[INFO] [stdout] test tests::main_maps_bridge_non_zero_exit_to_runtime_error ... ok
[INFO] [stdout] test tests::main_query_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::main_query_missing_suggest_target_returns_guidance_without_runtime_dependencies ... ok
[INFO] [stdout] test tests::main_query_empty_input_returns_guidance_without_runtime_dependencies ... ok
[INFO] [stdout] test tests::main_query_smart_mode_falls_back_to_suggestion_rows_without_exact_match ... ok
[INFO] [stdout] test tests::main_suggest_error_payload_returns_non_crashing_feedback ... ok
[INFO] [stdout] test tests::main_query_define_mode_maps_definition_rows_with_url_arg ... ok
[INFO] [stdout] test tests::main_query_smart_mode_fetches_definition_for_exact_suggestion_match ... ok
[INFO] [stdout] test tests::main_query_suggest_only_mode_keeps_suggestion_rows ... ok
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_query_smart_mode_uses_direct_entry_payload_without_second_fetch ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-6f6a4488e6305c2d)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/epoch_cli-7b5f03937ae0c844)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test clipboard::tests::normalize_trims_and_rejects_empty_values ... ok
[INFO] [stdout] test convert::tests::prefix_rows_applies_clipboard_prefix ... ok
[INFO] [stdout] test feedback::tests::rows_to_feedback_maps_conversion_rows_to_items ... ok
[INFO] [stdout] test parser::tests::parse_empty_query_returns_empty_variant ... ok
[INFO] [stdout] test parser::tests::parse_epoch_query_infers_unit_from_magnitude ... ok
[INFO] [stdout] test convert::tests::epoch_to_datetime_rejects_out_of_range_epoch ... ok
[INFO] [stdout] test parser::tests::parse_invalid_query_reports_user_error ... ok
[INFO] [stdout] test parser::tests::parse_time_only_uses_today_date ... ok
[INFO] [stdout] test parser::tests::parse_date_only_uses_local_midnight ... ok
[INFO] [stdout] test parser::tests::parse_datetime_supports_space_and_t_separator_with_subseconds ... ok
[INFO] [stdout] test convert::tests::current_epoch_rows_return_all_units ... ok
[INFO] [stdout] test convert::tests::epoch_to_datetime_rows_include_formatted_local_row ... ok
[INFO] [stdout] test convert::tests::datetime_to_epoch_rows_include_local_and_utc_units ... ok
[INFO] [stdout] test feedback::tests::rows_to_feedback_returns_invalid_item_when_no_rows ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/epoch_cli-896902e5147eae0c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_invalid_query_returns_user_error ... ok
[INFO] [stdout] test tests::best_effort_clipboard_rows_ignores_unparseable_content ... ok
[INFO] [stdout] test tests::main_empty_query_includes_now_rows_and_clipboard_prefix_rows ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-e7e24b986cfa989d)
[INFO] [stdout] test tests::main_convert_epoch_query_outputs_local_formatted_row ... ok
[INFO] [stdout] test tests::main_convert_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/google_cli-4675d60944b18528)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test auth::callback::tests::parse_callback_accepts_full_url ... ok
[INFO] [stdout] test auth::callback::tests::parse_callback_rejects_missing_code ... ok
[INFO] [stdout] test cmd::common::tests::dynamic_command_id_appends_nested_action ... ok
[INFO] [stdout] test error::tests::redact_sensitive_masks_common_tokens ... ok
[INFO] [stdout] test output::tests::emit_writes_stdout_and_stderr_to_provided_streams ... ok
[INFO] [stdout] test gmail::client::tests::query_matches_common_predicates ... ok
[INFO] [stdout] test auth::config::tests::metadata_roundtrip_normalizes_duplicate_accounts ... ok
[INFO] [stdout] test auth::config::tests::credentials_roundtrip ... ok
[INFO] [stdout] test output::tests::json_success_wraps_payload ... ok
[INFO] [stdout] test output::tests::json_error_wraps_context_details ... ok
[INFO] [stdout] test tests::cli_routes_auth_command_into_native_invocation ... ok
[INFO] [stdout] test gmail::client::tests::metadata_format_respects_header_selection ... ok
[INFO] [stdout] test auth::store::tests::file_mode_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/google_cli-b453a567abc10146)
[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/integration.rs (/opt/rustwide/target/debug/deps/integration-a9d4f89f951bc632)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test auth_account_resolution::resolves_alias_then_default_then_single ... ok
[INFO] [stdout] test auth_account_resolution::returns_ambiguous_error_without_default ... ok
[INFO] [stdout] test auth_account_resolution::resolves_explicit_account ... ok
[INFO] [stdout] test auth_account_resolution::returns_invalid_input_for_unknown_account_or_empty_store ... ok
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stdout] test cli_contract::output_mode_invalid_value_is_rejected_by_clap ... ok
[INFO] [stdout] test auth_cli_contract::auth_manage_returns_summary_only_contract ... ok
[INFO] [stdout] test auth_cli_contract::auth_status_without_default_returns_ambiguous_error ... ok
[INFO] [stdout] test auth_cli_contract::auth_add_requires_credentials_first ... ok
[INFO] [stdout] test auth_storage::credentials_set_and_list_roundtrip ... ok
[INFO] [stdout] test account_resolution_shared::gmail_commands_resolve_default_or_explicit_account ... ok
[INFO] [stdout] test cli_contract::native_drive_missing_token_returns_user_error_envelope ... ok
[INFO] [stdout] test drive_read::drive_commands_reuse_shared_account_resolution_and_error_when_ambiguous ... ok
[INFO] [stdout] test auth_storage::manual_add_persists_token_metadata_and_status ... ok
[INFO] [stdout] test auth_oauth_flow::loopback_mode_requires_test_callback_or_test_code ... ok
[INFO] [stdout] test drive_download::drive_download_rejects_existing_path_without_overwrite ... ok
[INFO] [stdout] test drive_read::drive_get_missing_file_maps_to_not_found_error ... ok
[INFO] [stdout] test auth_cli_contract::auth_add_reports_runtime_store_failure_when_keyring_mode_is_fail ... ok
[INFO] [stdout] test drive_download::drive_download_writes_destination_path ... ok
[INFO] [stdout] test drive_cli_contract::drive_download_executes_natively_and_writes_output ... ok
[INFO] [stdout] test drive_upload::drive_upload_infers_mime_and_supports_replace_behavior ... ok
[INFO] [stdout] test drive_cli_contract::drive_plain_contract_emits_human_text ... ok
[INFO] [stdout] test native_dependency_probe::native_dependency_stack_compiles ... ok
[INFO] [stdout] test drive_upload::drive_upload_missing_source_maps_to_drive_input_error ... ok
[INFO] [stdout] test drive_read::drive_json_contract_covers_ls_search_and_get ... ok
[INFO] [stdout] test gmail_cli_contract::gmail_get_missing_message_maps_to_not_found_error ... ok
[INFO] [stdout] test drive_download::drive_download_supports_export_format ... ok
[INFO] [stdout] test gmail_cli_contract::gmail_plain_contract_emits_human_text ... ok
[INFO] [stdout] test drive_download::drive_download_missing_file_maps_not_found ... ok
[INFO] [stdout] test native_no_gog::auth_commands_run_without_gog_binary ... ok
[INFO] [stdout] test account_resolution_shared::gmail_commands_reuse_shared_account_resolution_and_error_when_ambiguous ... ok
[INFO] [stdout] test auth_oauth_flow::remote_step_two_rejects_state_mismatch_and_accepts_matching_state ... ok
[INFO] [stdout] test gmail_read::gmail_search_and_get_use_native_account_and_header_selection ... ok
[INFO] [stdout] test native_no_gog::gmail_commands_run_without_gog_binary ... ok
[INFO] [stdout] test drive_cli_contract::drive_json_contract_covers_ls_search_get_and_upload ... ok
[INFO] [stdout] test native_no_gog::drive_download_runs_without_gog_binary ... ok
[INFO] [stdout] test native_no_gog::drive_ls_runs_without_gog_binary ... ok
[INFO] [stdout] test gmail_thread::gmail_thread_get_and_modify_cover_fetch_and_label_mutation ... ok
[INFO] [stdout] test gmail_cli_contract::gmail_json_contract_covers_search_get_thread_and_send ... ok
[INFO] [stdout] test gmail_send::gmail_send_builds_mime_with_attachment_and_thread_metadata ... ok
[INFO] [stdout] test drive_upload::drive_upload_allows_explicit_mime_override ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/market_cli-8637fd40fa40a553)
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test cache::tests::cache_freshness_marks_record_as_stale_after_ttl ... ok
[INFO] [stdout] test cache::tests::cache_key_contains_kind_base_quote ... ok
[INFO] [stdout] test config::tests::config_icon_cache_dir_is_versioned ... ok
[INFO] [stdout] test cache::tests::cache_read_write_roundtrip ... ok
[INFO] [stdout] test config::tests::config_prefers_market_cache_dir_over_alfred_paths ... ok
[INFO] [stdout] test cache::tests::cache_handles_corrupt_payload_as_miss ... ok
[INFO] [stdout] test config::tests::config_defaults_use_temp_market_cache_dir ... ok
[INFO] [stdout] test config::tests::config_retry_policy_backoff_is_deterministic ... ok
[INFO] [stdout] test config::tests::config_icon_cache_paths_are_deterministic ... ok
[INFO] [stdout] test cache::tests::cache_freshness_marks_record_as_fresh_within_ttl ... ok
[INFO] [stdout] test config::tests::config_falls_back_when_cache_ttl_override_invalid ... ok
[INFO] [stdout] test config::tests::config_supports_crypto_cache_ttl_duration_override ... ok
[INFO] [stdout] test config::tests::config_expands_home_prefix_for_market_cache_dir ... ok
[INFO] [stdout] test config::tests::config_uses_alfred_workflow_data_when_cache_env_missing ... ok
[INFO] [stdout] test config::tests::duration_parser_supports_s_m_h_d_suffixes ... ok
[INFO] [stdout] test expression::tests::expression_tries_fx_then_crypto_for_three_letter_symbols ... ok
[INFO] [stdout] test expression::tests::expression_compact_terms_do_not_treat_scientific_like_input_as_asset ... ok
[INFO] [stdout] test expression::tests::expression_mixed_numeric_and_asset_terms_fail_as_user_error ... ok
[INFO] [stdout] test icons::tests::icons_return_none_when_symbol_and_generic_download_fail ... ok
[INFO] [stdout] test icons::tests::icons_download_symbol_and_persist_it ... ok
[INFO] [stdout] test icons::tests::icons_repair_empty_cache_file_before_refetching ... ok
[INFO] [stdout] test model::tests::conversion_build_output_is_deterministic ... ok
[INFO] [stdout] test icons::tests::icons_use_cached_symbol_without_fetching ... ok
[INFO] [stdout] test model::tests::model_normalize_fx_symbol_requires_three_letters ... ok
[INFO] [stdout] test expression::tests::expression_numeric_mode_returns_single_result_item ... ok
[INFO] [stdout] test model::tests::numeric_parse_amount_requires_positive_value ... ok
[INFO] [stdout] test expression::tests::expression_rounding_rule_follows_thresholds_and_half_up ... ok
[INFO] [stdout] test providers::coinbase::tests::coinbase_parse_spot_body_extracts_amount ... ok
[INFO] [stdout] test providers::coinbase::tests::coinbase_parse_spot_body_rejects_invalid_json ... ok
[INFO] [stdout] test providers::coinbase::tests::coinbase_parse_spot_body_surfaces_http_errors ... ok
[INFO] [stdout] test expression::tests::expression_numeric_mode_supports_multiply_and_divide ... ok
[INFO] [stdout] test expression::tests::expression_numeric_mode_rejects_division_by_zero ... ok
[INFO] [stdout] test expression::tests::asset_expression_rows_include_icon_paths_for_supported_symbols ... ok
[INFO] [stdout] test providers::frankfurter::tests::frankfurter_parse_success_body_extracts_rate ... ok
[INFO] [stdout] test providers::frankfurter::tests::frankfurter_parse_surfaces_http_error_message ... ok
[INFO] [stdout] test providers::kraken::tests::crypto_pair_mapping_maps_btc_to_xbt ... ok
[INFO] [stdout] test expression::tests::expression_requires_complete_to_clause ... ok
[INFO] [stdout] test expression::tests::expression_rejects_unsupported_operators ... ok
[INFO] [stdout] test providers::kraken::tests::crypto_pair_mapping_rejects_invalid_symbols ... ok
[INFO] [stdout] test providers::kraken::tests::kraken_parse_ticker_body_rejects_invalid_close ... ok
[INFO] [stdout] test providers::floatrates::tests::floatrates_parse_rejects_invalid_timestamp ... ok
[INFO] [stdout] test providers::floatrates::tests::floatrates_parse_rejects_missing_rate ... ok
[INFO] [stdout] test providers::tests::fx_provider_falls_back_when_primary_fails ... ok
[INFO] [stdout] test providers::frankfurter::tests::frankfurter_parse_rejects_missing_rate ... ok
[INFO] [stdout] test providers::tests::fx_provider_surfaces_both_primary_and_fallback_failures ... ok
[INFO] [stdout] test providers::tests::provider_does_not_retry_non_retryable_failures ... ok
[INFO] [stdout] test service::tests::service_crypto_falls_back_to_kraken ... ok
[INFO] [stdout] test service::tests::service_fails_without_cache_when_all_providers_fail ... ok
[INFO] [stdout] test config::tests::config_supports_fx_cache_ttl_duration_override ... ok
[INFO] [stdout] test config::tests::config_supports_seconds_and_uppercase_duration_suffixes ... ok
[INFO] [stdout] test config::tests::config_uses_alfred_workflow_cache_when_market_cache_dir_missing ... ok
[INFO] [stdout] test service::tests::service_short_circuits_on_fresh_cache ... ok
[INFO] [stdout] test service::tests::service_stale_payload_preserves_provider_metadata ... ok
[INFO] [stdout] test model::tests::model_normalize_crypto_symbol_accepts_letters_and_digits ... ok
[INFO] [stdout] test service::tests::service_writes_cache_after_live_success ... ok
[INFO] [stdout] test icons::tests::icons_fall_back_to_generic_for_missing_symbol ... ok
[INFO] [stdout] test service::tests::service_uses_stale_cache_on_provider_failure ... ok
[INFO] [stdout] test tests::icon_asset_filename_normalizes_symbol_to_lowercase_png ... ok
[INFO] [stdout] test tests::icon_asset_filename_rejects_invalid_symbol ... ok
[INFO] [stdout] test tests::parse_favorites_list_dedups_by_effective_base_quote_pair ... ok
[INFO] [stdout] test providers::floatrates::tests::floatrates_parse_success_body_extracts_rate_and_timestamp ... ok
[INFO] [stdout] test tests::parse_favorites_list_rejects_invalid_fx_pair_format ... ok
[INFO] [stdout] test tests::parse_favorites_list_supports_symbols_and_explicit_fx_pairs ... ok
[INFO] [stdout] test model::tests::numeric_parse_amount_rejects_invalid_text ... ok
[INFO] [stdout] test expression::tests::expression_asset_mode_accepts_compact_terms_without_spaces ... ok
[INFO] [stdout] test providers::kraken::tests::crypto_pair_mapping_maps_eth_quote_btc ... ok
[INFO] [stdout] test providers::kraken::tests::kraken_parse_ticker_body_extracts_close_price ... ok
[INFO] [stdout] test providers::tests::provider_error_mapping_marks_retryable_http_statuses ... ok
[INFO] [stdout] test expression::tests::expression_repeated_asset_deduplicates_unit_price_rows ... ok
[INFO] [stdout] test providers::tests::provider_retries_transient_failures_with_backoff ... ok
[INFO] [stdout] test icons::tests::write_atomic_supports_concurrent_writes_to_same_path ... ok
[INFO] [stdout] test providers::kraken::tests::kraken_parse_ticker_body_returns_unsupported_pair ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/market_cli-76bb58c9d98afad3)
[INFO] [stdout] running 21 tests
[INFO] [stdout] test tests::main_favorite_fx_pair_failures_fall_back_to_pair_hint_rows ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_maps_runtime_provider_failure ... ok
[INFO] [stdout] test tests::main_maps_invalid_symbols_to_user_error ... ok
[INFO] [stdout] test tests::main_redacts_sensitive_error_fragments ... ok
[INFO] [stdout] test tests::favorites_rows_include_icon_paths_for_supported_symbols ... ok
[INFO] [stdout] test tests::main_outputs_expr_alfred_json_contract ... ok
[INFO] [stdout] test tests::main_rejects_unknown_output_value ... ok
[INFO] [stdout] test tests::main_outputs_crypto_alfred_json_with_symbol_icon ... ok
[INFO] [stdout] test tests::main_favorites_quote_failures_fall_back_to_symbol_hint_rows ... ok
[INFO] [stdout] test tests::main_outputs_fx_json_contract ... ok
[INFO] [stdout] test tests::favorites_rows_include_explicit_fx_pairs ... ok
[INFO] [stdout] test tests::main_outputs_crypto_json_contract ... ok
[INFO] [stdout] test tests::main_outputs_expr_json_envelope_when_requested ... ok
[INFO] [stdout] test tests::main_maps_expr_syntax_error_to_user_error ... ok
[INFO] [stdout] test tests::main_outputs_favorites_human_mode_without_quote_resolution ... ok
[INFO] [stdout] test tests::main_outputs_favorites_human_mode_with_explicit_fx_pairs ... ok
[INFO] [stdout] test tests::main_outputs_fx_human_mode_by_default ... ok
[INFO] [stdout] test tests::main_outputs_fx_alfred_json_mode_when_requested ... ok
[INFO] [stdout] test tests::main_outputs_fx_alfred_json_with_generic_fallback_icon ... ok
[INFO] [stdout] test tests::main_outputs_favorites_json_envelope_when_requested ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-ebdb64bfd92b61be)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test cli_contract::cli_contract_cache_status_serializes_in_snake_case ... ok
[INFO] [stdout] test cli_contract::cli_contract_amount_validation_rejects_zero ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_backslash_n_delimiter_only_list_falls_back_to_default_set_in_human_mode ... ok
[INFO] [stdout] test cli_contract::cli_contract_output_contains_required_fields_for_fx ... ok
[INFO] [stdout] test cli_contract::config_icon_cache_dir_is_versioned ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_dedup_uses_effective_base_quote_pair ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_human_output_preserves_mixed_separator_order ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_dedup_preserves_first_occurrence_in_human_mode ... ok
[INFO] [stdout] test cli_contract::cli_contract_fx_cache_ttl_override_applies_to_cached_fx_json_output ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_alfred_rows_include_prompt_and_quotes ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_empty_list_falls_back_to_default_set_in_human_mode ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_duplicate_default_fiat_keeps_stable_fallback_order_in_human_mode ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_delimiter_only_list_falls_back_to_default_set_in_human_mode ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_backslash_n_and_duplicates_preserve_first_occurrence_in_human_mode ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_human_output_supports_explicit_fx_pairs ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_redacts_secret_like_input ... ok
[INFO] [stdout] test cli_contract::cli_contract_crypto_cache_ttl_override_applies_to_cached_crypto_json_output ... ok
[INFO] [stdout] test cli_contract::cli_contract_fx_alfred_row_falls_back_to_generic_icon_when_symbol_icon_missing ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_alfred_rows_include_explicit_fx_pairs ... ok
[INFO] [stdout] test cli_contract::cli_contract_favorites_json_envelope_matches_alfred_output ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_for_invalid_favorites_default_fiat_has_required_keys ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_for_invalid_favorites_token_has_required_keys ... ok
[INFO] [stdout] test cli_contract::favorites_rows_include_icon_paths_for_supported_symbols ... ok
[INFO] [stdout] test cli_contract::asset_expression_rows_include_icon_paths_for_supported_symbols ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.49s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/memo_workflow_cli-e7923213a3baeab9)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test tests::add_token_roundtrip ... ok
[INFO] [stdout] test tests::expand_home_path_supports_tilde_prefix ... ok
[INFO] [stdout] test tests::parse_bool_supports_expected_values ... ok
[INFO] [stdout] test tests::script_filter_enforces_max_input_bytes ... ok
[INFO] [stdout] test tests::script_filter_returns_add_action_for_non_empty_query ... ok
[INFO] [stdout] test tests::script_filter_rejects_delete_with_invalid_item_id ... ok
[INFO] [stdout] test tests::delete_token_roundtrip ... ok
[INFO] [stdout] test tests::copy_token_roundtrip ... ok
[INFO] [stdout] test tests::script_filter_search_intent_rejects_invalid_match_mode ... ok
[INFO] [stdout] test tests::script_filter_returns_db_init_on_empty_query ... ok
[INFO] [stdout] test tests::copy_json_token_roundtrip ... ok
[INFO] [stdout] test tests::script_filter_search_intent_requires_query_text ... ok
[INFO] [stdout] test tests::update_token_rejects_missing_text ... ok
[INFO] [stdout] test tests::update_token_roundtrip ... ok
[INFO] [stdout] test tests::script_filter_returns_update_action_for_update_intent ... ok
[INFO] [stdout] test tests::script_filter_existing_db_shows_db_path_info_without_db_init ... ok
[INFO] [stdout] test tests::script_filter_guides_update_without_text ... ok
[INFO] [stdout] test tests::script_filter_search_intent_returns_manage_rows ... ok
[INFO] [stdout] test tests::execute_search_rejects_invalid_limit_or_window ... ok
[INFO] [stdout] test tests::delete_row_overflow_moves_remaining_text_to_subtitle ... ok
[INFO] [stdout] test tests::script_filter_returns_delete_action_for_delete_intent ... ok
[INFO] [stdout] test tests::update_row_overflow_moves_remaining_text_to_subtitle ... ok
[INFO] [stdout] test tests::script_filter_search_intent_uses_configured_default_match_mode ... ok
[INFO] [stdout] test tests::script_filter_item_intent_returns_copy_update_delete_choices ... ok
[INFO] [stdout] test tests::script_filter_returns_copy_action_for_copy_intent ... ok
[INFO] [stdout] test tests::copy_row_overflow_moves_remaining_text_to_subtitle ... ok
[INFO] [stdout] test tests::script_filter_search_intent_multiple_hits_keep_search_rows ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/memo_workflow_cli-7419a72c68dcdb88)
[INFO] [stdout] test tests::script_filter_search_intent_supports_explicit_match_modes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[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/integration.rs (/opt/rustwide/target/debug/deps/integration-7ae19c9e54921754)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test cli_contract::script_filter_returns_items_array ... ok
[INFO] [stdout] test cli_contract::add_rejects_empty_text ... ok
[INFO] [stdout] test cli_contract::update_delete_invalid_item_id_returns_usage_error ... ok
[INFO] [stdout] test cli_contract::script_filter_empty_query_includes_db_init_row ... ok
[INFO] [stdout] test cli_contract::db_init_creates_database ... ok
[INFO] [stdout] initialized /tmp/.tmpJpOhDP/memo.db
[INFO] [stdout] test cli_contract::script_filter_empty_query_with_existing_db_shows_db_path_row_without_db_init ... ok
[INFO] [stdout] test cli_contract::script_filter_exposes_update_delete_intents ... ok
[INFO] [stdout] test cli_contract::add_writes_one_row ... ok
[INFO] [stdout] test cli_contract::script_filter_recent_rows_offer_manage_autocomplete ... ok
[INFO] [stdout] test cli_contract::script_filter_search_intent_keeps_search_row_for_single_hit ... ok
[INFO] [stdout] test cli_contract::script_filter_search_intent_keeps_search_rows_for_multi_hit ... ok
[INFO] [stdout] test cli_contract::update_mutates_existing_item ... ok
[INFO] [stdout] test cli_contract::script_filter_search_intent_uses_env_default_match_mode ... ok
[INFO] [stdout] test cli_contract::list_returns_latest_first ... ok
[INFO] [stdout] test cli_contract::search_command_returns_matching_rows ... ok
[INFO] [stdout] test cli_contract::script_filter_item_intent_shows_copy_update_delete_menu_and_update_guidance ... ok
[INFO] [stdout] test cli_contract::search_command_supports_prefix_and_contains_match_modes ... ok
[INFO] [stdout] test cli_contract::action_token_crud_roundtrip_with_isolated_db ... ok
[INFO] [stdout] test cli_contract::delete_removes_existing_item ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/quote_cli-0e158e226363ff41)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test config::tests::config_defaults_apply_when_values_missing ... ok
[INFO] [stdout] test config::tests::config_clamps_numeric_values_into_ranges ... ok
[INFO] [stdout] test config::tests::config_prefers_explicit_quote_data_dir_over_alfred_data_path ... ok
[INFO] [stdout] test config::tests::config_prefers_alfred_workflow_data_path ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_count_values ... ok
[INFO] [stdout] test config::tests::config_expands_home_prefix_for_quote_data_dir ... ok
[INFO] [stdout] test feedback::tests::feedback_respects_display_count ... ok
[INFO] [stdout] test config::tests::duration_parser_accepts_s_m_h_suffixes ... ok
[INFO] [stdout] test feedback::tests::feedback_filters_by_query_case_insensitive ... ok
[INFO] [stdout] test feedback::tests::feedback_returns_refresh_unavailable_item_when_cache_empty_and_refresh_failed ... ok
[INFO] [stdout] test feedback::tests::feedback_returns_no_match_item_when_query_has_no_hits ... ok
[INFO] [stdout] test config::tests::duration_parser_rejects_invalid_interval_formats ... ok
[INFO] [stdout] test feedback::tests::feedback_returns_empty_cache_item_when_no_quotes ... ok
[INFO] [stdout] test feedback::tests::feedback_uses_default_subtitle_when_author_missing ... ok
[INFO] [stdout] test feedback::tests::feedback_strips_curly_wrapping_quotes ... ok
[INFO] [stdout] test feedback::tests::feedback_wraps_long_quote_into_second_line_and_preserves_author ... ok
[INFO] [stdout] test store::tests::store_merge_dedupe_preserves_first_seen_order ... ok
[INFO] [stdout] test store::tests::store_load_quotes_returns_empty_for_missing_file ... ok
[INFO] [stdout] test zenquotes::tests::zenquotes_parse_extracts_quote_and_author_line ... ok
[INFO] [stdout] test zenquotes::tests::zenquotes_parse_returns_none_for_missing_fields ... ok
[INFO] [stdout] test zenquotes::tests::zenquotes_parse_rejects_invalid_json ... ok
[INFO] [stdout] test store::tests::store_timestamp_tolerates_garbage_content ... ok
[INFO] [stdout] test store::tests::store_timestamp_roundtrip ... ok
[INFO] [stdout] test zenquotes::tests::zenquotes_parse_rejects_non_success_http_status ... ok
[INFO] [stdout] test store::tests::store_save_and_load_roundtrip_preserves_non_empty_lines ... ok
[INFO] [stdout] test refresh::tests::refresh_skips_fetch_when_interval_not_elapsed ... ok
[INFO] [stdout] test refresh::tests::refresh_fetches_and_updates_when_stale ... ok
[INFO] [stdout] test refresh::tests::refresh_keeps_cache_when_fetch_fails ... ok
[INFO] [stdout] test refresh::tests::refresh_trims_merged_quotes_to_max_entries ... ok
[INFO] [stdout] test store::tests::store_trim_retains_only_max_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/quote_cli-842d9a8ee8d5541d)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-6a6e7f304eb24498)
[INFO] [stdout] test tests::main_maps_refresh_storage_failures_to_runtime_error ... ok
[INFO] [stdout] test tests::main_maps_config_failures_to_user_error ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_feed_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::main_feed_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/randomer_cli-f3ddbd63f234fe64)
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test tests::format_decimal_has_fixed_two_decimals ... ok
[INFO] [stdout] test tests::format_currency_has_symbol_grouping_and_scale ... ok
[INFO] [stdout] test tests::format_hex_has_prefix_fixed_width_and_uppercase ... ok
[INFO] [stdout] test tests::format_email_shape_matches_legacy_contract ... ok
[INFO] [stdout] test tests::format_int_is_digits_only ... ok
[INFO] [stdout] test tests::format_parse_is_case_insensitive_and_trimmed ... ok
[INFO] [stdout] test tests::format_percent_has_suffix_and_bounds ... ok
[INFO] [stdout] test tests::format_otp_is_six_digits_zero_padded ... ok
[INFO] [stdout] test tests::format_imei_has_15_digits_and_valid_checksum ... ok
[INFO] [stdout] test tests::generate_feedback_emits_requested_count_and_fields ... ok
[INFO] [stdout] test tests::generate_feedback_rejects_unknown_format ... ok
[INFO] [stdout] test tests::generate_feedback_rejects_zero_count ... ok
[INFO] [stdout] test tests::format_unit_has_legacy_shape_and_checksum ... ok
[INFO] [stdout] test tests::format_phone_is_taiwan_mobile_shape ... ok
[INFO] [stdout] test tests::query_filter_is_case_insensitive_contains ... ok
[INFO] [stdout] test tests::supported_formats_match_contract_order ... ok
[INFO] [stdout] test tests::list_formats_feedback_contains_menu_contract_fields ... ok
[INFO] [stdout] test tests::list_types_feedback_contains_type_selector_contract_fields ... ok
[INFO] [stdout] test tests::format_uuid_is_rfc4122_v4 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/randomer_cli-3fc5189eb22bcd97)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test tests::service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::help_flag_is_supported ... ok
[INFO] [stdout] test tests::generate_outputs_requested_count_for_known_format ... ok
[INFO] [stdout] test tests::list_formats_outputs_alfred_json_items ... ok
[INFO] [stdout] test tests::invalid_format_returns_user_error_kind_and_exit_code_2 ... ok
[INFO] [stdout] test tests::list_types_outputs_selector_items_with_format_args ... ok
[INFO] [stdout] test tests::list_formats_applies_case_insensitive_contains_filter ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-389ed643527a7b57)
[INFO] [stdout] test tests::list_formats_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spotify_cli-068ae80bcfccb615)
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test config::tests::config_clamps_max_results_into_supported_range ... ok
[INFO] [stdout] test config::tests::config_normalizes_market_to_uppercase ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_max_results ... ok
[INFO] [stdout] test config::tests::config_requires_spotify_client_id ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_market_format ... ok
[INFO] [stdout] test config::tests::config_requires_spotify_client_secret ... ok
[INFO] [stdout] test feedback::tests::error_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_maps_tracks_to_alfred_items ... ok
[INFO] [stdout] test feedback::tests::feedback_no_results_is_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_uses_unknown_metadata_fallbacks ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_build_query_params_follows_contract ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_parse_search_response_extracts_track_fields ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_build_query_params_includes_market_when_present ... ok
[INFO] [stdout] test feedback::tests::feedback_subtitle_truncation_is_deterministic_and_single_line ... ok
[INFO] [stdout] test config::tests::config_uses_default_max_results_when_missing ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_parse_search_response_ignores_tracks_missing_required_fields ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_parse_search_response_supports_empty_track_list ... ok
[INFO] [stdout] test spotify_auth::tests::spotify_auth_parse_token_response_extracts_access_token_fields ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_parse_search_response_surfaces_api_error_message ... ok
[INFO] [stdout] test spotify_auth::tests::spotify_auth_parse_token_response_rejects_invalid_success_json ... ok
[INFO] [stdout] test spotify_auth::tests::spotify_auth_parse_token_response_surfaces_error_description ... ok
[INFO] [stdout] test spotify_api::tests::spotify_api_parse_search_response_rejects_invalid_success_json ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/spotify_cli-d68e03d667604ce0)
[INFO] [stdout] test spotify_auth::tests::spotify_auth_parse_token_response_uses_http_fallback_message ... ok
[INFO] [stdout] test spotify_auth::tests::spotify_auth_parse_token_response_supports_nested_error_message ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_search_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::main_maps_auth_invalid_client_to_user_error_kind ... ok
[INFO] [stdout] test tests::main_maps_auth_rate_limit_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_surfaces_config_errors_with_user_exit_kind ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-ca4a508df4256cab)
[INFO] [stdout] test tests::main_maps_api_unavailable_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_rejects_empty_query_as_user_error ... ok
[INFO] [stdout] test tests::main_search_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::alfred_mode_keeps_stderr_error_behavior ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/steam_cli-cc7b9bb3140f59bc)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test config::tests::config_clamps_max_results_into_supported_range ... ok
[INFO] [stdout] test config::tests::config_allows_empty_language_to_skip_l_param ... ok
[INFO] [stdout] test config::tests::config_defaults_search_api_to_new_endpoint ... ok
[INFO] [stdout] test config::tests::config_normalizes_language_to_lowercase ... ok
[INFO] [stdout] test config::tests::config_normalizes_region_to_lowercase ... ok
[INFO] [stdout] test config::tests::config_parses_region_options_with_order_and_dedup ... ok
[INFO] [stdout] test config::tests::config_parses_search_api_aliases ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_language_format ... ok
[INFO] [stdout] test config::tests::config_rejects_delimiters_only_region_options_input ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_search_api ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_region_options_token ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_region_format ... ok
[INFO] [stdout] test config::tests::config_parses_show_region_options_bool_values ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_show_region_options_value ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_max_results ... ok
[INFO] [stdout] test config::tests::config_uses_defaults_when_optional_values_are_missing ... ok
[INFO] [stdout] test feedback::tests::error_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_current_region_subtitle_omits_language_when_not_configured ... ok
[INFO] [stdout] test feedback::tests::feedback_no_results_item_is_invalid_and_has_expected_title ... ok
[INFO] [stdout] test feedback::tests::feedback_maps_result_to_alfred_item_with_canonical_url ... ok
[INFO] [stdout] test feedback::tests::feedback_switch_rows_follow_configured_order ... ok
[INFO] [stdout] test feedback::tests::feedback_switch_rows_use_requery_arg_contract ... ok
[INFO] [stdout] test feedback::tests::feedback_uses_fallback_labels_for_missing_price_and_type ... ok
[INFO] [stdout] test feedback::tests::feedback_subtitle_truncation_is_deterministic_and_single_line ... ok
[INFO] [stdout] test feedback::tests::url_builds_canonical_store_url ... ok
[INFO] [stdout] test feedback::tests::url_omits_language_parameter_when_not_configured ... ok
[INFO] [stdout] test feedback::tests::feedback_hides_region_rows_when_switch_is_disabled ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_build_query_params_uses_empty_language_when_not_configured ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_build_query_params_includes_query_region_and_language_when_configured ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_build_store_search_query_params_omits_language_when_empty ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_parse_search_response_supports_empty_items ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_parse_store_search_response_extracts_expected_fields ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_maps_search_suggestions_type_codes ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_parse_search_response_surfaces_api_error_message ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_parse_search_response_ignores_partial_items ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_maps_storesearch_type_values ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_parse_search_response_rejects_malformed_success_payload ... ok
[INFO] [stdout] test steam_store_api::tests::steam_store_api_parse_search_response_extracts_expected_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/steam_cli-0e3f3d49698893ab)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::serialize_service_error_emits_required_fields ... ok
[INFO] [stdout] test tests::main_search_surfaces_api_http_errors_as_runtime_errors ... ok
[INFO] [stdout] test tests::main_search_surfaces_config_errors_as_user_errors ... ok
[INFO] [stdout] test tests::main_search_rejects_empty_query_before_api_call ... ok
[INFO] [stdout] test tests::main_search_command_omits_language_param_when_not_configured ... ok
[INFO] [stdout] test tests::main_search_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-962c2daa1f56c63d)
[INFO] [stdout] test tests::main_search_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test cli_contract::cli_contract_invalid_config_returns_user_error ... ok
[INFO] [stdout] test cli_contract::cli_contract_success_returns_alfred_json_items ... ok
[INFO] [stdout] test cli_contract::cli_contract_hides_region_switch_rows_by_default ... ok
[INFO] [stdout] test cli_contract::cli_contract_api_failure_returns_runtime_error_message ... ok
[INFO] [stdout] test cli_contract::cli_contract_legacy_mode_uses_store_search_api ... ok
[INFO] [stdout] test cli_contract::cli_contract_empty_query_returns_user_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/timezone_cli-59a247a87347302a)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test feedback::tests::rows_to_feedback_returns_invalid_item_for_empty_rows ... ok
[INFO] [stdout] test convert::tests::format_utc_offset_formats_positive_and_negative_offsets ... ok
[INFO] [stdout] test feedback::tests::rows_to_feedback_maps_rows_to_items ... ok
[INFO] [stdout] test local_tz::tests::normalize_timezone_candidate_handles_systemsetup_output_and_zoneinfo_path ... ok
[INFO] [stdout] test parser::tests::parse_timezone_list_allows_empty_input_as_no_entries ... ok
[INFO] [stdout] test parser::tests::parse_timezone_list_ignores_empty_tokens ... ok
[INFO] [stdout] test local_tz::tests::local_tz_fallback_chain_order ... ok
[INFO] [stdout] test convert::tests::now_rows_contains_offset_in_subtitle_and_copy_arg ... ok
[INFO] [stdout] test convert::tests::now_rows_preserves_input_order ... ok
[INFO] [stdout] test local_tz::tests::local_tz_terminal_utc_when_all_probes_fail ... ok
[INFO] [stdout] test parser::tests::parse_timezone_list_rejects_delimiters_only_input ... ok
[INFO] [stdout] test parser::tests::parse_timezone_list_preserves_comma_and_newline_order ... ok
[INFO] [stdout] test parser::tests::parse_timezone_list_rejects_invalid_timezone ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/timezone_cli-75bf6749234a67b7)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::invalid_timezone_returns_user_error ... ok
[INFO] [stdout] test tests::help_flag_is_supported ... ok
[INFO] [stdout] test tests::service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::empty_query_and_config_uses_detected_local_timezone ... ok
[INFO] [stdout] test tests::order_preserved_for_config_list ... ok
[INFO] [stdout] test tests::query_overrides_config_list ... ok
[INFO] [stdout] test tests::service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-c3006ac03e0388e7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/weather_cli-8f3ae2d3e39a607c)
[INFO] [stdout] test cache::tests::cache_key_contains_period_and_location_key ... ok
[INFO] [stdout] test config::tests::config_defaults_use_temp_weather_cache_dir ... ok
[INFO] [stdout] test cache::tests::cache_freshness_marks_record_as_stale_after_ttl ... ok
[INFO] [stdout] test config::tests::config_expands_home_prefix_for_weather_cache_dir ... ok
[INFO] [stdout] test config::tests::config_falls_back_when_cache_ttl_override_invalid ... ok
[INFO] [stdout] test cache::tests::cache_handles_corrupt_payload_as_miss ... ok
[INFO] [stdout] test config::tests::config_prefers_weather_cache_dir_over_alfred_paths ... ok
[INFO] [stdout] test config::tests::config_retry_policy_backoff_is_deterministic ... ok
[INFO] [stdout] test cache::tests::cache_read_write_roundtrip ... ok
[INFO] [stdout] test cache::tests::cache_freshness_marks_record_as_fresh_within_ttl ... ok
[INFO] [stdout] test config::tests::config_supports_cache_ttl_override ... ok
[INFO] [stdout] test error::tests::error_exit_code_mapping_is_stable ... ok
[INFO] [stdout] test error::tests::error_runtime_with_trace_formats_message ... ok
[INFO] [stdout] test batch_service::tests::batch_service_uses_single_open_meteo_batch_call_for_multiple_cities ... ok
[INFO] [stdout] test geocoding::tests::geocoding_cache_key_includes_slug_and_coords ... ok
[INFO] [stdout] test batch_service::tests::batch_service_falls_back_to_met_no_or_stale_cache_per_city ... ok
[INFO] [stdout] test geocoding::tests::geocoding_location_from_coordinates_uses_normalized_label ... ok
[INFO] [stdout] test geocoding::tests::geocoding_coordinate_label_is_deterministic ... ok
[INFO] [stdout] test geocoding::tests::geocoding_slugify_cleans_non_ascii_boundaries ... ok
[INFO] [stdout] test geocoding::tests::geocoding_slugify_for_cache_falls_back_for_non_ascii ... ok
[INFO] [stdout] test model::tests::model_normalize_cities_rejects_empty_entries ... ok
[INFO] [stdout] test model::tests::model_normalize_city_trims_input ... ok
[INFO] [stdout] test model::tests::model_rejects_conflicting_location_input ... ok
[INFO] [stdout] test model::tests::model_rejects_invalid_latitude ... ok
[INFO] [stdout] test geocoding::tests::geocoding_cache_roundtrip_for_city_location ... ok
[INFO] [stdout] test model::tests::model_rejects_invalid_longitude ... ok
[INFO] [stdout] test model::tests::model_normalize_cities_preserves_order_and_dedupes_case_insensitively ... ok
[INFO] [stdout] test model::tests::model_rejects_missing_location_input ... ok
[INFO] [stdout] test hourly_service::tests::hourly_service_filters_out_hours_older_than_current_hour ... ok
[INFO] [stdout] test model::tests::model_rejects_partial_coordinates ... ok
[INFO] [stdout] test model::tests::model_request_accepts_coordinate_input ... ok
[INFO] [stdout] test providers::met_no::tests::met_no_aggregates_timeseries_into_daily_summary ... ok
[INFO] [stdout] test providers::met_no::tests::met_no_maps_symbols_to_open_meteo_codes ... ok
[INFO] [stdout] test providers::met_no::tests::met_no_returns_invalid_response_when_insufficient_days ... ok
[INFO] [stdout] test hourly_service::tests::hourly_service_uses_fresh_cache_without_provider_calls ... ok
[INFO] [stdout] test model::tests::model_request_accepts_city_input ... ok
[INFO] [stdout] test geocoding::tests::geocoding_city_query_cache_key_uses_city_prefix ... ok
[INFO] [stdout] test hourly_service::tests::hourly_service_uses_cached_geocode_when_hourly_cache_missing ... ok
[INFO] [stdout] test hourly_service::tests::hourly_service_returns_live_output ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_extract_error_message_prefers_reason ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_forecast_builds_days_and_clamps_precip ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_forecast_rejects_mismatched_daily_lengths ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_geocode_returns_not_found_when_empty ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_geocode_parses_first_result ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_hourly_builds_hours_and_clamps_precip ... ok
[INFO] [stdout] test providers::tests::timeout_retry_bounds_are_applied ... ok
[INFO] [stdout] test weather_code::tests::weather_code_maps_clear_sky ... ok
[INFO] [stdout] test providers::tests::provider_error_mapping_marks_retryable_http_statuses ... ok
[INFO] [stdout] test weather_code::tests::weather_code_maps_rain_family ... ok
[INFO] [stdout] test weather_code::tests::weather_code_maps_english_labels ... ok
[INFO] [stdout] test weather_icon::tests::current_conditions_use_timezone_local_hour ... ok
[INFO] [stdout] test providers::open_meteo::tests::open_meteo_hourly_rejects_mismatched_lengths ... ok
[INFO] [stdout] test weather_icon::tests::hourly_icons_switch_to_night_variants_after_dark ... ok
[INFO] [stdout] test weather_icon::tests::icon_key_reports_night_variant_status ... ok
[INFO] [stdout] test weather_icon::tests::cloudy_family_uses_shared_keys ... ok
[INFO] [stdout] test service::tests::location_resolution_uses_coordinate_bypass_for_lat_lon ... ok
[INFO] [stdout] test weather_icon::tests::invalid_hour_inputs_fall_back_to_day_variant ... ok
[INFO] [stdout] test weather_code::tests::summary_mapping_handles_unknown_code ... ok
[INFO] [stdout] test weather_icon::tests::clear_family_uses_explicit_day_keys ... ok
[INFO] [stdout] test service::tests::service_short_circuits_on_fresh_cache ... ok
[INFO] [stdout] test service::tests::service_uses_fallback_when_primary_fails ... ok
[INFO] [stdout] test service::tests::location_resolution_uses_geocoding_for_city ... ok
[INFO] [stdout] test weather_icon::tests::night_variants_cover_non_clear_weather_codes ... ok
[INFO] [stdout] test service::tests::service_reports_provider_trace_on_total_failure ... ok
[INFO] [stdout] test service::tests::location_resolution_uses_cached_geocode_when_forecast_cache_missing ... ok
[INFO] [stdout] test service::tests::service_returns_stale_cache_on_provider_failure ... ok
[INFO] [stdout] test providers::met_no::tests::met_no_fetch_forecast_extracts_http_error_message ... ok
[INFO] [stdout] test providers::met_no::tests::met_no_fetch_forecast_retries_and_sets_user_agent ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/weather_cli-4d599735089b5783)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test tests::exit_code_mapping_user_and_runtime_are_stable ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] test tests::main_maps_invalid_input_to_user_error ... ok
[INFO] [stdout] test tests::main_maps_runtime_provider_failure ... ok
[INFO] [stdout] test tests::main_accepts_negative_longitude_values ... ok
[INFO] [stdout] test tests::main_outputs_hourly_alfred_json_mode_when_requested ... ok
[INFO] [stdout] test tests::main_outputs_batch_json_contract_for_repeated_city_flags ... ok
[INFO] [stdout] test tests::main_outputs_batch_alfred_json_for_repeated_city_flags ... ok
[INFO] [stdout] test tests::main_outputs_hourly_json_contract ... ok
[INFO] [stdout] test tests::main_outputs_alfred_json_mode_in_zh_when_requested ... ok
[INFO] [stdout] test tests::main_outputs_text_mode_in_zh_when_requested ... ok
[INFO] [stdout] test tests::main_outputs_today_json_contract ... ok
[INFO] [stdout] test tests::main_outputs_alfred_json_mode_when_requested ... ok
[INFO] [stdout] test tests::main_rejects_unknown_output_value ... ok
[INFO] [stdout] test tests::main_redacts_sensitive_error_fragments ... ok
[INFO] [stdout] test tests::main_outputs_week_json_contract ... ok
[INFO] [stdout] test tests::main_outputs_text_mode_when_json_flag_not_set ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-d7a7b9baf70b36b5)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test cli_contract::cli_contract_freshness_status_serializes_in_snake_case ... ok
[INFO] [stdout] test cli_contract::cli_contract_batch_output_contains_entries_and_city_key ... ok
[INFO] [stdout] test cli_contract::cli_contract_output_contains_required_fields_for_today ... ok
[INFO] [stdout] test cli_contract::unknown_output_value_is_rejected_by_clap ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wiki_cli-273a1504cea795ad)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test config::tests::config_uses_defaults_when_optional_values_are_missing ... ok
[INFO] [stdout] test config::tests::config_rejects_delimiters_only_language_options_input ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_language_format ... ok
[INFO] [stdout] test config::tests::config_parses_language_options_with_order_and_dedup ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_max_results ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_language_options_token ... ok
[INFO] [stdout] test config::tests::config_clamps_max_results_into_supported_range ... ok
[INFO] [stdout] test config::tests::config_normalizes_language_to_lowercase ... ok
[INFO] [stdout] test feedback::tests::feedback_language_switch_items_use_requery_arg_contract ... ok
[INFO] [stdout] test feedback::tests::feedback_language_switch_items_follow_configured_order ... ok
[INFO] [stdout] test feedback::tests::feedback_no_results_item_is_invalid_and_has_expected_title ... ok
[INFO] [stdout] test feedback::tests::error_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_maps_result_to_alfred_item ... ok
[INFO] [stdout] test feedback::tests::url_builds_curid_canonical_url ... ok
[INFO] [stdout] test feedback::tests::feedback_empty_snippet_uses_fallback_subtitle ... ok
[INFO] [stdout] test wiki_api::tests::wiki_api_build_endpoint_uses_runtime_language_host ... ok
[INFO] [stdout] test wiki_api::tests::wiki_api_build_query_params_follows_contract ... ok
[INFO] [stdout] test wiki_api::tests::wiki_api_parse_search_response_rejects_invalid_success_json ... ok
[INFO] [stdout] test wiki_api::tests::wiki_api_parse_search_response_ignores_results_missing_required_fields ... ok
[INFO] [stdout] test feedback::tests::feedback_strips_html_tags_and_truncates ... ok
[INFO] [stdout] test wiki_api::tests::wiki_api_parse_search_response_surfaces_api_error_message ... ok
[INFO] [stdout] test wiki_api::tests::wiki_api_parse_search_response_extracts_result_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wiki_cli-6a4e04f644508bc5)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_maps_invalid_response_failures_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_rejects_empty_query_as_user_error ... ok
[INFO] [stdout] test tests::main_maps_http_api_failures_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_surfaces_config_errors_with_user_exit_kind ... ok
[INFO] [stdout] test tests::main_search_rows_include_configured_language_switch_items_in_order ... ok
[INFO] [stdout] test tests::main_search_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] test tests::main_search_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-2149bbd04bf15218)
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::alfred_mode_keeps_stderr_error_behavior ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/workflow_cli-10a17182d29abb9c)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test tests::script_filter_error_redaction_masks_sensitive_tokens ... ok
[INFO] [stdout] test tests::action_commands_report_user_error_for_invalid_path ... ok
[INFO] [stdout] test tests::script_filter_command_outputs_json_contract ... ok
[INFO] [stdout] test tests::script_filter_default_mode_keeps_alfred_json_contract ... ok
[INFO] [stdout] test tests::script_filter_github_mode_sets_primary_item_icon ... ok
[INFO] [stdout] test tests::github_url_command_resolves_gitlab_subgroup_origin ... ok
[INFO] [stdout] test tests::action_commands_output_plain_values ... ok
[INFO] [stdout] test tests::github_url_accepts_ssh_url_remote_format ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-0b8e369f9b3894e0)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test cli_contract::script_filter_json_mode_returns_success_envelope ... ok
[INFO] [stdout] test cli_contract::script_filter_unknown_output_value_is_rejected_by_clap ... ok
[INFO] [stdout] test cli_contract::human_error_output_redacts_secret_like_path_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/workflow_common-ce7a4db7707f40e0)
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test config::tests::output_mode_env_parser_accepts_known_values ... ok
[INFO] [stdout] test discovery::tests::query_filter_handles_empty_and_non_empty_queries ... ok
[INFO] [stdout] test config::tests::open_project_max_results_uses_default_and_clamps ... ok
[INFO] [stdout] test feedback::tests::no_projects_feedback_is_invalid_item ... ok
[INFO] [stdout] test config::tests::expands_home_tokens_for_usage_file ... ok
[INFO] [stdout] test config::tests::parses_multiple_project_dirs ... ok
[INFO] [stdout] test config::tests::output_mode_defaults_to_alfred_json ... ok
[INFO] [stdout] test config::tests::expands_home_tokens_for_vscode_path ... ok
[INFO] [stdout] test feedback::tests::subtitle_format_uses_commit_and_usage_fallbacks ... ok
[INFO] [stdout] test git::tests::github_remote_rejects_subgroup_path ... ok
[INFO] [stdout] test git::tests::github_remote_normalizes_ssh_and_https_formats ... ok
[INFO] [stdout] test git::tests::gitlab_ssh_url_with_port_resolves ... ok
[INFO] [stdout] test git::tests::gitlab_ssh_with_subgroup_resolves ... ok
[INFO] [stdout] test git::tests::gitlab_ssh_two_segment_path_resolves ... ok
[INFO] [stdout] test git::tests::gitlab_https_with_subgroup_resolves ... ok
[INFO] [stdout] test git::tests::malformed_remote_returns_unsupported_remote ... ok
[INFO] [stdout] test git::tests::self_hosted_host_resolves_without_configuration ... ok
[INFO] [stdout] test list_parser::tests::parse_ordered_list_with_supports_normalization_hook ... ok
[INFO] [stdout] test list_parser::tests::parse_ordered_list_with_supports_skip_hook ... ok
[INFO] [stdout] test list_parser::tests::parse_ordered_list_with_surfaces_typed_errors ... ok
[INFO] [stdout] test list_parser::tests::split_ordered_list_ignores_empty_tokens ... ok
[INFO] [stdout] test list_parser::tests::split_ordered_list_preserves_mixed_separator_order ... ok
[INFO] [stdout] test list_parser::tests::split_ordered_list_keeps_duplicates_for_caller_level_dedup ... ok
[INFO] [stdout] test output_contract::tests::alfred_error_feedback_builder_redacts_sensitive_message ... ok
[INFO] [stdout] test output_contract::tests::output_mode_parse_accepts_canonical_values_only ... ok
[INFO] [stdout] test output_contract::tests::envelope_builders_emit_required_keys ... ok
[INFO] [stdout] test feedback::tests::github_mode_sets_primary_item_icon ... ok
[INFO] [stdout] test git::tests::host_match_is_case_insensitive ... ok
[INFO] [stdout] test git::tests::single_segment_path_returns_unsupported_remote ... ok
[INFO] [stdout] test output_contract::tests::feedback_envelope_builder_wraps_feedback_payload ... ok
[INFO] [stdout] test usage_log::tests::usage_log_parse_timestamp_invalid_falls_back_to_zero ... ok
[INFO] [stdout] test output_contract::tests::redaction_masks_sensitive_patterns ... ok
[INFO] [stdout] test usage_log::tests::usage_log_keeps_latest_occurrence_for_same_key ... ok
[INFO] [stdout] test usage_log::tests::usage_log_prefers_path_key_then_name_fallback ... ok
[INFO] [stdout] test git::tests::web_url_reports_missing_origin_when_no_remote ... ok
[INFO] [stdout] test usage_log::tests::usage_log_record_usage_replaces_legacy_name_key ... ok
[INFO] [stdout] test feedback::tests::sort_order_prioritizes_recent_usage_timestamp ... ok
[INFO] [stdout] test feedback::tests::shift_modifier_uses_github_icon ... ok
[INFO] [stdout] test discovery::tests::project_scan_discovers_multiple_roots_and_skips_missing ... ok
[INFO] [stdout] test feedback::tests::max_results_limits_number_of_feedback_items ... ok
[INFO] [stdout] test feedback::tests::non_empty_query_is_not_limited_by_max_results ... ok
[INFO] [stdout] test feedback::tests::empty_query_respects_max_results_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/workflow_readme_cli-945e752e9d57c163)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::xml_escape_handles_reserved_chars ... ok
[INFO] [stdout] test tests::inject_readme_replaces_existing_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/workflow_readme_cli-48a3c7a7c3546204)
[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/integration.rs (/opt/rustwide/target/debug/deps/integration-5ed3f9d80540752e)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test codex_readme_fixtures::codex_fixture_removes_table_separators_and_keeps_screenshot_reference ... ok
[INFO] [stdout] test table_downgrade::converts_markdown_table_to_deterministic_bullets ... ok
[INFO] [stdout] test image_assets::rejects_remote_image_urls ... ok
[INFO] [stdout] test image_assets::detects_and_copies_local_image_assets ... ok
[INFO] [stdout] test cli_contract::unknown_output_value_is_rejected_by_clap ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys ... ok
[INFO] [stdout] test cli_contract::service_json_success_envelope_has_required_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/youtube_cli-34e53685257b1162)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test config::tests::config_normalizes_region_code_to_uppercase ... ok
[INFO] [stdout] test config::tests::config_rejects_non_numeric_max_results ... ok
[INFO] [stdout] test config::tests::config_requires_youtube_api_key ... ok
[INFO] [stdout] test config::tests::config_rejects_invalid_region_code_format ... ok
[INFO] [stdout] test config::tests::config_uses_default_max_results_when_missing ... ok
[INFO] [stdout] test feedback::tests::error_feedback_returns_single_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_maps_videos_to_alfred_items ... ok
[INFO] [stdout] test feedback::tests::feedback_no_results_is_invalid_item ... ok
[INFO] [stdout] test feedback::tests::feedback_subtitle_truncation_is_deterministic_and_single_line ... ok
[INFO] [stdout] test feedback::tests::watch_url_builds_canonical_watch_link ... ok
[INFO] [stdout] test youtube_api::tests::youtube_api_build_query_params_follows_contract ... ok
[INFO] [stdout] test youtube_api::tests::youtube_api_build_query_params_includes_region_code_when_present ... ok
[INFO] [stdout] test youtube_api::tests::youtube_api_parse_search_response_extracts_video_fields ... ok
[INFO] [stdout] test youtube_api::tests::youtube_api_parse_search_response_ignores_items_missing_required_fields ... ok
[INFO] [stdout] test youtube_api::tests::youtube_api_parse_search_response_rejects_invalid_success_json ... ok
[INFO] [stdout] test youtube_api::tests::youtube_api_parse_search_response_surfaces_api_error_message ... ok
[INFO] [stdout] test config::tests::config_clamps_max_results_into_supported_range ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/youtube_cli-b38f07500d44cf3d)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::main_service_error_envelope_has_required_error_fields ... ok
[INFO] [stdout] test tests::main_maps_api_failures_to_runtime_error_kind ... ok
[INFO] [stdout] test tests::main_search_service_json_mode_wraps_result_in_v1_envelope ... ok
[INFO] [stdout] test tests::main_surfaces_config_errors_with_user_exit_kind ... ok
[INFO] [stdout] test tests::main_search_command_outputs_feedback_json_contract ... ok
[INFO] [stdout] test tests::main_rejects_empty_query_as_user_error ... ok
[INFO] [stdout] test tests::main_help_flag_is_supported ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-e7763775f9737d49)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_contract::alfred_mode_keeps_stderr_error_behavior ... ok
[INFO] [stdout] test cli_contract::service_json_error_envelope_has_required_keys_and_no_secret_leak ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests alfred_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests alfred_plist
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bangumi_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bilibili_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests brave_cli
[INFO] [stderr]    Doc-tests cambridge_cli
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests epoch_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests google_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests market_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests memo_workflow_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests quote_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests randomer_cli
[INFO] [stderr]    Doc-tests spotify_cli
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests steam_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests timezone_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests weather_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wiki_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests workflow_common
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests workflow_readme_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests youtube_cli
[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" "9ae5901625afd98265e602323bd90f146e9d2d078577abd729f19b4b3c7a4d7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ae5901625afd98265e602323bd90f146e9d2d078577abd729f19b4b3c7a4d7e", kill_on_drop: false }`
[INFO] [stdout] 9ae5901625afd98265e602323bd90f146e9d2d078577abd729f19b4b3c7a4d7e
