[INFO] cloning repository https://github.com/jiaowenjun/weimo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jiaowenjun/weimo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiaowenjun%2Fweimo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiaowenjun%2Fweimo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3d7cb6ef1eddad70f71e519d9c5e7e0baf857c64 [INFO] testing jiaowenjun/weimo against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiaowenjun%2Fweimo" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jiaowenjun/weimo [INFO] finished tweaking git repo https://github.com/jiaowenjun/weimo [INFO] tweaked toml for git repo https://github.com/jiaowenjun/weimo written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jiaowenjun/weimo on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jiaowenjun/weimo already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded time-core v0.1.8 [INFO] [stderr] Downloaded serde_spanned v1.1.0 [INFO] [stderr] Downloaded darling_macro v0.23.0 [INFO] [stderr] Downloaded bcrypt v0.18.0 [INFO] [stderr] Downloaded filedescriptor v0.8.3 [INFO] [stderr] Downloaded mac_address v1.1.8 [INFO] [stderr] Downloaded tempfile v3.27.0 [INFO] [stderr] Downloaded tower-cookies v0.11.0 [INFO] [stderr] Downloaded num_threads v0.1.7 [INFO] [stderr] Downloaded inout v0.1.4 [INFO] [stderr] Downloaded wezterm-dynamic v0.2.1 [INFO] [stderr] Downloaded axum-core v0.5.6 [INFO] [stderr] Downloaded blowfish v0.9.1 [INFO] [stderr] Downloaded matchit v0.8.4 [INFO] [stderr] Downloaded ratatui-crossterm v0.1.0 [INFO] [stderr] Downloaded darling v0.23.0 [INFO] [stderr] Downloaded axum-extra v0.12.5 [INFO] [stderr] Downloaded pest_derive v2.8.6 [INFO] [stderr] Downloaded rsa v0.9.10 [INFO] [stderr] Downloaded nom v8.0.0 [INFO] [stderr] Downloaded num-bigint-dig v0.8.6 [INFO] [stderr] Downloaded hkdf v0.12.4 [INFO] [stderr] Downloaded axum v0.8.8 [INFO] [stderr] Downloaded p384 v0.13.1 [INFO] [stderr] Downloaded ratatui-core v0.1.0 [INFO] [stderr] Downloaded pulldown-cmark v0.13.3 [INFO] [stderr] Downloaded iri-string v0.7.11 [INFO] [stderr] Downloaded time v0.3.47 [INFO] [stderr] Downloaded pest v2.8.6 [INFO] [stderr] Downloaded finl_unicode v1.4.0 [INFO] [stderr] Downloaded pest_meta v2.8.6 [INFO] [stderr] Downloaded wezterm-bidi v0.2.3 [INFO] [stderr] Downloaded pinyin v0.11.0 [INFO] [stderr] Downloaded termwiz v0.23.3 [INFO] [stderr] Downloaded uuid v1.22.0 [INFO] [stderr] Downloaded darling_core v0.23.0 [INFO] [stderr] Downloaded ryu v1.0.23 [INFO] [stderr] Downloaded signal-hook v0.3.18 [INFO] [stderr] Downloaded unicode-segmentation v1.13.1 [INFO] [stderr] Downloaded publicsuffix v2.3.0 [INFO] [stderr] Downloaded onig_sys v69.9.1 [INFO] [stderr] Downloaded jsonwebtoken v10.3.0 [INFO] [stderr] Downloaded crossterm v0.29.0 [INFO] [stderr] Downloaded compact_str v0.9.0 [INFO] [stderr] Downloaded cookie_store v0.22.1 [INFO] [stderr] Downloaded terminfo v0.9.0 [INFO] [stderr] Downloaded syntect v5.3.0 [INFO] [stderr] Downloaded termios v0.3.3 [INFO] [stderr] Downloaded wezterm-color-types v0.3.0 [INFO] [stderr] Downloaded ratatui v0.30.0 [INFO] [stderr] Downloaded pem v3.0.6 [INFO] [stderr] Downloaded base64ct v1.8.3 [INFO] [stderr] Downloaded pem-rfc7468 v0.7.0 [INFO] [stderr] Downloaded ansi-to-tui v8.0.1 [INFO] [stderr] Downloaded ratatui-macros v0.7.0 [INFO] [stderr] Downloaded phf_codegen v0.11.3 [INFO] [stderr] Downloaded wezterm-blob-leases v0.1.1 [INFO] [stderr] Downloaded csscolorparser v0.6.2 [INFO] [stderr] Downloaded kasuari v0.4.12 [INFO] [stderr] Downloaded pkcs1 v0.7.5 [INFO] [stderr] Downloaded simple_asn1 v0.6.4 [INFO] [stderr] Downloaded shellexpand v3.1.2 [INFO] [stderr] Downloaded pulldown-cmark-escape v0.11.0 [INFO] [stderr] Downloaded signal-hook-mio v0.2.5 [INFO] [stderr] Downloaded pest_generator v2.8.6 [INFO] [stderr] Downloaded wezterm-dynamic-derive v0.1.1 [INFO] [stderr] Downloaded lru v0.16.3 [INFO] [stderr] Downloaded lab v0.11.0 [INFO] [stderr] Downloaded ratatui-termwiz v0.1.0 [INFO] [stderr] Downloaded line-clipping v0.3.5 [INFO] [stderr] Downloaded indoc v2.0.7 [INFO] [stderr] Downloaded unicode-truncate v2.0.1 [INFO] [stderr] Downloaded deltae v0.3.2 [INFO] [stderr] Downloaded strum_macros v0.27.2 [INFO] [stderr] Downloaded onig v6.5.1 [INFO] [stderr] Downloaded deranged v0.5.8 [INFO] [stderr] Downloaded num-conv v0.2.1 [INFO] [stderr] Downloaded unicase v2.9.0 [INFO] [stderr] Downloaded memmem v0.1.1 [INFO] [stderr] Downloaded wezterm-input-types v0.1.0 [INFO] [stderr] Downloaded instability v0.3.12 [INFO] [stderr] Downloaded plist v1.8.0 [INFO] [stderr] Downloaded toml v0.9.12+spec-1.1.0 [INFO] [stderr] Downloaded vtparse v0.6.2 [INFO] [stderr] Downloaded castaway v0.2.4 [INFO] [stderr] Downloaded strum v0.27.2 [INFO] [stderr] Downloaded psl-types v2.0.11 [INFO] [stderr] Downloaded serial_test_derive v3.4.0 [INFO] [stderr] Downloaded serial_test v3.4.0 [INFO] [stderr] Downloaded time-macros v0.2.27 [INFO] [stderr] Downloaded toml_writer v1.1.0+spec-1.1.0 [INFO] [stderr] Downloaded aws-lc-sys v0.39.0 [INFO] [stderr] Downloaded ratatui-widgets v0.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cd39990437bc24289d481b8f6ad50b8aaaf3edb0bd8c37196c2f22d9b6dc5b63 [INFO] running `Command { std: "docker" "start" "-a" "cd39990437bc24289d481b8f6ad50b8aaaf3edb0bd8c37196c2f22d9b6dc5b63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd39990437bc24289d481b8f6ad50b8aaaf3edb0bd8c37196c2f22d9b6dc5b63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd39990437bc24289d481b8f6ad50b8aaaf3edb0bd8c37196c2f22d9b6dc5b63", kill_on_drop: false }` [INFO] [stdout] cd39990437bc24289d481b8f6ad50b8aaaf3edb0bd8c37196c2f22d9b6dc5b63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9fe359ec759a5bf866cb7fbf2bf30df1a6f4c3d46856473726f4caa9008f4564 [INFO] running `Command { std: "docker" "start" "-a" "9fe359ec759a5bf866cb7fbf2bf30df1a6f4c3d46856473726f4caa9008f4564", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling unicode-segmentation v1.13.1 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling aws-lc-rs v1.16.2 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling base16ct v0.2.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling psl-types v2.0.11 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling headers-core v0.3.0 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling winnow v1.0.0 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling pinyin v0.11.0 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling aws-lc-sys v0.39.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling onig_sys v69.9.1 [INFO] [stderr] Compiling pulldown-cmark v0.13.3 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling blowfish v0.9.1 [INFO] [stderr] Compiling toml_parser v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling headers v0.4.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling toml_writer v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling onig v6.5.1 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling rsa v0.9.10 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling bcrypt v0.18.0 [INFO] [stderr] Compiling shellexpand v3.1.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling plist v1.8.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling jsonwebtoken v10.3.0 [INFO] [stderr] Compiling tower-cookies v0.11.0 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ansi-to-tui v8.0.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling publicsuffix v2.3.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling cookie_store v0.22.1 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling axum-extra v0.12.5 [INFO] [stderr] Compiling weimo-server v0.1.8 (/opt/rustwide/workdir/weimo-server) [INFO] [stderr] Compiling weimo-cli v0.1.8 (/opt/rustwide/workdir/weimo-cli) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 00s [INFO] running `Command { std: "docker" "inspect" "9fe359ec759a5bf866cb7fbf2bf30df1a6f4c3d46856473726f4caa9008f4564", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fe359ec759a5bf866cb7fbf2bf30df1a6f4c3d46856473726f4caa9008f4564", kill_on_drop: false }` [INFO] [stdout] 9fe359ec759a5bf866cb7fbf2bf30df1a6f4c3d46856473726f4caa9008f4564 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0fedd5964ddd494a582b6af3635996dbfd434c8b97cb5b810fda64a9a11808a8 [INFO] running `Command { std: "docker" "start" "-a" "0fedd5964ddd494a582b6af3635996dbfd434c8b97cb5b810fda64a9a11808a8", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling weimo-server v0.1.8 (/opt/rustwide/workdir/weimo-server) [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling weimo-cli v0.1.8 (/opt/rustwide/workdir/weimo-cli) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 33.05s [INFO] running `Command { std: "docker" "inspect" "0fedd5964ddd494a582b6af3635996dbfd434c8b97cb5b810fda64a9a11808a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0fedd5964ddd494a582b6af3635996dbfd434c8b97cb5b810fda64a9a11808a8", kill_on_drop: false }` [INFO] [stdout] 0fedd5964ddd494a582b6af3635996dbfd434c8b97cb5b810fda64a9a11808a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ce22c250c9463318504033196310e6ae84ac171cfa197c155e7cb6ba78bc59cd [INFO] running `Command { std: "docker" "start" "-a" "ce22c250c9463318504033196310e6ae84ac171cfa197c155e7cb6ba78bc59cd", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.73s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/weimo_cli-357f353aaa337db1) [INFO] [stdout] [INFO] [stdout] running 415 tests [INFO] [stdout] test api::auth::tests::extract_refresh_token_from_headers_picks_refresh_token ... ok [INFO] [stdout] test api::auth::tests::parse_refresh_token_cookie_accepts_cookie_with_attributes ... ok [INFO] [stdout] test api::auth::tests::parse_refresh_token_cookie_accepts_simple_cookie ... ok [INFO] [stdout] test api::auth::tests::parse_refresh_token_cookie_rejects_empty_token ... ok [INFO] [stdout] test api::auth::tests::parse_refresh_token_cookie_rejects_other_cookies ... ok [INFO] [stdout] test api::mapper::tests::format_utc_array_applies_offset_and_converts_to_utc ... ok [INFO] [stdout] test api::mapper::tests::format_utc_array_formats_utc_time ... ok [INFO] [stdout] test api::mapper::tests::format_utc_array_returns_none_on_invalid_date ... ok [INFO] [stdout] test api::mapper::tests::format_utc_array_returns_none_on_invalid_time ... ok [INFO] [stdout] test api::mapper::tests::memo_from_dto_defaults_time_to_empty_on_invalid_arrays ... ok [INFO] [stdout] test app::command::tests::command_available_respects_workspace_and_editor_state ... ok [INFO] [stdout] test app::command::tests::shortcuts_for_command_uses_keymap ... ok [INFO] [stdout] test app::command::tests::run_command_returns_correct_actions ... ok [INFO] [stdout] test app::main_focus::tests::memos_pending_g_is_cleared_by_other_keys ... ok [INFO] [stdout] test app::main_focus::tests::slash_opens_memo_search_with_existing_query ... ok [INFO] [stdout] test app::main_focus::tests::memos_esc_no_longer_focuses_tags_by_default ... ok [INFO] [stdout] test app::main_focus::tests::tags_ignore_up_down_arrows ... ok [INFO] [stdout] test app::main_focus::tests::memo_search_escape_discards_draft ... ok [INFO] [stdout] test app::main_focus::tests::tags_uppercase_j_k_move_between_siblings ... ok [INFO] [stdout] test app::main_focus::tests::memos_enter_does_not_open_preview ... ok [INFO] [stdout] test app::main_focus::tests::memos_default_arrow_and_home_end_keys_do_not_move ... ok [INFO] [stdout] test app::main_focus::tests::memos_page_up_and_down_move_by_visible_rows ... ok [INFO] [stdout] test app::main_focus::tests::memos_g_jumps_to_last_loaded_row ... ok [INFO] [stdout] test api::memo::tests::search_query_serializes_to_search_endpoint_payload ... ok [INFO] [stdout] test app::main_focus::tests::memo_search_typing_and_enter_apply_search ... ok [INFO] [stdout] test app::main_focus::tests::memos_space_opens_preview ... ok [INFO] [stdout] test app::main_focus::tests::memos_open_docked_preview_focuses_preview ... ok [INFO] [stdout] test app::screens::editor::tests::tab_cycles_then_enter_accepts_next_tag_completion ... ok [INFO] [stdout] test app::screens::editor::tests::enter_accepts_nested_tag_completion_after_slash ... ok [INFO] [stdout] test app::main_focus::tests::memos_gg_jumps_to_first_row ... ok [INFO] [stdout] test app::screens::main::tests::esc_moves_from_tags_to_memos ... ok [INFO] [stdout] test app::screens::login::tests::enter_enqueues_login_with_trimmed_username ... ok [INFO] [stdout] test app::screens::main::tests::hidden_sidebar_opens_tag_picker_on_t_and_still_ignores_tab_toggle ... ok [INFO] [stdout] test app::main_focus::tests::memos_jump_top_sequence_can_be_overridden_by_config ... ok [INFO] [stdout] test app::screens::main::tests::l_logs_out_to_login_screen ... ok [INFO] [stdout] test app::screens::main::tests::t_focuses_tags_when_sidebar_is_visible ... ok [INFO] [stdout] test app::screens::main::tests::esc_clears_applied_memo_search_before_focus_shortcut ... ok [INFO] [stdout] test app::screens::login::tests::ctrl_g_switches_to_register ... ok [INFO] [stdout] test app::screens::main::tests::t_opens_tag_picker_when_sidebar_is_auto_hidden_by_width ... ok [INFO] [stdout] test app::palette::tests::palette_shows_available_commands ... ok [INFO] [stdout] test app::screens::login::tests::tab_and_backtab_cycle_focus ... ok [INFO] [stdout] test app::screens::main::tests::esc_from_tags_restores_highlight_to_selected_tag ... ok [INFO] [stdout] test app::screens::main::tests::memo_list_screen_route_preserves_double_g_navigation ... ok [INFO] [stdout] test app::screens::editor::tests::enter_accepts_top_level_tag_completion ... ok [INFO] [stdout] test app::screens::main::tests::memo_search_editing_swallows_main_screen_single_key_shortcuts ... ok [INFO] [stdout] test app::screens::editor::tests::up_down_arrows_no_longer_move_editor_cursor ... ok [INFO] [stdout] test app::tests::core::build_memo_list_entries_matches_by_id_and_fills_missing_as_empty ... ok [INFO] [stdout] test app::screens::editor::tests::space_after_auto_appended_slash_removes_the_slash ... ok [INFO] [stdout] test app::tests::core::help_key_matches_ctrl_h_only ... ok [INFO] [stdout] test app::screens::editor::tests::backtab_no_longer_cycles_tag_completion ... ok [INFO] [stdout] test app::tests::core::preview_markdown_source_keeps_final_tag_line_when_content_is_empty ... ok [INFO] [stdout] test app::tests::core::preview_markdown_source_moves_tags_to_final_editor_style_line ... ok [INFO] [stdout] test app::tests::core::preview_markdown_source_omits_tag_line_when_no_tags ... ok [INFO] [stdout] test app::tests::core::preview_markdown_source_supports_slash_tags_and_omits_empty_tag_placeholder ... ok [INFO] [stdout] test app::screens::main::tests::p_toggles_sidebar_visibility ... ok [INFO] [stdout] test app::screens::login::tests::ctrl_d_clears_local_session_and_inputs ... ok [INFO] [stdout] test app::screens::main::tests::r_enqueues_refresh_all ... ok [INFO] [stdout] test app::screens::main::tests::t_opens_tag_picker_when_sidebar_is_hidden ... ok [INFO] [stdout] test app::screens::main::tests::tag_search_mode_swallows_main_screen_single_key_shortcuts ... ok [INFO] [stdout] test app::screens::register::tests::enter_enqueues_register_and_omits_empty_nickname ... ok [INFO] [stdout] test app::tests::core::apply_saved_memo_to_local_state_updates_cache_memo_and_list_preview ... ok [INFO] [stdout] test app::tests::core::set_focus_tags_is_ignored_when_sidebar_is_hidden ... ok [INFO] [stdout] test app::screens::main::tests::tab_and_backtab_do_not_leave_tags ... ok [INFO] [stdout] test app::tests::core::memos_next_enqueues_load_next_page_when_more_ids_exist ... ok [INFO] [stdout] test app::screens::register::tests::tab_cycles_focus_across_three_fields ... ok [INFO] [stdout] test app::tests::editor::editor_cmdline_w_enqueues_save_without_exit_intent ... ok [INFO] [stdout] test app::tests::core::toggle_sidebar_changes_focus_without_result_status ... ok [INFO] [stdout] test app::screens::main::tests::tag_search_enter_selects_tag_and_moves_focus_to_memos ... ok [INFO] [stdout] test app::tests::core::apply_command_result_create_update_delete_do_not_emit_result_status ... ok [INFO] [stdout] test app::screens::main::tests::tab_and_backtab_do_not_leave_memos ... ok [INFO] [stdout] test app::screens::register::tests::esc_returns_to_login ... ok [INFO] [stdout] test app::tests::core::delete_memo_by_id_enqueues_effect_without_status ... ok [INFO] [stdout] test app::tests::editor::confirm_overlay_enter_and_esc_remain_default_actions ... ok [INFO] [stdout] test app::tests::editor::confirm_overlay_y_and_n_no_longer_trigger_default_actions ... ok [INFO] [stdout] test app::tests::editor::editor_dd_deletes_current_line_and_sets_dirty ... ok [INFO] [stdout] test app::tests::core::stale_command_result_is_ignored_after_logout_bumps_epoch ... ok [INFO] [stdout] test app::tests::editor::editor_o_inserts_line_below_and_enters_insert ... ok [INFO] [stdout] test app::tests::editor::editor_insert_mode_inserts_question_mark_and_ctrl_h_opens_help ... ok [INFO] [stdout] test app::tests::editor::editor_esc_exits_in_normal_when_not_dirty ... ok [INFO] [stdout] test app::tests::editor::editor_command_save_quit_from_insert_does_not_insert_cmdline ... ok [INFO] [stdout] test app::tests::editor::editor_command_save_from_insert_does_not_insert_cmdline ... ok [INFO] [stdout] test app::tests::preview::command_dock_uses_configured_keymap ... ok [INFO] [stdout] test app::tests::preview::docked_memo_preview_esc_closes_preview_and_returns_to_memos ... ok [INFO] [stdout] test app::tests::editor::editor_gg_and_g_jump_to_first_and_last_line ... ok [INFO] [stdout] test app::tests::editor::editor_cmdline_q_exits_when_not_dirty ... ok [INFO] [stdout] test app::tests::editor::editor_esc_does_not_exit_only_switches_mode ... ok [INFO] [stdout] test app::tests::preview::logout_closes_preview ... ok [INFO] [stdout] test app::tests::editor::editor_cmdline_wq_enqueues_save ... ok [INFO] [stdout] test app::tests::preview::memo_preview_gg_jumps_to_first_loaded_memo ... ok [INFO] [stdout] test app::tests::preview::memo_preview_e_enters_editor_and_closes_preview ... ok [INFO] [stdout] test app::tests::editor::editor_command_quit_from_insert_exits_when_not_dirty ... ok [INFO] [stdout] test app::tests::editor::editor_esc_in_normal_opens_discard_confirm_when_dirty ... ok [INFO] [stdout] test app::tests::editor::start_create_memo_includes_selected_tag ... ok [INFO] [stdout] test app::tests::editor::editor_word_motions_w_and_e_move_within_line ... ok [INFO] [stdout] test app::tests::preview::memo_preview_g_jumps_to_last_loaded_memo ... ok [INFO] [stdout] test app::tests::editor::start_edit_memo_appends_tags_on_last_paragraph ... ok [INFO] [stdout] test app::tests::tags::activate_selected_tag_closes_picker_and_switches_to_memos ... ok [INFO] [stdout] test app::tests::preview::memo_preview_h_l_keeps_fullscreen ... ok [INFO] [stdout] test app::tests::preview::memo_preview_pending_g_is_cleared_by_other_preview_actions ... ok [INFO] [stdout] test app::tests::preview::memo_preview_ctrl_p_opens_command_dock ... ok [INFO] [stdout] test app::util::tests::memo_page_size_is_min_20_and_scales_by_1_5x ... ok [INFO] [stdout] test app::util::tests::next_page_range_handles_boundaries ... ok [INFO] [stdout] test application::runtime::tests::load_main_data_propagates_memo_list_errors ... ok [INFO] [stdout] test application::runtime::tests::memo_list_filter_with_text_uses_search_api ... ok [INFO] [stdout] test application::runtime::tests::memo_list_filter_without_tag_or_text_uses_empty_search_query ... ok [INFO] [stdout] test application::runtime::tests::memo_list_filter_without_text_uses_search_api_with_tag_only_filter ... ok [INFO] [stdout] test app::tests::tags::command_dock_select_tag_closes_preview_and_opens_picker_when_sidebar_is_hidden ... ok [INFO] [stdout] test application::state::tests::markdown_highlighter_emits_styled_spans ... ok [INFO] [stdout] test application::state::tests::vi_editor_accepts_markdown_format_hook ... ok [INFO] [stdout] test config::tests::base_url_normalizes_trailing_slash ... ok [INFO] [stdout] test app::tests::tags::command_dock_select_tag_closes_preview_and_focuses_tags_when_sidebar_is_visible ... ok [INFO] [stdout] test application::runtime::tests::worker_processes_commands_in_fifo_order_even_when_first_is_slow ... ok [INFO] [stdout] test app::tests::preview::memo_preview_h_l_jumps_and_syncs_selection ... ok [INFO] [stdout] test config::tests::base_url_uses_default_when_env_missing ... ok [INFO] [stdout] test app::tests::preview::memo_preview_overlay_l_enqueues_load_next_page_when_not_loaded ... ok [INFO] [stdout] test app::tests::tags::tags_left_selects_parent_when_not_collapsing ... ok [INFO] [stdout] test config::tests::load_or_init_creates_default_config_when_missing ... ok [INFO] [stdout] test app::tests::tags::tags_right_selects_first_child_when_already_expanded ... ok [INFO] [stdout] test app::tests::tags::tags_right_expands_when_collapsed ... ok [INFO] [stdout] test domain::memo::tests::memo_date_takes_yyyy_mm_dd ... ok [INFO] [stdout] test domain::memo::tests::memo_preview_is_single_line_and_truncated ... ok [INFO] [stdout] test domain::memo::tests::parse_content_empty_when_input_is_only_tags ... ok [INFO] [stdout] test domain::memo::tests::parse_default_tag ... ok [INFO] [stdout] test domain::memo::tests::parse_ignores_non_tag_tokens_on_last_line ... ok [INFO] [stdout] test domain::memo::tests::parse_tags_from_last_line ... ok [INFO] [stdout] test domain::memo::tests::tags_line_is_empty_when_no_tags ... ok [INFO] [stdout] test domain::memo::tests::tags_line_uses_editor_style ... ok [INFO] [stdout] test config::tests::base_url_rejects_invalid_url ... ok [INFO] [stdout] test domain::tag_completion::tests::accept_space_after_trailing_slash_ignores_non_trailing_prefix_input ... ok [INFO] [stdout] test domain::tag_completion::tests::accept_suggestion_appends_slash_for_nodes_with_children ... ok [INFO] [stdout] test domain::tag_completion::tests::accept_space_after_trailing_slash_replaces_slash_with_space ... ok [INFO] [stdout] test domain::tag_completion::tests::accept_suggestion_reuses_existing_child_separator ... ok [INFO] [stdout] test domain::tag_completion::tests::apply_suggestion_replaces_only_current_segment ... ok [INFO] [stdout] test domain::tag_completion::tests::completion_is_only_active_on_last_line ... ok [INFO] [stdout] test domain::tag_completion::tests::child_completion_requires_exact_parent_match ... ok [INFO] [stdout] test domain::tag_completion::tests::exact_leaf_match_at_segment_end_does_not_keep_completion_active ... ok [INFO] [stdout] test domain::tag_completion::tests::exact_non_leaf_match_at_segment_end_keeps_completion_active ... ok [INFO] [stdout] test domain::tag_completion::tests::exact_top_level_leaf_match_at_segment_end_does_not_keep_completion_active ... ok [INFO] [stdout] test domain::tag_completion::tests::suggests_children_after_slash ... ok [INFO] [stdout] test domain::tag_completion::tests::suggests_current_segment_in_second_tag ... ok [INFO] [stdout] test domain::tag_completion::tests::suggests_top_level_tags_from_hash_prefix ... ok [INFO] [stdout] test keymap::tests::key_bindings_matches_any_chord ... ok [INFO] [stdout] test keymap::tests::key_bindings_deserializes_os_table_and_picks_platform ... ok [INFO] [stdout] test keymap::tests::key_chord_parses_ctrl_letter_case_insensitive ... ok [INFO] [stdout] test keymap::tests::key_chord_parses_simple_chars ... ok [INFO] [stdout] test keymap::tests::key_combo_parses_sequence ... ok [INFO] [stdout] test app::tests::preview::open_memo_preview_opens_preview_and_toggles_fullscreen ... ok [INFO] [stdout] test persist::tests::clear_session_is_idempotent ... ok [INFO] [stdout] test config::tests::load_or_init_merges_defaults_with_partial_file ... ok [INFO] [stdout] test persist::tests::save_and_load_session_roundtrip ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::input_char_and_backspace_update_query ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_empty_query_returns_all ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_navigation_wraps ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_search_by_initials ... ok [INFO] [stdout] test config::tests::load_or_init_migrates_legacy_open_preview_binding ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_search_by_name ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_search_by_pinyin ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_select_returns_id ... ok [INFO] [stdout] test tui::ratatui_expanded_clear::tests::clamps_to_bounds_bottom_right ... ok [INFO] [stdout] test tui::ratatui_expanded_clear::tests::clamps_to_bounds_top_left ... ok [INFO] [stdout] test tui::ratatui_expanded_clear::tests::expanded_clear_clears_expanded_area_then_renders_inner ... ok [INFO] [stdout] test tui::ratatui_expanded_clear::tests::expands_inside_bounds ... ok [INFO] [stdout] test config::tests::load_or_init_preserves_custom_open_preview_binding ... ok [INFO] [stdout] test tui::ratatui_command_palette::state::tests::test_search_by_initials_with_separator ... ok [INFO] [stdout] test config::tests::resolved_base_url_env_overrides_config_file_value ... ok [INFO] [stdout] test config::tests::default_keymap_prefers_vi_navigation_bindings ... ok [INFO] [stdout] test persist::tests::config_dir_falls_back_to_home ... ok [INFO] [stdout] test persist::tests::config_dir_prefers_xdg_config_home ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::parses_render_and_parse_sections ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::resolved_render_config_defaults_and_overrides ... ok [INFO] [stdout] test tui::ratatui_md::core::ir::tag::tests::allows_wrapping_punctuation ... ok [INFO] [stdout] test tui::ratatui_md::core::ir::tag::tests::does_not_accept_empty_segments_or_trailing_slash ... ok [INFO] [stdout] test tui::ratatui_md::core::ir::tag::tests::builder_emits_inline_tag_tokens ... ok [INFO] [stdout] test tui::ratatui_md::core::ir::tag::tests::requires_boundary_before_hash ... ok [INFO] [stdout] test tui::ratatui_md::core::ir::tag::tests::splits_simple_tags ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::emphasis_does_not_apply_to_inline_code ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::highlights_definition_list_term ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::highlights_footnote_reference_and_definition_label ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::highlights_inline_emphasis_and_strong_text_only ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::highlights_link_destination_only ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::update_from_events_matches_update ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::atx_heading_spacing_level_1_is_preserved ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::table_chars_rounded_charset ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::atx_heading_spacing_level_ge_2_is_normalized ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::blockquote_spacing_is_normalized ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::code_blocks_are_protected ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::collapses_multiple_blank_lines_outside_code_blocks ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::does_not_collapse_blank_lines_inside_code_blocks ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::inserts_blank_line_before_table_block ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::inserts_blank_line_between_adjacent_top_level_blocks ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::list_spacing_is_normalized ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::non_tables_with_pipes_are_not_reformatted_as_tables ... ok [INFO] [stdout] test tui::ratatui_md::markdown_format::tests::tables_are_formatted_from_parser_events ... ok [INFO] [stdout] test tui::ratatui_md::style::config::tests::style_override_modifiers_replace_base ... ok [INFO] [stdout] test tui::ratatui_md::style::sheet::tests::render_style_sheet_trait_defaults_match_config ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::load_default_merges_style_with_built_in_defaults ... ok [INFO] [stdout] test tui::ratatui_tree::search::tests::display_path_keeps_non_all_root_prefix ... ok [INFO] [stdout] test tui::ratatui_tree::search::tests::display_path_omits_redundant_all_root_prefix ... ok [INFO] [stdout] test tui::ratatui_tree::search::tests::normalize_pinyin_term_ignores_visual_separators ... ok [INFO] [stdout] test tui::ratatui_md::style::sheet::tests::resolved_style_sheet_config_is_built_from_config_toml_style ... ok [INFO] [stdout] test tui::ratatui_tree::tests::accepting_search_expands_path_selects_node_and_activates_it ... ok [INFO] [stdout] test app::tests::preview::start_edit_memo_closes_preview ... ok [INFO] [stdout] test tui::ratatui_tree::tests::backtab_does_not_move_search_selection ... ok [INFO] [stdout] test tui::ratatui_tree::tests::canceling_search_keeps_original_selection ... ok [INFO] [stdout] test tui::ratatui_tree::tests::collapsing_selected_subtree_falls_back_to_visible_ancestor ... ok [INFO] [stdout] test tui::ratatui_tree::tests::expand_collapse_methods_work ... ok [INFO] [stdout] test tui::ratatui_tree::tests::handle_default_key_supports_uppercase_sibling_navigation ... ok [INFO] [stdout] test tui::ratatui_tree::tests::index_build_sets_parent_and_children ... ok [INFO] [stdout] test tui::ratatui_tree::tests::flatten_visible_hides_collapsed_subtree ... ok [INFO] [stdout] test tui::ratatui_tree::tests::handle_default_key_uses_jk_for_vertical_navigation ... ok [INFO] [stdout] test tui::ratatui_tree::tests::index_build_sets_sibling_links ... ok [INFO] [stdout] test tui::ratatui_tree::tests::left_collapses_when_expanded ... ok [INFO] [stdout] test tui::ratatui_tree::tests::rebuild_visible_falls_back_to_visible_ancestor ... ok [INFO] [stdout] test tui::ratatui_tree::tests::right_selects_first_child_when_expanded ... ok [INFO] [stdout] test tui::ratatui_tree::tests::prev_sibling_moves_within_same_parent ... ok [INFO] [stdout] test tui::ratatui_tree::tests::search_matches_chinese_full_pinyin_and_initials ... ok [INFO] [stdout] test tui::ratatui_tree::tests::search_path_initials_with_separator_matches_compact_initials ... ok [INFO] [stdout] test tui::ratatui_tree::tests::select_id_works ... ok [INFO] [stdout] test tui::ratatui_tree::tests::sibling_navigation_stops_at_edges_and_root ... ok [INFO] [stdout] test tui::ratatui_tree::tests::slash_becomes_query_text_when_search_is_active ... ok [INFO] [stdout] test tui::ratatui_tree::tests::slash_enters_search_mode ... ok [INFO] [stdout] test tui::ratatui_tree::tests::toggle_all_expand_collapses_after_manual_full_expansion ... ok [INFO] [stdout] test tui::ratatui_tree::tests::tab_does_not_move_search_selection ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::b_crosses_lines ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::b_moves_to_previous_word_start_small ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::b_skips_punctuation_as_non_word_for_small_word ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::b_from_word_start_moves_to_previous_word ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::backspace_deletes_single_unicode_scalar_value ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::capital_b_treats_non_whitespace_as_word ... ok [INFO] [stdout] test tui::ratatui_tree::tests::next_sibling_moves_within_same_parent ... ok [INFO] [stdout] test tui::ratatui_tree::tests::right_expands_when_collapsed ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::backspace_merges_with_previous_line_at_line_start ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::delete_merges_with_next_line_at_line_end ... ok [INFO] [stdout] test tui::ratatui_md::highlight::parsed::tests::highlights_code_fences_and_code_lines ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::e_moves_to_next_word_end_when_already_at_word_end ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::insert_char_clamps_cursor_to_utf8_boundary ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::from_text_normalizes_crlf_and_sets_cursor_to_end ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::insert_newline_clamps_cursor_to_utf8_boundary ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::insert_newline_splits_line_at_cursor ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::match_pair_fails_when_not_on_bracket ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::match_pair_moves_between_matching_parens ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::paragraph_forward_skips_to_next_paragraph_start ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::match_pair_supports_nesting_and_crosses_lines ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::paragraph_backward_skips_to_previous_paragraph_start ... ok [INFO] [stdout] test tui::ratatui_vi::ratatui::source_highlight::tests::spans_from_text_tracks_utf8_byte_offsets_and_filters_default_style ... ok [INFO] [stdout] test tui::ratatui_vi::ratatui::textarea::tests::render_highlights_find_matches_on_cursor_row ... ok [INFO] [stdout] test tui::ratatui_vi::ratatui::source_highlight::tests::update_with_skips_source_allocation_when_revision_is_fresh ... ok [INFO] [stdout] test tui::ratatui_vi::ratatui::textarea::tests::render_highlights_search_matches ... ok [INFO] [stdout] test tui::ratatui_vi::search::literal::tests::forward_wrap_can_match_at_first_byte ... ok [INFO] [stdout] test tui::ratatui_vi::search::literal::tests::forward_wraps_to_start ... ok [INFO] [stdout] test tui::ratatui_vi::search::literal::tests::no_match_restores_cursor ... ok [INFO] [stdout] test tui::ratatui_vi::selection::tests::char_find_backward_is_not_forward_inclusive_in_selection ... ok [INFO] [stdout] test tui::ratatui_vi::selection::tests::char_find_forward_is_inclusive_in_selection ... ok [INFO] [stdout] test tui::ratatui_vi::selection::tests::char_find_returns_none_when_target_missing ... ok [INFO] [stdout] test tui::ratatui_vi::selection::tests::match_pair_returns_none_when_not_on_pair_character ... ok [INFO] [stdout] test tui::ratatui_vi::substitute::parse::tests::partial_substitute_parses_range_and_pattern ... ok [INFO] [stdout] test tui::ratatui_vi::selection::tests::paragraph_forward_returns_none_when_no_next_paragraph ... ok [INFO] [stdout] test tui::ratatui_vi::search::literal::tests::backward_wraps_to_end ... ok [INFO] [stdout] test tui::ratatui_vi::substitute::parse::tests::partial_substitute_rejects_non_substitute ... ok [INFO] [stdout] test tui::ratatui_vi::substitute::parse::tests::partial_substitute_unescapes_delimiter ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ciw_changes_inner_word ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::cmdline_q_when_dirty_requests_confirm_discard ... ok [INFO] [stdout] test tui::ratatui_vi::substitute::parse::tests::partial_substitute_detects_global_only_after_third_delim ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_dd_deletes_multiple_lines_and_creates_single_undo_checkpoint ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_gg_moves_to_target_line ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_hjkl_moves_cursor ... ok [INFO] [stdout] test tui::ratatui_vi::core::tests::delete_deletes_single_unicode_scalar_value ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::config_default_toml_roundtrip ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_r_replaces_multiple_characters ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_before_dot_repeats_change_multiple_times ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::config_deserialize_platform_shortcuts ... ok [INFO] [stdout] test app::tests::preview::refresh_all_keeps_preview_visible_and_enqueues_cmd ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_s_deletes_multiple_and_enters_insert_mode ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_x_deletes_multiple_characters ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_x_uppercase_deletes_before_cursor ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ctrl_f_formats_when_hook_set ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::count_p_repeats_paste ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ctrl_f_in_insert_mode_does_not_format ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ctrl_f_without_hook_returns_status ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::d2j_deletes_linewise ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::d_and_y_shortcuts_work ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ctrl_r_redoes_in_normal_mode ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ctrl_s_requests_save_from_any_mode ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::custom_format_shortcut_works ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::d_l_deletes_motion_selection ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::d_percent_deletes_including_matching_pair ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dd_deletes_line_and_creates_undo_checkpoint ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dfx_deletes_through_found_char ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::default_config_is_created_in_xdg_config_home_when_missing ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dg_deletes_to_last_line_linewise ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dgg_deletes_to_first_line_linewise ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dl_and_dh_delete_single_character ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dot_repeats_simple_change_and_insert_change ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dot_repeats_insert_paste ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dot_repeats_substitute_with_count ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::d2w_deletes_two_words ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::esc_from_insert_does_not_cross_lines ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::esc_from_insert_moves_cursor_left_in_line ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::esc_in_normal_hides_find_highlight_until_next_find ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::esc_in_normal_hides_search_highlight_until_next_search ... ok [INFO] [stdout] test app::tests::tags::tags_left_collapses_when_expanded ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_accepts_missing_final_delimiter ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_global_and_undo ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_no_match_does_not_create_undo_checkpoint ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::esc_from_insert_respects_unicode_char_boundaries ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_once_per_line_without_g ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_same_replacement_does_not_create_undo_checkpoint ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_with_hash_delimiter ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::ex_substitute_uses_last_search_pattern ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::j_joins_lines_and_respects_count ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::keychord_meta_roundtrip ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::creates_default_user_config_when_missing_everywhere ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::default_config_toml_paths_with_xdg_and_home ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::load_default_returns_invalid_data_for_bad_toml_and_does_not_overwrite ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::insert_mode_only_pushes_undo_on_esc_if_changed ... ok [INFO] [stdout] test tui::ratatui_md::config::toml::tests::default_config_toml_paths_without_xdg_and_home ... ok [INFO] [stdout] test config::tests::config_file_prefers_xdg_config_home ... ok [INFO] [stdout] test persist::tests::load_session_returns_none_when_missing ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::normal_f_t_and_semicolon_comma_repeat_last_find ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::paragraph_motions_move_to_paragraph_start ... ok [INFO] [stdout] test app::tests::preview::memo_preview_d_prompts_delete_above_preview ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::percent_motion_jumps_to_matching_pair ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::register_select_yanks_into_named_register_and_pastes ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::default_config_is_not_overwritten_if_present ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::paste_in_insert_is_single_undo_checkpoint_and_normalizes_crlf ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::search_highlight_does_not_use_ex_cmdline_input ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::v_enters_visual_char_and_v_exits ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::v_enters_visual_line_and_esc_exits ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vj_c_changes_linewise_and_enters_insert ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vj_d_deletes_visual_line_selection ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vj_x_deletes_visual_line_selection ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::search_highlight_uses_cmdline_pattern_while_typing ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::search_highlight_cmdline_cancel_does_not_change_last_highlight_state ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vj_y_yanks_linewise_to_register ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vl_d_deletes_visual_char_selection ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::dtx_deletes_until_before_found_char ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vl_x_deletes_visual_char_selection ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vl_y_yanks_charwise_to_register ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::yg_yanks_multiple_lines_and_p_pastes_them ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::vl_c_changes_charwise_and_enters_insert ... ok [INFO] [stdout] test ui::adapter::tag_tree::tests::rebuild_from_meta_initially_expands_expandable_nodes ... ok [INFO] [stdout] test ui::adapter::tag_tree::tests::rebuild_from_meta_none_clears_tree_and_rows ... ok [INFO] [stdout] test app::tests::tags::activating_selected_tag_preserves_applied_search_filter ... ok [INFO] [stdout] test ui::adapter::tag_tree::tests::restore_highlight_to_selected_tag_expands_ancestors_and_selects_target ... ok [INFO] [stdout] test ui::components::chrome::tests::focused_border_uses_yellow ... ok [INFO] [stdout] test ui::components::chrome::tests::focused_title_uses_yellow_bold ... ok [INFO] [stdout] test ui::components::chrome::tests::selected_style_keeps_cyan_bold_accent ... ok [INFO] [stdout] test ui::components::editor::tests::draw_highlights_editor_border_and_title_when_directly_focused ... ok [INFO] [stdout] test ui::components::editor::tests::editor_footer_shows_cmdline_input_in_ex_mode ... ok [INFO] [stdout] test ui::components::editor::tests::editor_footer_shows_insert_mode_and_one_based_cursor ... ok [INFO] [stdout] test ui::components::editor::tests::popup_flips_above_when_near_bottom ... ok [INFO] [stdout] test ui::components::editor::tests::popup_prefers_below_cursor_when_space_is_available ... ok [INFO] [stdout] test ui::components::editor::tests::draw_keeps_editor_unfocused_when_overlay_takes_input ... ok [INFO] [stdout] test ui::components::editor::tests::visible_window_keeps_selected_item_in_view ... ok [INFO] [stdout] test ui::components::main::tests::memo_list_line_dims_date_prefix ... ok [INFO] [stdout] test ui::components::main::tests::memo_list_rows_only_depend_on_panel_height ... ok [INFO] [stdout] test ui::components::main::tests::memo_list_rows_use_full_right_panel_height ... ok [INFO] [stdout] test ui::components::main::tests::sidebar_width_is_zero_when_hidden ... ok [INFO] [stdout] test ui::components::main::tests::sidebar_width_is_zero_when_screen_is_too_narrow ... ok [INFO] [stdout] test app::tests::tags::select_tag_opens_picker_when_sidebar_is_hidden_without_status ... ok [INFO] [stdout] test ui::components::markdown_preview::tests::draw_highlights_preview_border_and_title_when_focused ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::search_slash_and_n_n_repeat ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::s_deletes_and_enters_insert_mode ... ok [INFO] [stdout] test tui::ratatui_vi::vi::tests::replace_text_creates_undo_checkpoint_and_preserves_cursor ... ok [INFO] [stdout] test ui::components::markdown_preview::tests::draw_keeps_preview_border_and_title_unfocused_by_default ... ok [INFO] [stdout] test ui::components::main::tests::memo_list_title_shows_current_selected_tag_and_selection ... ok [INFO] [stdout] test ui::components::overlay::confirm::tests::delete_memo_confirm_body_omits_memo_id ... ok [INFO] [stdout] test app::tests::tags::select_tag_focuses_tags_when_sidebar_is_visible ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_context_label_reflects_editor_mode ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_active_memo_search_focus_on_search_controls ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_applied_memo_search_show_space_only_preview_shortcut ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_editor_insert_show_tag_completion_only_when_active ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_editor_normal_do_not_advertise_up_down_arrows ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_tag_search_hide_main_actions ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_memo_preview_only_show_preview_sections ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_tags_include_escape_back_to_memos ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_two_columns_require_enough_width_height_and_sections ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_tag_tree_use_j_k_without_up_down ... ok [INFO] [stdout] test ui::components::tag_view::tests::block_titles_match_between_panel_and_overlay_states ... ok [INFO] [stdout] test ui::interaction::tests::applied_memo_search_prioritizes_search_hint_before_list_navigation ... ok [INFO] [stdout] test ui::components::tag_view::tests::overlay_footer_reuses_shared_tag_copy ... ok [INFO] [stdout] test ui::components::overlay::help::tests::help_sections_for_memos_use_t_for_tags_without_workspace_pane_cycle ... ok [INFO] [stdout] test ui::interaction::tests::main_tag_search_keeps_help_focused_but_retains_back_hint_for_dock ... ok [INFO] [stdout] test ui::layout::tests::centered_rect_max_width_caps_height_to_two_thirds ... ok [INFO] [stdout] test ui::layout::tests::centered_rect_max_width_caps_height_to_two_thirds_on_small_bounds ... ok [INFO] [stdout] test ui::layout::tests::centered_rect_max_width_caps_width_to_two_thirds ... ok [INFO] [stdout] test ui::components::overlay::tag_picker::tests::tag_picker_border_and_title_remain_gray_when_unfocused ... ok [INFO] [stdout] test ui::components::overlay::tag_picker::tests::tag_picker_border_and_title_highlight_when_focused ... ok [INFO] [stdout] test ui::layout::tests::centered_rect_max_width_respects_cfg_max_height_when_smaller ... ok [INFO] [stdout] test ui::layout::tests::centered_rect_max_width_respects_cfg_max_width_when_smaller ... ok [INFO] [stdout] test ui::vm::tests::cursor_blinks_in_insert_mode ... ok [INFO] [stdout] test ui::vm::tests::cursor_is_hidden_when_overlay_active ... ok [INFO] [stdout] test ui::vm::tests::cursor_blinks_every_500ms ... ok [INFO] [stdout] test ui::command_dock::tests::editor_dock_shows_current_ex_command ... ok [INFO] [stdout] test ui::command_dock::tests::preview_dock_shows_h_l_navigation ... ok [INFO] [stdout] test ui::vm::tests::login_vm_counts_password_len_in_chars ... ok [INFO] [stdout] test ui::layout::tests::fullscreen_memo_preview_uses_content_area ... ok [INFO] [stdout] test ui::vm::tests::register_vm_counts_password_len_in_chars ... ok [INFO] [stdout] test ui::command_dock::tests::applied_memo_search_dock_shows_clear_and_edit_hints ... ok [INFO] [stdout] test ui::vm::tests::help_vm_uses_memo_preview_context_for_focused_docked_preview ... ok [INFO] [stdout] test ui::workspace::tests::memo_preview_title_uses_created_time_in_top_border ... ok [INFO] [stdout] test ui::command_dock::tests::memo_list_dock_shows_focus_and_navigation ... ok [INFO] [stdout] test ui::command_dock::tests::editor_dock_in_insert_mode_shows_mode_and_exit_only ... ok [INFO] [stdout] test ui::command_dock::tests::docked_preview_with_focus_uses_preview_hints ... ok [INFO] [stdout] test ui::command_dock::tests::expanded_command_dock_hint_uses_j_k_navigation ... ok [INFO] [stdout] test ui::command_dock::tests::memo_search_dock_shows_query_in_status_bar ... ok [INFO] [stdout] test ui::vm::tests::palette_hint_follows_keymap ... ok [INFO] [stdout] test ui::command_dock::tests::login_dock_shows_screen_and_minimal_shortcuts ... ok [INFO] [stdout] test ui::controller::tests::esc_closes_tag_picker_and_restores_selected_highlight ... ok [INFO] [stdout] test ui::vm::tests::help_vm_uses_memo_preview_context_when_help_is_open_above_it ... ok [INFO] [stdout] test ui::vm::tests::help_vm_detects_editor_tag_completion_without_overlay_blocking ... ok [INFO] [stdout] test ui::vm::tests::help_vm_uses_tag_picker_context_when_help_is_open_above_it ... ok [INFO] [stdout] test ui::vm::tests::help_vm_marks_memo_search_state_when_search_is_active ... ok [INFO] [stdout] test ui::controller::tests::tag_picker_ignores_up_down_arrows ... ok [INFO] [stdout] test ui::workspace::tests::focused_tag_picker_suppresses_background_memo_panel_highlight ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 415 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.03s [INFO] [stdout] [INFO] [stderr] Running tests/health.rs (/opt/rustwide/target/debug/deps/health-d880c67098a17dd0) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test health_ok ... 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/main.rs (/opt/rustwide/target/debug/deps/weimo_server-a7ef263bc17ad4d6) [INFO] [stdout] [INFO] [stdout] running 171 tests [INFO] [stdout] test config::tests::bind_addr_formats_host_and_port ... ok [INFO] [stdout] test data::db::driver::md::tests::test_delete_nonexistent_user ... ok [INFO] [stdout] test data::db::driver::md::tests::test_create_memo_for_nonexistent_user ... ok [INFO] [stdout] test data::db::driver::md::tests::test_new_db ... ok [INFO] [stdout] test data::db::driver::md::tests::test_search_memo_ids_for_nonexistent_user ... ok [INFO] [stdout] test data::db::memo::md::tests::test_create_memo ... ok [INFO] [stdout] test data::db::memo::md::tests::test_delete_nonexistent_memo ... ok [INFO] [stdout] test data::db::memo::md::tests::test_delete_memo ... ok [INFO] [stdout] test data::db::memo::md::tests::test_exists ... ok [INFO] [stdout] test data::db::driver::md::tests::test_update_nonexistent_user ... ok [INFO] [stdout] test data::db::memo::md::tests::test_get_nonexistent_memo ... ok [INFO] [stdout] test data::db::memo::md::tests::test_get_memo ... ok [INFO] [stdout] test data::db::memo::md::tests::test_get_ids ... ok [INFO] [stdout] test data::db::memo::md::tests::test_new_creates_directory ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_by_day ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_by_text ... ok [INFO] [stdout] test data::db::memo::md::tests::test_multi_user_isolation ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_by_year ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_by_month ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_rejects_invalid_query ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_returns_empty_for_empty_candidates ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_orders_by_create_time_then_id_desc ... ok [INFO] [stdout] test data::db::memo::md::tests::test_update_memo_tags ... ok [INFO] [stdout] test data::db::memo::md::tests::test_search_ids_with_combined_filters ... ok [INFO] [stdout] test data::db::memo::md::tests::test_update_memo ... ok [INFO] [stdout] test data::db::user::json::tests::test_empty_username ... ok [INFO] [stdout] test data::db::driver::md::tests::test_delete_memo ... ok [INFO] [stdout] test data::db::driver::md::tests::test_create_duplicate_user ... ok [INFO] [stdout] test data::db::driver::md::tests::test_memo_ids ... ok [INFO] [stdout] test data::db::driver::md::tests::test_persistence ... ok [INFO] [stdout] test data::db::user::json::tests::test_invalid_json_format ... ok [INFO] [stdout] test data::db::driver::md::tests::test_update_nonexistent_memo ... ok [INFO] [stdout] test data::db::driver::md::tests::test_delete_user ... ok [INFO] [stdout] test data::models::claims::tests::test_create_access_token ... ok [INFO] [stdout] test data::db::user::json::tests::test_delete_user ... ok [INFO] [stdout] test data::models::claims::tests::test_create_refresh_token ... ok [INFO] [stdout] test data::db::user::json::tests::test_add_user ... ok [INFO] [stdout] test data::models::claims::tests::test_encode_decode ... ok [INFO] [stdout] test data::models::claims::tests::test_invalid_token ... ok [INFO] [stdout] test data::models::claims::tests::test_new_claims ... ok [INFO] [stdout] test data::models::claims::tests::test_is_expired ... ok [INFO] [stdout] test data::models::memo::tests::test_add_memo_info_serialization ... ok [INFO] [stdout] test data::models::memo::tests::test_create_t ... ok [INFO] [stdout] test data::models::memo::tests::test_from_add_info ... ok [INFO] [stdout] test data::models::memo::tests::test_markdown_roundtrip_with_tags ... ok [INFO] [stdout] test data::models::memo::tests::test_markdown_roundtrip_without_tags ... ok [INFO] [stdout] test data::models::memo::tests::test_memo_serialization ... ok [INFO] [stdout] test data::models::memo::tests::test_modify_t ... ok [INFO] [stdout] test data::models::memo::tests::test_parse_invalid_markdown ... ok [INFO] [stdout] test data::models::memo::tests::test_parse_markdown_with_tags ... ok [INFO] [stdout] test data::models::memo::tests::test_parse_markdown_without_tags ... ok [INFO] [stdout] test data::db::driver::md::tests::test_create_user ... ok [INFO] [stdout] test data::models::memo::tests::test_set_content ... ok [INFO] [stdout] test data::models::memo::tests::test_to_markdown_with_tags ... ok [INFO] [stdout] test data::models::memo::tests::test_set_tags ... ok [INFO] [stdout] test data::models::memo::tests::test_upd_memo_info_serialization ... ok [INFO] [stdout] test data::models::memo::tests::test_to_markdown_without_tags ... ok [INFO] [stdout] test data::models::memo::tests::test_word_cnt ... ok [INFO] [stdout] test data::models::memo_search::tests::test_combined_filters_use_and ... ok [INFO] [stdout] test data::models::memo_search::tests::test_day_filter_matches ... ok [INFO] [stdout] test data::db::driver::md::tests::test_create_memo ... ok [INFO] [stdout] test data::models::memo_search::tests::test_empty_query_matches_all ... ok [INFO] [stdout] test data::models::memo_search::tests::test_month_filter_matches ... ok [INFO] [stdout] test data::models::memo_search::tests::test_paginate_uses_cursor ... ok [INFO] [stdout] test data::models::memo_search::tests::test_empty_text_filter_is_ignored ... ok [INFO] [stdout] test data::models::memo_search::tests::test_request_clamps_page_size ... ok [INFO] [stdout] test data::models::memo::tests::test_update_memo ... ok [INFO] [stdout] test data::models::memo_search::tests::test_tag_filter_matches_nested_tags ... ok [INFO] [stdout] test data::models::memo_search::tests::test_text_filter_is_case_insensitive ... ok [INFO] [stdout] test data::models::memo_search::tests::test_validate_rejects_invalid_day ... ok [INFO] [stdout] test data::models::memo_search::tests::test_validate_rejects_invalid_cursor ... ok [INFO] [stdout] test data::models::memo_search::tests::test_validate_rejects_invalid_month ... ok [INFO] [stdout] test data::models::user::tests::test_create_user_info_serialization ... ok [INFO] [stdout] test data::models::memo_search::tests::test_year_filter_matches ... ok [INFO] [stdout] test data::db::driver::md::tests::test_delete_nonexistent_memo ... ok [INFO] [stdout] test data::db::user::json::tests::test_get_user ... ok [INFO] [stdout] test data::db::user::json::tests::test_update_nickname ... ok [INFO] [stdout] test data::db::driver::md::tests::test_update_user_nickname ... ok [INFO] [stdout] test data::models::user::tests::test_validate_username_accepts_safe_ascii_names ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_add_memo ... ok [INFO] [stdout] test data::models::user::tests::test_validate_username_rejects_unsafe_names ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_add_same_memo_multiple_times ... ok [INFO] [stdout] test data::db::user::json::tests::test_file_persistence ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_complex_tag_hierarchy ... ok [INFO] [stdout] test data::db::driver::md::tests::test_update_memo ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_del_memo ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_add_memo_no_tags ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_get_memo_ids ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_get_memo_tags ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_get_tags ... ok [INFO] [stdout] test data::db::driver::md::tests::test_get_memo ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_multiple_tag_deletion ... ok [INFO] [stdout] test data::db::user::json::tests::test_exists ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_new_tag_tree ... ok [INFO] [stdout] test data::db::user::json::tests::test_get_all_users ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_memo ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_memo_no_change ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_memo_to_no_tags ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_tag ... ok [INFO] [stdout] test data::db::driver::md::tests::test_get_memos ... ok [INFO] [stdout] test data::models::user::tests::test_create_user_with_nickname ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_tag_nonexistent ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_build_async ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_tag_and_save_async ... ok [INFO] [stdout] test data::db::user::json::tests::test_new_user_file ... ok [INFO] [stdout] test data::models::user::tests::test_serialization ... ok [INFO] [stdout] test routers::memo::tests::test_search_memo_ids_rejects_invalid_cursor ... ok [INFO] [stdout] test routers::memo::tests::test_search_memo_ids_rejects_invalid_query ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_concurrent_tag_operations ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_empty_tags_handling ... ok [INFO] [stdout] test routers::memo::tests::test_search_memo_ids_returns_cursor_page ... ok [INFO] [stdout] test routers::memo::tests::test_search_memo_ids_returns_matching_ids ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_nested_tag_operations ... ok [INFO] [stdout] test treebag::node::tests::test_bag_operations ... ok [INFO] [stdout] test treebag::node::tests::test_comprehensive_tag_tree_scenario ... ok [INFO] [stdout] test treebag::node::tests::test_duplicate_items_in_bag ... ok [INFO] [stdout] test treebag::node::tests::test_child_management ... ok [INFO] [stdout] test treebag::node::tests::test_merge_bag ... ok [INFO] [stdout] test treebag::node::tests::test_multiple_children_management ... ok [INFO] [stdout] test treebag::node::tests::test_empty_bag_operations ... ok [INFO] [stdout] test treebag::node::tests::test_new_root ... ok [INFO] [stdout] test treebag::node::tests::test_set_parent_id ... ok [INFO] [stdout] test treebag::node::tests::test_take_bag ... ok [INFO] [stdout] test treebag::tree::tests::test_add_item_creates_path ... ok [INFO] [stdout] test treebag::tree::tests::test_add_item_multiple_paths ... ok [INFO] [stdout] test treebag::node::tests::test_new_node ... ok [INFO] [stdout] test treebag::tree::tests::test_default_tree ... ok [INFO] [stdout] test treebag::tree::tests::test_delete_item_nonexistent_item_is_noop ... ok [INFO] [stdout] test treebag::tree::tests::test_delete_item_nonexistent_path ... ok [INFO] [stdout] test treebag::tree::tests::test_delete_item_single_path ... ok [INFO] [stdout] test treebag::tree::tests::test_add_item_single_path ... ok [INFO] [stdout] test treebag::tree::tests::test_get_bag_only_returns_current_node_items ... ok [INFO] [stdout] test treebag::tree::tests::test_get_item_paths_multiple ... ok [INFO] [stdout] test treebag::tree::tests::test_get_item_paths_nonexistent ... ok [INFO] [stdout] test treebag::tree::tests::test_get_item_paths_returns_root_name_for_root_items ... ok [INFO] [stdout] test treebag::tree::tests::test_get_item_paths_single ... ok [INFO] [stdout] test treebag::tree::tests::test_get_items_includes_descendants ... ok [INFO] [stdout] test treebag::tree::tests::test_get_items_nonexistent_path ... ok [INFO] [stdout] test treebag::tree::tests::test_get_items_success ... ok [INFO] [stdout] test treebag::tree::tests::test_move_path_makes_old_path_unreachable ... ok [INFO] [stdout] test treebag::tree::tests::test_merge_existing_paths_combines_items_and_children ... ok [INFO] [stdout] test treebag::tree::tests::test_new_tree ... ok [INFO] [stdout] test treebag::tree::tests::test_move_path_recreate_old_path_does_not_alias ... ok [INFO] [stdout] test treebag::tree::tests::test_path_multi_level ... ok [INFO] [stdout] test treebag::tree::tests::test_path_normalization_ignores_empty_segments ... ok [INFO] [stdout] test treebag::tree::tests::test_path_root ... ok [INFO] [stdout] test treebag::tree::tests::test_path_single_level ... ok [INFO] [stdout] test treebag::tree::tests::test_root_path_listed_when_root_bag_non_empty ... ok [INFO] [stdout] test treebag::tree::tests::test_update_path_nonexistent ... ok [INFO] [stdout] test treebag::tree::tests::test_update_path_success ... ok [INFO] [stdout] test treebag::tree::tests::test_update_path_to_ancestor ... ok [INFO] [stdout] test treebag::tree::tests::test_update_path_to_descendant ... ok [INFO] [stdout] test treebag::tree::tests::test_update_path_to_root ... ok [INFO] [stdout] test treebag::treeview::tests::test_empty_tree_view ... ok [INFO] [stdout] test treebag::treeview::tests::test_tree_view_formatting ... ok [INFO] [stdout] test treebag::treeview::tests::test_tree_view_structure ... ok [INFO] [stdout] test treebag::treeview::tests::test_tree_view_deduplication ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_large_tag_tree_performance ... ok [INFO] [stdout] test data::models::user::tests::test_set_nickname ... ok [INFO] [stdout] test data::models::user::tests::test_user_view_hides_password_hash ... ok [INFO] [stdout] test data::models::user::tests::test_create_user_without_nickname ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_upd_tag_failure ... ok [INFO] [stdout] test routers::tests::patch_me_legacy_route_returns_not_found ... ok [INFO] [stdout] test data::models::claims::tests::test_different_tokens_for_same_user ... ok [INFO] [stdout] test routers::tests::put_tag_accepts_structured_payload ... ok [INFO] [stdout] test routers::tests::put_tag_rejects_legacy_string_payload ... ok [INFO] [stdout] test data::tagtree::tags::tests::test_save_async ... ok [INFO] [stdout] test routers::tests::register_login_me_and_refresh_flow_works ... ok [INFO] [stdout] test routers::tests::patch_me_accepts_structured_json_body ... ok [INFO] [stdout] test routers::tests::delete_me_removes_user_storage_directory ... ok [INFO] [stdout] test data::models::claims::tests::test_token_expiration ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 171 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.32s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ce22c250c9463318504033196310e6ae84ac171cfa197c155e7cb6ba78bc59cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce22c250c9463318504033196310e6ae84ac171cfa197c155e7cb6ba78bc59cd", kill_on_drop: false }` [INFO] [stdout] ce22c250c9463318504033196310e6ae84ac171cfa197c155e7cb6ba78bc59cd