[INFO] cloning repository https://github.com/YangChengxxyy/rust-claude-code
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/YangChengxxyy/rust-claude-code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYangChengxxyy%2Frust-claude-code", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYangChengxxyy%2Frust-claude-code'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 10562d43f7f3e189b0b5c785415568105fab1971
[INFO] testing YangChengxxyy/rust-claude-code against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYangChengxxyy%2Frust-claude-code" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/YangChengxxyy/rust-claude-code
[INFO] finished tweaking git repo https://github.com/YangChengxxyy/rust-claude-code
[INFO] tweaked toml for git repo https://github.com/YangChengxxyy/rust-claude-code written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/YangChengxxyy/rust-claude-code 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/YangChengxxyy/rust-claude-code 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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 0428f84b9dd4a7535bfb437576a43a53be62a481f1dd8442650225e0e8cefe70
[INFO] running `Command { std: "docker" "start" "-a" "0428f84b9dd4a7535bfb437576a43a53be62a481f1dd8442650225e0e8cefe70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0428f84b9dd4a7535bfb437576a43a53be62a481f1dd8442650225e0e8cefe70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0428f84b9dd4a7535bfb437576a43a53be62a481f1dd8442650225e0e8cefe70", kill_on_drop: false }`
[INFO] [stdout] 0428f84b9dd4a7535bfb437576a43a53be62a481f1dd8442650225e0e8cefe70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] ea061e4aaceddb41e1dc29188fe84b3c3abf18d987d0a972d24c5ca1f86f2fea
[INFO] running `Command { std: "docker" "start" "-a" "ea061e4aaceddb41e1dc29188fe84b3c3abf18d987d0a972d24c5ca1f86f2fea", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling glob-match v0.2.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling pxfm v0.1.29
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.12
[INFO] [stderr]    Compiling moxcms v0.8.1
[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 tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.52.0
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling fancy-regex v0.16.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 strum v0.26.3
[INFO] [stderr]    Compiling ratatui v0.27.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rust-claude-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rust-claude-mcp v0.1.0 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]    Compiling rust-claude-api v0.1.0 (/opt/rustwide/workdir/crates/api)
[INFO] [stderr]    Compiling rust-claude-tools v0.1.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stderr]    Compiling rust-claude-sdk v0.1.0 (/opt/rustwide/workdir/crates/sdk)
[INFO] [stderr]    Compiling rust-claude-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/tui/src/slash.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 |         |args| UserCommand::ListSessions, // simplified — actual resume needs interaction
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-claude-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s
[INFO] running `Command { std: "docker" "inspect" "ea061e4aaceddb41e1dc29188fe84b3c3abf18d987d0a972d24c5ca1f86f2fea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea061e4aaceddb41e1dc29188fe84b3c3abf18d987d0a972d24c5ca1f86f2fea", kill_on_drop: false }`
[INFO] [stdout] ea061e4aaceddb41e1dc29188fe84b3c3abf18d987d0a972d24c5ca1f86f2fea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] aa36d0734b15e3ee8f75183237ed636263efc64b26a5b13d4139bd6c0f382adb
[INFO] running `Command { std: "docker" "start" "-a" "aa36d0734b15e3ee8f75183237ed636263efc64b26a5b13d4139bd6c0f382adb", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-claude-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling rust-claude-mcp v0.1.0 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]    Compiling rust-claude-api v0.1.0 (/opt/rustwide/workdir/crates/api)
[INFO] [stderr]    Compiling rust-claude-tools v0.1.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stderr]    Compiling rust-claude-sdk v0.1.0 (/opt/rustwide/workdir/crates/sdk)
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/tui/src/slash.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 |         |args| UserCommand::ListSessions, // simplified — actual resume needs interaction
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-claude-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stderr]    Compiling rust-claude-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> crates/tui/src/slash.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 |         |args| UserCommand::ListSessions, // simplified — actual resume needs interaction
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_claude_md` is never used
[INFO] [stdout]    --> crates/core/src/claude_md.rs:292:4
[INFO] [stdout]     |
[INFO] [stdout] 292 | fn read_claude_md(path: &Path) -> Option<ClaudeMdFile> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.12s
[INFO] running `Command { std: "docker" "inspect" "aa36d0734b15e3ee8f75183237ed636263efc64b26a5b13d4139bd6c0f382adb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa36d0734b15e3ee8f75183237ed636263efc64b26a5b13d4139bd6c0f382adb", kill_on_drop: false }`
[INFO] [stdout] aa36d0734b15e3ee8f75183237ed636263efc64b26a5b13d4139bd6c0f382adb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 450066ebe79ddfad0c951c66c79632b943915b5da0806f527f6524aaa5fd595f
[INFO] running `Command { std: "docker" "start" "-a" "450066ebe79ddfad0c951c66c79632b943915b5da0806f527f6524aaa5fd595f", kill_on_drop: false }`
[INFO] [stderr] warning: function `read_claude_md` is never used
[INFO] [stderr]    --> crates/core/src/claude_md.rs:292:4
[INFO] [stderr]     |
[INFO] [stderr] 292 | fn read_claude_md(path: &Path) -> Option<ClaudeMdFile> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-claude-core` (lib test) generated 1 warning
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> crates/tui/src/slash.rs:195:10
[INFO] [stderr]     |
[INFO] [stderr] 195 |         |args| UserCommand::ListSessions, // simplified — actual resume needs interaction
[INFO] [stderr]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-claude-tui` (lib) generated 1 warning (run `cargo fix --lib -p rust-claude-tui` to apply 1 suggestion)
[INFO] [stderr] warning: `rust-claude-tui` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_claude_api-d747a74345ff1f1e)
[INFO] [stdout] 
[INFO] [stdout] running 53 tests
[INFO] [stdout] test client::tests::test_bedrock_provider_reports_missing_credentials ... ok
[INFO] [stdout] test client::tests::test_default_headers_include_auth_version_and_content_type ... ok
[INFO] [stdout] test client::tests::test_empty_api_key_is_rejected ... ok
[INFO] [stdout] test client::tests::test_error_response_falls_back_to_raw_body ... ok
[INFO] [stdout] test client::tests::test_bearer_auth_headers_use_authorization ... ok
[INFO] [stdout] test client::tests::test_error_response_maps_exceeds_maximum ... ok
[INFO] [stdout] test client::tests::test_error_response_rate_limit_429_unchanged ... ok
[INFO] [stdout] test client::tests::test_error_response_maps_overloaded_529 ... ok
[INFO] [stdout] test client::tests::test_error_response_maps_prompt_too_long ... ok
[INFO] [stdout] test client::tests::test_error_response_non_prompt_400_not_mapped_to_prompt_too_long ... ok
[INFO] [stdout] test client::tests::test_with_base_url_strips_trailing_slash ... ok
[INFO] [stdout] test client::tests::test_vertex_provider_reports_missing_credentials ... ok
[INFO] [stdout] test client::tests::test_request_uses_messages_endpoint ... ok
[INFO] [stdout] test streaming::tests::test_content_block_accumulator_builds_text_block_from_deltas ... ok
[INFO] [stdout] test client::tests::test_bedrock_provider_constructs_messages_endpoint ... ok
[INFO] [stdout] test client::tests::test_error_response_maps_rate_limit_status ... ok
[INFO] [stdout] test client::tests::test_error_response_maps_too_many_tokens ... ok
[INFO] [stdout] test client::tests::test_default_headers_reject_invalid_version_value ... ok
[INFO] [stdout] test streaming::tests::test_text_delta_accumulator_builds_complete_block ... ok
[INFO] [stdout] test streaming::tests::test_parse_stream_event_message_start ... ok
[INFO] [stdout] test client::tests::test_provider_adapter_default_preserves_anthropic_endpoint ... ok
[INFO] [stdout] test streaming::tests::test_text_delta_accumulator_rejects_non_text_delta ... ok
[INFO] [stdout] test types::tests::test_api_content_blocks_serialization ... ok
[INFO] [stdout] test types::tests::test_api_content_text_serialization ... ok
[INFO] [stdout] test types::tests::test_api_error_deserialization ... ok
[INFO] [stdout] test streaming::tests::test_content_block_accumulator_builds_tool_use_block_from_json_deltas ... ok
[INFO] [stdout] test streaming::tests::test_parse_sse_events_joins_multiline_data ... ok
[INFO] [stdout] test streaming::tests::test_stream_events_from_text_yields_stream_events ... ok
[INFO] [stdout] test client::tests::test_default_headers_reject_invalid_api_key_value ... ok
[INFO] [stdout] test client::tests::test_error_response_maps_auth_status ... ok
[INFO] [stdout] test client::tests::test_vertex_provider_constructs_messages_endpoint ... ok
[INFO] [stdout] test streaming::tests::test_content_block_accumulator_builds_thinking_block_from_deltas ... ok
[INFO] [stdout] test types::tests::test_api_message_from_core_message ... ok
[INFO] [stdout] test types::tests::test_cache_control_serialization ... ok
[INFO] [stdout] test types::tests::test_create_message_request_skips_none_fields ... ok
[INFO] [stdout] test types::tests::test_create_message_request_serialization ... ok
[INFO] [stdout] test types::tests::test_create_message_request_with_metadata ... ok
[INFO] [stdout] test types::tests::test_create_message_request_with_optional_system_prompt ... ok
[INFO] [stdout] test types::tests::test_create_message_request_with_tools ... ok
[INFO] [stdout] test types::tests::test_full_request_format_matches_anthropic_api ... ok
[INFO] [stdout] test types::tests::test_create_message_response_with_tool_use ... ok
[INFO] [stdout] test types::tests::test_inject_cache_control_empty_messages ... ok
[INFO] [stdout] test types::tests::test_inject_cache_control_multi_block_message ... ok
[INFO] [stdout] test types::tests::test_structured_blocks_system_prompt ... ok
[INFO] [stdout] test types::tests::test_system_prompt_blocks_serialization ... ok
[INFO] [stdout] test types::tests::test_system_block_with_cache_control ... ok
[INFO] [stdout] test types::tests::test_system_block_without_cache_control ... ok
[INFO] [stdout] test types::tests::test_inject_cache_control_single_message ... ok
[INFO] [stdout] test types::tests::test_request_without_thinking_omits_field ... ok
[INFO] [stdout] test types::tests::test_inject_cache_control_multiple_messages ... ok
[INFO] [stdout] test types::tests::test_request_with_thinking ... ok
[INFO] [stdout] test types::tests::test_create_message_response_deserialization ... ok
[INFO] [stdout] test streaming::tests::test_parse_sse_events_extracts_event_and_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/client.rs (/opt/rustwide/target/debug/deps/client-9ef07004b70d7e6a)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test create_message_stream_with_real_api_key ... ignored, requires ANTHROPIC_API_KEY
[INFO] [stdout] test create_message_with_real_api_key ... ignored, requires ANTHROPIC_API_KEY
[INFO] [stdout] test api_message_user_helper_uses_text_content ... ok
[INFO] [stdout] test api_message_assistant_helper_uses_text_content ... ok
[INFO] [stdout] test anthropic_client_rejects_blank_api_key ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_claude_cli-8ed2f91201d61e55)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test session::tests::test_load_latest_from_empty_dir ... ok
[INFO] [stdout] test session::tests::test_restore_app_state_preserves_session_id ... ok
[INFO] [stdout] test session::tests::test_restore_app_state_from_session ... ok
[INFO] [stdout] test session::tests::test_is_interrupted_jsonl_without_session_end ... ok
[INFO] [stdout] test session::tests::test_load_from_jsonl_normal ... ok
[INFO] [stdout] test session::tests::test_session_file_serde_roundtrip ... ok
[INFO] [stdout] test session::tests::test_session_load_backfills_missing_model_setting ... ok
[INFO] [stdout] test session::tests::test_session_summary_extracts_first_user_message ... ok
[INFO] [stdout] test session::tests::test_session_summary_truncates_long_first_user_message ... ok
[INFO] [stdout] test session::tests::test_session_writer_append_event ... ok
[INFO] [stdout] test session::tests::test_session_writer_append_messages_and_finish ... ok
[INFO] [stdout] test session::tests::test_session_file_new ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_claude-592ece530f496395)
[INFO] [stdout] test session::tests::test_list_recent_sessions_sorts_skips_corrupt_and_limits ... ok
[INFO] [stdout] test session::tests::test_list_sessions_detects_interrupted ... ok
[INFO] [stdout] test session::tests::test_load_from_jsonl_compact_boundary ... ok
[INFO] [stdout] test session::tests::test_list_sessions_deduplicates_jsonl_over_json ... ok
[INFO] [stdout] test session::tests::test_load_from_jsonl_truncated_last_line ... ok
[INFO] [stdout] test session::tests::test_load_latest_prefers_interrupted_session ... ok
[INFO] [stdout] test session::tests::test_load_from_jsonl_unknown_event_type_skipped ... ok
[INFO] [stdout] test session::tests::test_session_writer_creates_jsonl_with_header ... ok
[INFO] [stdout] test session::tests::test_session_file_load_autodetects_jsonl ... ok
[INFO] [stdout] test session::tests::test_session_file_load_autodetects_json ... ok
[INFO] [stdout] test session::tests::test_is_interrupted_jsonl_with_session_end ... ok
[INFO] [stdout] test session::tests::test_session_file_roundtrip_preserves_assistant_message_usage ... ok
[INFO] [stdout] test session::tests::test_session_save_and_load ... ok
[INFO] [stdout] test session::tests::test_list_sessions_includes_both_formats ... ok
[INFO] [stdout] test session::tests::test_load_from_jsonl_permission_change ... ok
[INFO] [stdout] test session::tests::test_sessions_dir ... ok
[INFO] [stdout] test session::tests::test_session_writer_open_append_continues_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test tests::context_snapshot_handles_unknown_capacity ... ok
[INFO] [stdout] test tests::context_snapshot_uses_known_capacity_and_tool_breakdown ... ok
[INFO] [stdout] test tests::effort_budget_maps_levels_to_budget_overrides ... ok
[INFO] [stdout] test tests::copy_text_with_maps_empty_and_provider_errors ... ok
[INFO] [stdout] test tests::finish_session_writer_persists_session_end ... ok
[INFO] [stdout] test tests::export_conversation_writes_markdown_with_metadata_and_tools ... ok
[INFO] [stdout] test tests::format_memory_store_status_empty_store ... ok
[INFO] [stdout] test tests::latest_assistant_text_ignores_non_text_and_selects_latest ... ok
[INFO] [stdout] test tests::format_memory_store_status_no_store_dir ... ok
[INFO] [stdout] test tests::format_custom_agents_lists_agents_and_empty_state ... ok
[INFO] [stdout] test tests::manual_verification_status_output_contains_expected_sections ... ok
[INFO] [stdout] test tests::manual_verification_permissions_output_contains_rules ... ok
[INFO] [stdout] test tests::format_memory_store_status_populated_store ... ok
[INFO] [stdout] test tests::manual_verification_init_behavior_does_not_overwrite_existing ... ok
[INFO] [stdout] test tests::recap_messages_counts_turns_and_latest_user_request ... ok
[INFO] [stdout] test tests::recap_messages_reports_empty_conversation ... ok
[INFO] [stdout] test tests::review_prompt_prioritizes_findings_and_notes_truncation ... ok
[INFO] [stdout] test tests::truncate_latest_user_turn_removes_user_and_following_assistant_messages ... ok
[INFO] [stdout] test tests::pr_review_reports_missing_gh ... ok
[INFO] [stdout] test tests::resolve_config_cli_model_beats_anthropic_model_env ... ok
[INFO] [stdout] test tests::resolve_config_merges_user_deny_with_project_allow ... ok
[INFO] [stdout] test tests::remember_memory_name_dedup_targets_existing_path ... ok
[INFO] [stdout] test tests::resolve_config_prefers_cli_over_project_and_user ... ok
[INFO] [stdout] test tests::resolve_config_rust_claude_model_override_beats_cli ... ok
[INFO] [stderr]      Running tests/query_loop_local.rs (/opt/rustwide/target/debug/deps/query_loop_local-e75b1a47cd7bb391)
[INFO] [stdout] test tests::resolve_config_uses_cli_provider ... ok
[INFO] [stdout] test tests::resolve_config_uses_project_permissions ... ok
[INFO] [stdout] test tests::remember_memory_updates_existing_entry_via_dedup ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cli_runs_against_local_compatible_endpoint ... ignored, requires local compatible endpoint
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/session_jsonl_cli.rs (/opt/rustwide/target/debug/deps/session_jsonl_cli-4b3eb3ddf7e6e093)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test print_mode_writes_one_session_end_event ... ok
[INFO] [stdout] test resume_completed_jsonl_appends_without_truncating_history ... 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/rust_claude_core-8677db35658273b8)
[INFO] [stdout] 
[INFO] [stdout] running 300 tests
[INFO] [stdout] test claude_md::tests::test_claude_md_in_parent_and_child ... ok
[INFO] [stdout] test claude_md::tests::test_discover_claude_md_ordering ... ok
[INFO] [stdout] test claude_md::tests::test_parse_frontmatter_none ... ok
[INFO] [stdout] test claude_md::tests::test_parse_frontmatter_with_paths ... ok
[INFO] [stdout] test claude_md::tests::test_parse_frontmatter_no_paths ... ok
[INFO] [stdout] test claude_md::tests::test_manual_verification_local_and_rule_files_are_discovered ... ok
[INFO] [stdout] test compaction::tests::test_compact_strategy_configs ... ok
[INFO] [stdout] test compaction::tests::test_compaction_config_default ... ok
[INFO] [stdout] test compaction::tests::test_compaction_config_serde ... ok
[INFO] [stdout] test compaction::tests::test_compaction_result_serde ... ok
[INFO] [stdout] test compaction::tests::test_estimate_current_tokens_no_api_usage ... ok
[INFO] [stdout] test compaction::tests::test_estimate_current_tokens_with_api_usage_and_new_messages ... ok
[INFO] [stdout] test compaction::tests::test_estimate_current_tokens_with_api_usage_no_new_messages ... ok
[INFO] [stdout] test claude_md::tests::test_no_claude_md_returns_empty ... ok
[INFO] [stdout] test compaction::tests::test_estimate_message_tokens_text_only ... ok
[INFO] [stdout] test compaction::tests::test_estimate_message_tokens_with_tool_result ... ok
[INFO] [stdout] test compaction::tests::test_estimate_message_tokens_with_tool_use ... ok
[INFO] [stdout] test compaction::tests::test_estimate_system_prompt_tokens ... ok
[INFO] [stdout] test compaction::tests::test_needs_compaction_above_threshold ... ok
[INFO] [stdout] test compaction::tests::test_needs_compaction_below_threshold ... ok
[INFO] [stdout] test claude_md::tests::test_empty_claude_md_skipped ... ok
[INFO] [stdout] test compaction::tests::test_needs_compaction_too_few_messages ... ok
[INFO] [stdout] test claude_md::tests::test_global_claude_md_with_config_dir ... ok
[INFO] [stdout] test claude_md::tests::test_find_git_root ... ok
[INFO] [stdout] test compaction::tests::test_partition_normal ... ok
[INFO] [stdout] test claude_md::tests::test_single_claude_md_in_cwd ... ok
[INFO] [stdout] test claude_md::tests::test_local_md_next_to_claude_md ... ok
[INFO] [stdout] test compaction::tests::test_needs_compaction_with_usage_based_counting ... ok
[INFO] [stdout] test claude_md::tests::test_full_discover_with_global ... ok
[INFO] [stdout] test compaction::tests::test_partition_preserves_minimum_two ... ok
[INFO] [stdout] test compaction::tests::test_partition_ordering ... ok
[INFO] [stdout] test compaction::tests::test_partition_too_few_messages ... ok
[INFO] [stdout] test config::tests::test_config_defaults ... ok
[INFO] [stdout] test claude_md::tests::test_rules_with_frontmatter_paths ... ok
[INFO] [stdout] test claude_md::tests::test_rules_discovery_multiple_files ... ok
[INFO] [stdout] test config::tests::test_config_overrides_fallback_model ... ok
[INFO] [stdout] test config::tests::test_config_reads_fallback_model ... ok
[INFO] [stdout] test claude_md::tests::test_project_discovery_dirs_use_root_to_leaf_order ... ok
[INFO] [stdout] test config::tests::test_config_builder ... ok
[INFO] [stdout] test config::tests::test_provider_config_serializes_supported_providers ... ok
[INFO] [stdout] test config::tests::test_config_defaults_fallback_model_to_none ... ok
[INFO] [stdout] test claude_md::tests::test_rules_discovery_no_rules_dir ... ok
[INFO] [stdout] test custom_agents::tests::missing_agents_directory_is_empty ... ok
[INFO] [stdout] test custom_agents::tests::rejects_invalid_name ... ok
[INFO] [stdout] test custom_agents::tests::rejects_missing_required_field ... ok
[INFO] [stdout] test config::tests::test_load_prefers_config_api_key_over_env ... ok
[INFO] [stdout] test custom_agents::tests::parses_valid_agent_definition ... ok
[INFO] [stdout] test file_state_cache::tests::test_hash_content_deterministic ... ok
[INFO] [stdout] test file_state_cache::tests::test_lru_eviction_at_capacity ... ok
[INFO] [stdout] test file_state_cache::tests::test_record_read_and_not_stale ... ok
[INFO] [stdout] test config::tests::test_load_uses_env_api_key_when_config_file_omits_it ... ok
[INFO] [stdout] test claude_md::tests::test_stops_at_git_root ... ok
[INFO] [stdout] test hooks::tests::test_hook_command_response_deserialize ... ok
[INFO] [stdout] test file_state_cache::tests::test_no_entry_returns_none ... ok
[INFO] [stdout] test git::tests::test_collect_git_context_returns_none_outside_repo ... ok
[INFO] [stdout] test file_state_cache::tests::test_partial_view_flag ... ok
[INFO] [stdout] test hooks::tests::test_hook_command_response_empty ... ok
[INFO] [stdout] test hooks::tests::test_hook_command_response_updated_input ... ok
[INFO] [stdout] test file_state_cache::tests::test_record_read_with_offset_and_limit ... ok
[INFO] [stdout] test config::tests::test_resolve_provider_precedence_and_conflicts ... ok
[INFO] [stdout] test file_state_cache::tests::test_record_write_updates_entry ... ok
[INFO] [stdout] test claude_md::tests::test_global_local_md ... ok
[INFO] [stdout] test config::tests::test_load_errors_when_no_api_key_available ... ok
[INFO] [stdout] test hooks::tests::test_hook_config_deserialize_full ... ok
[INFO] [stdout] test hooks::tests::test_hook_config_deserialize_minimal ... ok
[INFO] [stdout] test hooks::tests::test_hook_event_display ... ok
[INFO] [stdout] test hooks::tests::test_hook_event_from_str ... ok
[INFO] [stdout] test hooks::tests::test_hook_config_deserialize_unsupported_type ... ok
[INFO] [stdout] test hooks::tests::test_hook_event_group_empty_matcher ... ok
[INFO] [stdout] test hooks::tests::test_hook_result_eq ... ok
[INFO] [stdout] test hooks::tests::test_hooks_config_deserialize ... ok
[INFO] [stdout] test hooks::tests::test_post_tool_use_input_serialize ... ok
[INFO] [stdout] test hooks::tests::test_pre_tool_use_input_serialize ... ok
[INFO] [stdout] test claude_md::tests::test_local_md_without_claude_md ... ok
[INFO] [stdout] test hooks::tests::test_session_lifecycle_input_serialize ... ok
[INFO] [stdout] test hooks::tests::test_hook_event_group_deserialize ... ok
[INFO] [stdout] test config::tests::test_save_without_credential_omits_api_key ... ok
[INFO] [stdout] test hooks::tests::test_stop_input_serialize ... ok
[INFO] [stdout] test hooks::tests::test_user_prompt_submit_input_serialize ... ok
[INFO] [stdout] test mcp_config::tests::test_default_transport_type_is_stdio ... ok
[INFO] [stdout] test mcp_config::tests::test_deserialize_http_server ... ok
[INFO] [stdout] test mcp_config::tests::test_deserialize_sse_server ... ok
[INFO] [stdout] test mcp_config::tests::test_deserialize_unsupported_transport ... ok
[INFO] [stdout] test mcp_config::tests::test_filter_supported_servers ... ok
[INFO] [stdout] test mcp_config::tests::test_deserialize_stdio_server ... ok
[INFO] [stdout] test mcp_config::tests::test_merge_mcp_servers_same_name_high_wins ... ok
[INFO] [stdout] test memory::tests::builds_enabled_auto_memory_guidance ... ok
[INFO] [stdout] test mcp_config::tests::test_remote_disconnected_state_is_distinct_from_failed ... ok
[INFO] [stdout] test mcp_config::tests::test_deserialize_minimal_stdio_server ... ok
[INFO] [stdout] test mcp_config::tests::test_merge_mcp_servers_different_names ... ok
[INFO] [stdout] test memory::tests::correct_memory_entry_errors_on_nonexistent_target ... ok
[INFO] [stdout] test claude_md::tests::test_rules_in_full_discovery ... ok
[INFO] [stdout] test custom_agents::tests::discovers_agents_and_reports_duplicates ... ok
[INFO] [stdout] test memory::tests::builds_disabled_auto_memory_guidance ... ok
[INFO] [stdout] test memory::tests::find_duplicate_by_name_case_insensitive ... ok
[INFO] [stdout] test memory::tests::find_duplicate_by_exact_path ... ok
[INFO] [stdout] test memory::tests::find_duplicate_returns_none_when_no_match ... ok
[INFO] [stdout] test memory::tests::builds_memory_contract_prompt ... ok
[INFO] [stdout] test memory::tests::correct_memory_entry_updates_existing_file ... ok
[INFO] [stdout] test memory::tests::manual_memory_save_ignores_auto_memory_disable_policy ... ok
[INFO] [stdout] test memory::tests::parses_memory_type ... ok
[INFO] [stdout] test memory::tests::parses_frontmatter_and_body ... ok
[INFO] [stdout] test message::tests::test_content_block_image_url_serde ... ok
[INFO] [stdout] test memory::tests::selects_relevant_memories_by_query_terms ... ok
[INFO] [stdout] test message::tests::test_content_block_tool_result_serde ... ok
[INFO] [stdout] test message::tests::test_content_block_tool_use_serde ... ok
[INFO] [stdout] test memory::tests::truncates_memory_entrypoint ... ok
[INFO] [stdout] test memory::tests::removes_memory_entry_and_updates_index ... ok
[INFO] [stdout] test message::tests::test_content_block_text_serde ... ok
[INFO] [stdout] test message::tests::test_content_block_thinking_serde ... ok
[INFO] [stdout] test message::tests::test_content_block_image_base64_serde ... ok
[INFO] [stdout] test message::tests::test_message_user ... ok
[INFO] [stdout] test memory::tests::save_memory_entry_dedup_creates_new_entry ... ok
[INFO] [stdout] test message::tests::test_message_with_tool_results ... ok
[INFO] [stdout] test memory::tests::detects_auto_memory_disable_flag ... ok
[INFO] [stdout] test memory::tests::writes_memory_entry_and_rebuilds_index ... ok
[INFO] [stdout] test message::tests::test_message_assistant ... ok
[INFO] [stdout] test memory::tests::save_memory_entry_dedup_updates_duplicate_path ... ok
[INFO] [stdout] test message::tests::test_message_assistant_with_usage ... ok
[INFO] [stdout] test message::tests::test_stop_reason_serde ... ok
[INFO] [stdout] test message::tests::test_thinking_block_backward_compat_legacy_json ... ok
[INFO] [stdout] test memory::tests::save_memory_entry_dedup_updates_duplicate_name_at_existing_path ... ok
[INFO] [stdout] test message::tests::test_thinking_block_with_signature_roundtrip ... ok
[INFO] [stdout] test message::tests::test_thinking_block_without_signature_roundtrip ... ok
[INFO] [stdout] test message::tests::test_unknown_block_does_not_break_known_types ... ok
[INFO] [stdout] test message::tests::test_unknown_block_type_deserializes ... ok
[INFO] [stdout] test message::tests::test_message_serializes_to_anthropic_format ... ok
[INFO] [stdout] test message::tests::test_usage_serde ... ok
[INFO] [stdout] test model::tests::claude_3_5_does_not_support_thinking ... ok
[INFO] [stdout] test model::tests::get_thinking_config_claude_3_returns_disabled ... ok
[INFO] [stdout] test model::tests::get_thinking_config_haiku_4_returns_enabled ... ok
[INFO] [stdout] test model::tests::get_thinking_config_opus_4_6_returns_adaptive ... ok
[INFO] [stdout] test model::tests::get_thinking_config_uses_budget_override_for_thinking_models ... ok
[INFO] [stdout] test model::tests::get_thinking_config_disabled_returns_disabled ... ok
[INFO] [stdout] test model::tests::haiku_switches_to_sonnet_in_plan_mode ... ok
[INFO] [stdout] test model::tests::normalizes_1m_suffix_for_api ... ok
[INFO] [stdout] test model::tests::normalizes_2m_suffix_for_api_case_insensitively ... ok
[INFO] [stdout] test message::tests::test_role_serde ... ok
[INFO] [stdout] test model::tests::opus_4_6_supports_adaptive_thinking ... ok
[INFO] [stdout] test model::tests::opusplan_stays_sonnet_when_over_200k ... ok
[INFO] [stdout] test model::tests::preserves_custom_model_and_strips_suffix_case_insensitively ... ok
[INFO] [stdout] test model::tests::opusplan_switches_to_opus_in_plan_mode_under_200k ... ok
[INFO] [stdout] test model::tests::preserves_custom_model_case_without_suffix ... ok
[INFO] [stdout] test model::tests::resolves_haiku_alias ... ok
[INFO] [stdout] test model::tests::resolves_opus_alias_with_1m_suffix ... ok
[INFO] [stdout] test model::tests::resolves_best_alias_to_opus ... ok
[INFO] [stdout] test model::tests::resolves_sonnet_alias ... ok
[INFO] [stdout] test model::tests::resolves_opusplan_to_sonnet_outside_plan_mode ... ok
[INFO] [stdout] test model::tests::thinking_config_enabled_caps_budget_to_max_tokens_minus_1 ... ok
[INFO] [stdout] test model::tests::thinking_config_enabled_serializes_correctly ... ok
[INFO] [stdout] test model::tests::sonnet_4_6_supports_adaptive_thinking ... ok
[INFO] [stdout] test model::tests::usage_at_200k_threshold_returns_false ... ok
[INFO] [stdout] test model::tests::usage_above_200k_threshold_returns_true ... ok
[INFO] [stdout] test permission::tests::test_accept_edits_needs_confirmation_for_bash ... ok
[INFO] [stdout] test model::tests::thinking_config_disabled_returns_none ... ok
[INFO] [stdout] test permission::tests::test_always_allow_rule ... ok
[INFO] [stdout] test permission::tests::test_always_deny_rule ... ok
[INFO] [stdout] test permission::tests::test_accept_edits_allows_file_operations ... ok
[INFO] [stdout] test permission::tests::test_ask_rule_forces_confirmation ... ok
[INFO] [stdout] test permission::tests::test_ask_rule_with_path_pattern ... ok
[INFO] [stdout] test permission::tests::test_bypass_permissions_allows_all ... ok
[INFO] [stdout] test permission::tests::test_bypass_overrides_ask_to_allowed ... ok
[INFO] [stdout] test permission::tests::test_ask_rule_type_serde ... ok
[INFO] [stdout] test model::tests::thinking_config_adaptive_uses_max_tokens ... ok
[INFO] [stdout] test permission::tests::test_check_pattern_rule_without_command_falls_back_to_mode ... ok
[INFO] [stdout] test permission::tests::test_check_plan_mode_does_not_allow_write_even_with_allow_rule ... ok
[INFO] [stdout] test permission::tests::test_check_plan_mode_still_allows_read_only_allow_rule ... ok
[INFO] [stdout] test permission::tests::test_check_prioritizes_deny_over_allow ... ok
[INFO] [stdout] test permission::tests::test_check_wildcard_pattern_rule_matches_command ... ok
[INFO] [stdout] test permission::tests::test_combined_command_and_path_rule ... ok
[INFO] [stdout] test permission::tests::test_compact_string_both_patterns ... ok
[INFO] [stdout] test permission::tests::test_compact_string_with_pattern ... ok
[INFO] [stdout] test permission::tests::test_default_mode_allows_readonly ... ok
[INFO] [stdout] test permission::tests::test_default_mode_needs_confirmation_for_writes ... ok
[INFO] [stdout] test permission::tests::test_deny_takes_precedence_over_ask ... ok
[INFO] [stdout] test permission::tests::test_dont_ask_denies_all ... ok
[INFO] [stdout] test permission::tests::test_extract_file_path_bash_returns_none ... ok
[INFO] [stdout] test permission::tests::test_compact_string_simple ... ok
[INFO] [stdout] test permission::tests::test_extract_file_path_file_edit ... ok
[INFO] [stdout] test permission::tests::test_ask_takes_precedence_over_allow ... ok
[INFO] [stdout] test permission::tests::test_extract_file_path_file_read ... ok
[INFO] [stdout] test permission::tests::test_extract_file_path_file_write ... ok
[INFO] [stdout] test permission::tests::test_extract_file_path_no_field ... ok
[INFO] [stdout] test permission::tests::test_mode_from_str_unknown_fails ... ok
[INFO] [stdout] test permission::tests::test_manual_verification_path_glob_matching_and_non_matching ... ok
[INFO] [stdout] test permission::tests::test_mode_string_roundtrip ... ok
[INFO] [stdout] test permission::tests::test_parse_empty_string_fails ... ok
[INFO] [stdout] test permission::tests::test_parse_empty_tool_name_before_paren_fails ... ok
[INFO] [stdout] test permission::tests::test_parse_path_only_absolute ... ok
[INFO] [stdout] test permission::tests::test_parse_path_only_cwd_relative ... ok
[INFO] [stdout] test permission::tests::test_parse_path_only_home_relative ... ok
[INFO] [stdout] test permission::tests::test_parse_path_only_rule ... ok
[INFO] [stdout] test permission::tests::test_parse_roundtrip ... ok
[INFO] [stdout] test permission::tests::test_parse_rule_with_both_patterns ... ok
[INFO] [stdout] test permission::tests::test_parse_simple_tool_name ... ok
[INFO] [stdout] test permission::tests::test_parse_missing_closing_paren_fails ... ok
[INFO] [stdout] test permission::tests::test_parse_tool_name_only_no_parens ... ok
[INFO] [stdout] test permission::tests::test_parse_tool_with_pattern ... ok
[INFO] [stdout] test permission::tests::test_parse_with_complex_pattern ... ok
[INFO] [stdout] test permission::tests::test_path_rule_allow_matching_file ... ok
[INFO] [stdout] test permission::tests::test_path_rule_deny_matching_file ... ok
[INFO] [stdout] test permission::tests::test_path_rule_no_match_falls_through ... ok
[INFO] [stdout] test permission::tests::test_path_rule_parse_roundtrip ... ok
[INFO] [stdout] test permission::tests::test_compact_string_path_only ... ok
[INFO] [stdout] test permission::tests::test_path_rule_without_file_path_doesnt_match ... ok
[INFO] [stdout] test permission::tests::test_pattern_matching ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_add_rules ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_check_allowed ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_bypass_mode ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_check_delegates_to_mode ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_check_denied ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_check_needs_confirmation ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_default_path ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_deny_overrides_allow ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_new ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_load_nonexistent_file ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_plan_mode_allows_read ... ok
[INFO] [stdout] test permission::tests::test_permission_mode_serde ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_plan_mode_denies_write ... ok
[INFO] [stdout] test permission::tests::test_permission_rule_serde ... ok
[INFO] [stdout] test permission::tests::test_plan_mode_denies_writes ... ok
[INFO] [stdout] test permission::tests::test_plan_mode_allows_readonly ... ok
[INFO] [stdout] test permission::tests::test_pattern_rule_is_ignored_when_command_does_not_match ... ok
[INFO] [stdout] test permission::tests::test_resolve_project_relative ... ok
[INFO] [stdout] test permission::tests::test_pattern_rule_matches_command ... ok
[INFO] [stdout] test permission::tests::test_wildcard_rule ... ok
[INFO] [stdout] test permission::tests::test_plan_mode_overrides_ask_to_denied_for_writes ... ok
[INFO] [stdout] test session::tests::test_compact_boundary_event_roundtrip ... ok
[INFO] [stdout] test session::tests::test_assistant_message_event_roundtrip ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_save_load_with_ask_rules ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_save_and_load_roundtrip ... ok
[INFO] [stdout] test session::tests::test_permission_change_event_omits_empty_rules ... ok
[INFO] [stdout] test permission::tests::test_resolve_home_relative ... ok
[INFO] [stdout] test permission::tests::test_permission_manager_save_creates_parent_dirs ... ok
[INFO] [stdout] test permission::tests::test_resolve_absolute_path ... ok
[INFO] [stdout] test session::tests::test_session_end_event_roundtrip ... ok
[INFO] [stdout] test session::tests::test_header_event_roundtrip ... ok
[INFO] [stdout] test session::tests::test_session_summary_interrupted_default_false ... ok
[INFO] [stdout] test session::tests::test_session_summary_interrupted_true_roundtrip ... ok
[INFO] [stdout] test session::tests::test_usage_update_event_roundtrip ... ok
[INFO] [stdout] test settings::tests::test_apply_env_does_not_overwrite_existing ... ok
[INFO] [stdout] test settings::tests::test_apply_env_sets_missing_keys ... ok
[INFO] [stdout] test session::tests::test_permission_change_event_roundtrip ... ok
[INFO] [stdout] test settings::tests::test_load_file_without_env_field ... ok
[INFO] [stdout] test permission::tests::test_resolve_cwd_relative ... ok
[INFO] [stdout] test session::tests::test_unknown_event_type_is_tolerated_via_value ... ok
[INFO] [stdout] test session::tests::test_session_summary_not_interrupted_omits_field ... ok
[INFO] [stdout] test session::tests::test_user_message_event_roundtrip ... ok
[INFO] [stdout] test settings::tests::test_discover_project_settings_uses_git_boundary ... ok
[INFO] [stdout] test settings::tests::test_discover_project_local_settings ... ok
[INFO] [stdout] test settings::tests::test_load_project_no_settings_returns_none ... ok
[INFO] [stdout] test settings::tests::test_load_missing_file_returns_empty ... ok
[INFO] [stdout] test settings::tests::test_load_settings_with_mcp_servers ... ok
[INFO] [stdout] test settings::tests::test_load_project_local_only ... ok
[INFO] [stdout] test settings::tests::test_load_settings_with_hooks ... ok
[INFO] [stdout] test settings::tests::test_merge_hooks_different_events ... ok
[INFO] [stdout] test settings::tests::test_merge_hooks_same_event ... ok
[INFO] [stdout] test settings::tests::test_merge_mcp_servers_different_names ... ok
[INFO] [stdout] test settings::tests::test_load_settings_with_unsupported_mcp_transport ... ok
[INFO] [stdout] test settings::tests::test_load_project_local_overrides_shared ... ok
[INFO] [stdout] test settings::tests::test_load_valid_file ... ok
[INFO] [stdout] test settings::tests::test_load_settings_without_mcp_servers ... ok
[INFO] [stdout] test settings::tests::test_load_project_shared_only ... ok
[INFO] [stdout] test settings::tests::test_merge_mcp_servers_one_layer_empty ... ok
[INFO] [stdout] test settings::tests::test_merge_mcp_servers_project_overrides_user ... ok
[INFO] [stdout] test settings::tests::test_load_settings_without_hooks ... ok
[INFO] [stdout] test settings::tests::test_load_settings_with_remote_mcp_servers ... ok
[INFO] [stdout] test settings::tests::test_manual_verification_settings_local_model_override ... ok
[INFO] [stdout] test settings::tests::test_merge_preserves_user_deny_when_project_only_sets_allow ... ok
[INFO] [stdout] test settings::tests::test_parse_permissions ... ok
[INFO] [stdout] test settings::tests::test_merge_prefers_high_priority_fields ... ok
[INFO] [stdout] test state::tests::test_add_assistant_message_updates_most_recent_usage ... ok
[INFO] [stdout] test state::tests::test_app_state_new ... ok
[INFO] [stdout] test state::tests::test_backward_compat_todo_aliases ... ok
[INFO] [stdout] test state::tests::test_check_permission_uses_state_rules ... ok
[INFO] [stdout] test state::tests::test_from_config_copies_permission_and_model_settings ... ok
[INFO] [stdout] test state::tests::test_enter_plan_mode_is_idempotent_when_already_plan ... ok
[INFO] [stdout] test state::tests::test_plan_mode_transition_saves_and_restores_previous_mode ... ok
[INFO] [stdout] test state::tests::test_record_mcp_tool_usage_is_bounded_and_deduplicated ... ok
[INFO] [stdout] test state::tests::test_record_mcp_tool_usage_handles_server_name_with_double_underscores ... ok
[INFO] [stdout] test state::tests::test_record_permission_decisions_keeps_most_recent ... ok
[INFO] [stdout] test state::tests::test_task_cancelled_status_serde ... ok
[INFO] [stdout] test state::tests::test_update_tasks_all_cancelled_clears ... ok
[INFO] [stdout] test state::tests::test_add_message ... ok
[INFO] [stdout] test tool_types::tests::test_tool_result_builder ... ok
[INFO] [stdout] test tool_types::tests::test_tool_result_error ... ok
[INFO] [stdout] test tool_types::tests::test_tool_result_to_content_block ... ok
[INFO] [stdout] test tool_types::tests::test_tool_result_success ... ok
[INFO] [stdout] test tool_types::tests::test_tool_result_serde ... ok
[INFO] [stdout] test state::tests::test_update_tasks_all_completed_clears ... ok
[INFO] [stdout] test state::tests::test_update_tasks_mixed_keeps ... ok
[INFO] [stdout] test trust::tests::test_sibling_not_trusted ... ok
[INFO] [stdout] test trust::tests::test_explicit_trust ... ok
[INFO] [stdout] test state::tests::test_session_settings_serde ... ok
[INFO] [stdout] test trust::tests::test_trust_json_roundtrip ... ok
[INFO] [stdout] test trust::tests::test_untrusted_by_default ... ok
[INFO] [stdout] test trust::tests::test_home_directory_in_memory_only ... ok
[INFO] [stdout] test trust::tests::test_parent_inheritance ... ok
[INFO] [stdout] test state::tests::test_task_serde ... ok
[INFO] [stdout] test file_state_cache::tests::test_stale_after_external_modification ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 300 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/rust_claude_mcp-faab654f0fd9ee3b)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test jsonrpc::tests::test_check_response_error ... ok
[INFO] [stdout] test jsonrpc::tests::test_check_response_success ... ok
[INFO] [stdout] test jsonrpc::tests::test_parse_response_notification_is_none ... ok
[INFO] [stdout] test jsonrpc::tests::test_parse_response_invalid_json ... ok
[INFO] [stdout] test manager::tests::test_empty_manager ... ok
[INFO] [stdout] test jsonrpc::tests::test_parse_response_error ... ok
[INFO] [stdout] test manager::tests::test_manager_can_report_remote_disconnected_status ... ok
[INFO] [stdout] test manager::tests::test_qualified_tool_name_uses_mcp_prefix ... ok
[INFO] [stdout] test manager::tests::test_call_tool_not_found ... ok
[INFO] [stdout] test jsonrpc::tests::test_request_serialization ... ok
[INFO] [stdout] test manager::tests::test_disconnected_tool_call_error_is_server_not_connected ... ok
[INFO] [stdout] test jsonrpc::tests::test_read_message_eof ... ok
[INFO] [stdout] test jsonrpc::tests::test_read_message_missing_content_length ... ok
[INFO] [stdout] test jsonrpc::tests::test_write_and_read_message ... ok
[INFO] [stdout] test jsonrpc::tests::test_multiple_messages_in_stream ... ok
[INFO] [stdout] test manager::tests::test_reconnect_delay_uses_exponential_backoff ... ok
[INFO] [stdout] test protocol::tests::test_tools_call_result_success ... ok
[INFO] [stdout] test protocol::tests::test_tools_list_result_empty ... ok
[INFO] [stdout] test jsonrpc::tests::test_read_message_invalid_content_length ... ok
[INFO] [stdout] test jsonrpc::tests::test_parse_response_success ... ok
[INFO] [stdout] test jsonrpc::tests::test_write_and_read_json_rpc ... ok
[INFO] [stdout] test protocol::tests::test_initialize_result_deserialize ... ok
[INFO] [stdout] test protocol::tests::test_tool_definition_deserialize ... ok
[INFO] [stdout] test protocol::tests::test_tools_call_result_error ... ok
[INFO] [stdout] test transport::tests::test_http_transport_requires_url ... ok
[INFO] [stdout] test manager::tests::test_start_with_nonexistent_command ... ok
[INFO] [stdout] test manager::tests::test_start_with_empty_config ... ok
[INFO] [stdout] test manager::tests::test_start_with_unsupported_transport ... ok
[INFO] [stdout] test protocol::tests::test_tools_list_result_deserialize ... ok
[INFO] [stdout] test transport::tests::test_sse_transport_requires_url ... ok
[INFO] [stdout] test transport::tests::test_parse_sse_response_data_event ... ok
[INFO] [stdout] test transport::tests::test_parse_http_response_json_rpc_result ... ok
[INFO] [stdout] test transport::tests::test_stdio_transport_implements_transport_trait ... ok
[INFO] [stdout] test transport::tests::test_start_nonexistent_command ... ok
[INFO] [stdout] test manager::tests::test_failure_isolation_bad_server_does_not_block ... ok
[INFO] [stdout] test protocol::tests::test_client_uses_transport_trait_for_tools ... ok
[INFO] [stdout] test transport::tests::test_start_and_kill_process ... ok
[INFO] [stdout] test transport::tests::test_timeout_on_no_response ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_claude_sdk-2d3f80ee3f4ea975)
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test agent_loop::tests::test_build_request_uses_opus_for_opusplan_in_plan_mode ... ok
[INFO] [stdout] test agent_loop::tests::test_build_request_uses_sonnet_for_opusplan_when_last_usage_exceeds_200k ... ok
[INFO] [stdout] test agent_loop::tests::test_prompt_too_long_stage3_fails_after_exhaustion ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_allowed_tool_executes_normally ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_consumes_streamed_response ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_default_mode_needs_confirmation_auto_denies ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_denied_tool_returns_error_tool_result ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_ask_user_question_uses_ui_response ... ok
[INFO] [stdout] test agent_loop::tests::test_prompt_too_long_triggers_reactive_compaction ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_denies_monitor_command_before_spawn ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_forwards_system_prompt ... ok
[INFO] [stdout] test agent_loop::tests::test_session_persistence_receives_max_tokens_continuation_message ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_denies_mutating_tool_after_entering_plan_mode ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_registers_concurrency_safe_tool ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_passes_real_session_id_to_hooks ... ok
[INFO] [stdout] test compaction::tests::test_compact_if_needed_above_threshold ... ok
[INFO] [stdout] test compaction::tests::test_compact_if_needed_below_threshold ... ok
[INFO] [stdout] test compaction::tests::test_compact_includes_mcp_usage_when_available ... ok
[INFO] [stdout] test compaction::tests::test_compact_includes_project_guidance_when_available ... ok
[INFO] [stdout] test compaction::tests::test_compact_api_failure ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_executes_tool_and_returns_final_message ... ok
[INFO] [stdout] test agent_loop::tests::test_session_persistence_receives_user_and_assistant_messages ... ok
[INFO] [stdout] test compaction::tests::test_compact_omits_mcp_usage_when_unavailable ... ok
[INFO] [stdout] test compaction::tests::test_compact_success ... ok
[INFO] [stdout] test compaction::tests::test_compact_too_few_messages ... ok
[INFO] [stdout] test compaction::tests::test_micro_compact_idempotent ... ok
[INFO] [stdout] test compaction::tests::test_micro_compact_empty_messages ... ok
[INFO] [stdout] test compaction::tests::test_compact_bounds_recent_permission_decisions ... ok
[INFO] [stdout] test compaction::tests::test_micro_compact_leaves_text_and_thinking_untouched ... ok
[INFO] [stdout] test compaction::tests::test_micro_compact_preserves_recent_tool_results ... ok
[INFO] [stdout] test compaction::tests::test_compact_omits_project_guidance_when_unavailable ... ok
[INFO] [stdout] test agent_loop::tests::test_session_persistence_receives_tool_result_message ... ok
[INFO] [stdout] test compaction::tests::test_micro_compact_skips_error_tool_results ... ok
[INFO] [stdout] test hooks::tests::test_matcher_ignored_for_non_tool_events ... ok
[INFO] [stdout] test hooks::tests::test_empty_matcher_matches_all ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_supports_multiple_tool_rounds ... ok
[INFO] [stdout] test hooks::tests::test_matcher_matches_tool_name ... ok
[INFO] [stdout] test compaction::tests::test_micro_compact_clears_old_tool_results ... ok
[INFO] [stdout] test hooks::tests::test_matcher_does_not_match_different_tool ... ok
[INFO] [stdout] test hooks::tests::test_no_event_configured ... ok
[INFO] [stdout] test hooks::tests::test_no_matcher_matches_all ... ok
[INFO] [stdout] test hooks::tests::test_parse_approve_json ... ok
[INFO] [stdout] test hooks::tests::test_parse_block_json ... ok
[INFO] [stdout] test hooks::tests::test_parse_block_without_reason ... ok
[INFO] [stdout] test hooks::tests::test_parse_empty_json ... ok
[INFO] [stdout] test hooks::tests::test_parse_empty_stdout ... ok
[INFO] [stdout] test hooks::tests::test_parse_invalid_json ... ok
[INFO] [stdout] test hooks::tests::test_parse_exit_code_2_with_plain_text ... ok
[INFO] [stdout] test hooks::tests::test_hook_receives_env_vars ... ok
[INFO] [stdout] test hooks::tests::test_parse_non_object_updated_input_ignores_mutation ... ok
[INFO] [stdout] test hooks::tests::test_parse_updated_input_json ... ok
[INFO] [stdout] test hooks::tests::test_parse_exit_code_2_with_json_reason ... ok
[INFO] [stdout] test hooks::tests::test_once_hook_runs_only_once ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_no_matching_hooks ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_approve ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_block ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_hooks_use_updated_session_cwd_between_bash_calls ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_exit_code_2 ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_short_circuits_on_block ... ok
[INFO] [stdout] test hooks::tests::test_parse_exit_code_1_continues ... ok
[INFO] [stdout] test hooks::tests::test_run_post_tool_use ... ok
[INFO] [stdout] test hooks::tests::test_unsupported_type_skipped ... ok
[INFO] [stdout] test plugin::tests::test_discover_empty_dir ... ok
[INFO] [stdout] test plugin::tests::test_discover_with_invalid_manifest ... ok
[INFO] [stdout] test plugin::tests::test_parse_minimal_manifest ... ok
[INFO] [stdout] test plugin::tests::test_parse_full_manifest ... ok
[INFO] [stdout] test plugin::tests::test_reject_missing_name ... ok
[INFO] [stdout] test plugin::tests::test_reject_missing_version ... ok
[INFO] [stdout] test system_prompt::tests::test_build_environment_section ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_plan_mode_denies_write_tools ... ok
[INFO] [stdout] test hooks::tests::test_session_lifecycle_hooks_run ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_plan_mode_allows_read_tools ... ok
[INFO] [stdout] test hooks::tests::test_parse_exit_code_2_blocks ... ok
[INFO] [stdout] test system_prompt::tests::test_build_tool_section_empty_registry ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_executes_concurrency_safe_tools_in_parallel ... ok
[INFO] [stdout] test system_prompt::tests::test_build_system_prompt_contains_tools ... ok
[INFO] [stdout] test hooks::tests::test_run_user_prompt_submit ... ok
[INFO] [stdout] test system_prompt::tests::test_build_system_prompt_with_custom_append ... ok
[INFO] [stdout] test plugin::tests::test_project_overrides_user ... ok
[INFO] [stdout] test system_prompt::tests::test_build_system_prompt_contains_environment ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_updates_input_sequentially ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_prompt_ordering ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_rule_file_after_local ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_section_empty ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_rule_file_annotation ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_local_file_annotation ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_section_multiple_files ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_section_single_file ... ok
[INFO] [stdout] test hooks::tests::test_run_stop ... ok
[INFO] [stdout] test system_prompt::tests::test_claude_md_section_truncation ... ok
[INFO] [stdout] test system_prompt::tests::test_git_context_section_is_included ... ok
[INFO] [stdout] test system_prompt::tests::test_relevant_memory_section_is_included ... ok
[INFO] [stdout] test system_prompt::tests::test_memory_section_is_included ... ok
[INFO] [stdout] test system_prompt::tests::test_truncation_with_mixed_types ... ok
[INFO] [stdout] test system_prompt::tests::test_build_system_prompt_contains_core ... ok
[INFO] [stdout] test agent_loop::tests::test_query_loop_executes_non_concurrency_safe_tools_serially ... ok
[INFO] [stdout] test agent_loop::tests::test_overloaded_counter_resets_on_success ... ok
[INFO] [stdout] test hooks::tests::test_run_pre_tool_use_timeout ... ok
[INFO] [stdout] test agent_loop::tests::test_overloaded_backoff_and_retry ... ok
[INFO] [stdout] test agent_loop::tests::test_overloaded_fallback_model_switch ... ok
[INFO] [stdout] test agent_loop::tests::test_overloaded_no_fallback_continues_retrying ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.19s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_claude_tools-cab930fe6fb09cdb)
[INFO] [stdout] 
[INFO] [stdout] running 112 tests
[INFO] [stdout] test agent_tool::tests::test_custom_agent_applies_options_and_tool_intersection ... ok
[INFO] [stdout] test agent_tool::tests::test_custom_agent_tool_allowlist_cannot_be_broadened ... ok
[INFO] [stdout] test agent_tool::tests::test_nested_agent_uses_incremented_depth ... ok
[INFO] [stdout] test agent_tool::tests::test_missing_custom_agent_returns_error ... ok
[INFO] [stdout] test ask_user_question::tests::cancellation_returns_error_tool_result ... ok
[INFO] [stdout] test ask_user_question::tests::callback_can_select_option ... ok
[INFO] [stdout] test ask_user_question::tests::fallback_selects_first_option_without_callback ... ok
[INFO] [stdout] test ask_user_question::tests::missing_callback_without_options_returns_error_result ... ok
[INFO] [stdout] test agent_tool::tests::test_successful_agent_execution ... ok
[INFO] [stdout] test auto_memory::tests::parses_valid_auto_memory_candidate ... ok
[INFO] [stdout] test auto_memory::tests::rejects_unsafe_auto_memory_path ... ok
[INFO] [stdout] test agent_tool::tests::test_missing_agent_context_returns_tool_error_result ... ok
[INFO] [stdout] test ask_user_question::tests::schema_exposes_question_options_and_custom_flag ... ok
[INFO] [stdout] test bash::tests::test_bash_detects_dangerous_command ... ok
[INFO] [stdout] test ask_user_question::tests::invalid_input_rejects_empty_question ... ok
[INFO] [stdout] test bash::tests::test_cwd_marker_is_removed_from_visible_stderr ... ok
[INFO] [stdout] test bash::tests::test_invalid_final_directory_does_not_update_session_cwd ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_creates_new_file_when_old_string_empty ... ok
[INFO] [stdout] test bash::tests::test_bash_executes_simple_command ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_single_replace ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_rejects_non_unique_match_without_replace_all ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_allows_non_stale_file ... ok
[INFO] [stdout] test bash::tests::test_bash_timeout ... ok
[INFO] [stdout] test bash::tests::test_bash_starts_from_session_cwd_by_default ... ok
[INFO] [stdout] test bash::tests::test_bash_timeout_does_not_update_session_cwd ... ok
[INFO] [stdout] test file_read::tests::test_file_read_lists_directory ... ok
[INFO] [stdout] test file_write::tests::test_file_write_allows_unknown_file ... ok
[INFO] [stdout] test file_read::tests::test_file_read_reads_with_line_numbers ... ok
[INFO] [stdout] test file_read::tests::test_file_read_preserves_empty_lines ... ok
[INFO] [stdout] test glob::tests::test_glob_no_matches ... ok
[INFO] [stdout] test glob::tests::test_glob_missing_pattern ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_rejects_partial_view ... ok
[INFO] [stdout] test glob::tests::test_glob_recursive_pattern ... ok
[INFO] [stdout] test grep::tests::test_grep_content_mode ... ok
[INFO] [stdout] test ask_user_question::tests::callback_can_return_custom_answer ... ok
[INFO] [stdout] test grep::tests::test_grep_context_lines ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_replace_all ... ok
[INFO] [stdout] test file_edit::tests::test_file_edit_rejects_stale_file ... ok
[INFO] [stdout] test glob::tests::test_glob_mtime_sorting ... ok
[INFO] [stdout] test grep::tests::test_grep_no_matches ... ok
[INFO] [stdout] test agent_tool::tests::test_depth_limit_returns_error_result ... ok
[INFO] [stdout] test grep::tests::test_matches_file_type ... ok
[INFO] [stdout] test grep::tests::test_type_to_extensions ... ok
[INFO] [stdout] test lsp::language::tests::detects_languages ... ok
[INFO] [stdout] test bash::tests::test_bash_respects_workdir_and_updates_session_cwd ... ok
[INFO] [stdout] test file_write::tests::test_file_write_creates_parent_dirs ... ok
[INFO] [stdout] test glob::tests::test_glob_basic_pattern ... ok
[INFO] [stdout] test grep::tests::test_grep_case_insensitive ... ok
[INFO] [stdout] test grep::tests::test_grep_regex_pattern ... ok
[INFO] [stdout] test lsp::language::tests::discovers_server_commands ... ok
[INFO] [stdout] test mcp_proxy::tests::test_proxy_tool_info ... ok
[INFO] [stdout] test grep::tests::test_grep_missing_pattern ... ok
[INFO] [stdout] test grep::tests::test_grep_basic_search ... ok
[INFO] [stdout] test bash::tests::test_bash_cd_affects_later_commands ... ok
[INFO] [stdout] test lsp::transport::tests::start_nonexistent_server_fails ... ok
[INFO] [stdout] test grep::tests::test_grep_files_with_matches_mode ... ok
[INFO] [stdout] test grep::tests::test_grep_glob_filter ... ok
[INFO] [stdout] test grep::tests::test_grep_head_limit ... ok
[INFO] [stdout] test mcp_proxy::tests::test_proxy_tool_safety_defaults ... ok
[INFO] [stdout] test monitor::tests::test_monitor_truncates_by_capture_limit ... ok
[INFO] [stdout] test mcp_proxy::tests::test_register_mcp_tools_empty_manager ... ok
[INFO] [stdout] test lsp::protocol::tests::builds_requests ... ok
[INFO] [stdout] test mcp_proxy::tests::test_proxy_tool_execute_tool_not_found ... ok
[INFO] [stdout] test plan_mode::tests::test_enter_plan_mode_saves_previous_mode ... ok
[INFO] [stdout] test lsp::manager::tests::unsupported_language_errors ... ok
[INFO] [stdout] test plan_mode::tests::test_exit_plan_mode_restores_saved_mode_with_summary ... ok
[INFO] [stdout] test registry::tests::test_apply_tool_filters_matches_mcp_tool_names_exactly ... ok
[INFO] [stdout] test plan_mode::tests::test_exit_plan_mode_without_saved_mode_reports_no_active_transition ... ok
[INFO] [stdout] test registry::tests::test_list_sorted ... ok
[INFO] [stdout] test file_write::tests::test_file_write_rejects_stale_file ... ok
[INFO] [stdout] test registry::tests::test_register_and_get ... ok
[INFO] [stdout] test registry::tests::test_register_all_core_tools ... ok
[INFO] [stdout] test task_tool::tests::test_get_task ... ok
[INFO] [stdout] test task_tool::tests::test_invalid_command ... ok
[INFO] [stdout] test task_tool::tests::test_list_tasks_empty ... ok
[INFO] [stdout] test task_tool::tests::test_missing_app_state ... ok
[INFO] [stdout] test task_tool::tests::test_update_task ... ok
[INFO] [stdout] test todo_write::tests::test_todo_write_clears_when_all_completed ... ok
[INFO] [stdout] test todo_write::tests::test_todo_write_requires_app_state ... ok
[INFO] [stdout] test todo_write::tests::test_todo_write_updates_app_state ... ok
[INFO] [stdout] test web::fetch::tests::cache_hit_within_ttl ... ok
[INFO] [stdout] test registry::tests::test_execute_registered_tool ... ok
[INFO] [stdout] test web::fetch::tests::truncates_text ... ok
[INFO] [stdout] test monitor::tests::test_monitor_truncates_long_matched_line ... ok
[INFO] [stdout] test web::search::tests::dummy_backend_returns_result ... ok
[INFO] [stdout] test web_fetch_tool::tests::schema_requires_url ... ok
[INFO] [stdout] test web_search_tool::tests::brave_response_normalizes_results ... ok
[INFO] [stdout] test web::fetch::tests::strips_html ... ok
[INFO] [stdout] test grep::tests::test_grep_file_type_filter ... ok
[INFO] [stdout] test web_search_tool::tests::domain_filter_logic ... ok
[INFO] [stdout] test web_search_tool::tests::domain_filters_apply_to_backend_results ... ok
[INFO] [stdout] test web_search_tool::tests::live_brave_search_returns_results_when_configured ... ignored, requires BRAVE_SEARCH_API_KEY and live network
[INFO] [stdout] test web_search_tool::tests::malformed_brave_response_returns_error ... ok
[INFO] [stdout] test web_search_tool::tests::empty_results_returns_no_results_message ... ok
[INFO] [stdout] test web_search_tool::tests::missing_credentials_return_clear_error ... ok
[INFO] [stdout] test web_search_tool::tests::provider_errors_are_tool_errors ... ok
[INFO] [stdout] test web_search_tool::tests::success_formats_results ... ok
[INFO] [stdout] test lsp_tool::tests::schema_lists_operations ... ok
[INFO] [stdout] test mcp_proxy::tests::test_proxy_tool_naming_convention ... ok
[INFO] [stdout] test web::search::tests::dummy_backend_has_name ... ok
[INFO] [stdout] test plan_mode::tests::test_enter_plan_mode_when_already_plan_is_idempotent ... ok
[INFO] [stdout] test plan_mode::tests::test_exit_plan_mode_rejects_empty_summary ... ok
[INFO] [stdout] test task_tool::tests::test_create_task ... ok
[INFO] [stdout] test web_search_tool::tests::config_reads_provider_and_credentials_from_env ... ok
[INFO] [stdout] test web_search_tool::tests::schema_requires_query ... ok
[INFO] [stdout] test monitor::tests::test_monitor_reads_stderr ... ok
[INFO] [stdout] test notebook_edit_tool::tests::rejects_invalid_index ... ok
[INFO] [stdout] test monitor::tests::test_monitor_returns_matched_output_and_omitted_count ... ok
[INFO] [stdout] test bash::tests::test_bash_nonzero_exit_still_updates_session_cwd ... ok
[INFO] [stdout] test bash::tests::test_bash_truncates_long_output ... ok
[INFO] [stdout] test notebook_edit_tool::tests::replaces_existing_cell ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_claude_tui-f8339d14adf5457a)
[INFO] [stdout] test monitor::tests::test_monitor_timeout_returns_collected_matches ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 111 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 156 tests
[INFO] [stdout] test app::tests::test_command_registry_is_help_and_validation_source ... ok
[INFO] [stdout] test app::tests::test_cancel_during_tool_input_streaming_clears_tool_state ... ok
[INFO] [stdout] test app::tests::test_agents_command_sends_show_agents ... ok
[INFO] [stdout] test app::tests::test_doctor_and_review_commands_dispatch ... ok
[INFO] [stdout] test app::tests::test_ctrl_home_and_end_jump_chat_boundaries ... ok
[INFO] [stdout] test app::tests::test_compact_command_without_arg_sends_default_strategy ... ok
[INFO] [stdout] test app::tests::test_compact_command_with_unknown_strategy_shows_error ... ok
[INFO] [stdout] test app::tests::test_extract_diff_info_file_edit ... ok
[INFO] [stdout] test app::tests::test_cancel_during_text_streaming_clears_state ... ok
[INFO] [stdout] test app::tests::test_extract_diff_info_file_edit_replace_all ... ok
[INFO] [stdout] test app::tests::test_extract_diff_info_file_write ... ok
[INFO] [stdout] test app::tests::test_extract_diff_info_non_file_tool ... ok
[INFO] [stdout] test app::tests::test_handle_paste_preserves_multiline_content ... ok
[INFO] [stdout] test app::tests::test_input_buffer_multiline_insert_and_cursor ... ok
[INFO] [stdout] test app::tests::test_ctrl_c_cancels_stream_instead_of_quit ... ok
[INFO] [stdout] test app::tests::test_down_navigates_suggestions_instead_of_history ... ok
[INFO] [stdout] test app::tests::test_help_registry_contains_new_commands ... ok
[INFO] [stdout] test app::tests::test_iteration_30_commands_are_registered ... ok
[INFO] [stdout] test app::tests::test_context_export_and_copy_commands_dispatch ... ok
[INFO] [stdout] test app::tests::test_escape_clears_slash_input_even_when_suggestions_visible ... ok
[INFO] [stdout] test app::tests::test_backspace_and_paste_refresh_suggestions ... ok
[INFO] [stdout] test app::tests::test_cancel_during_thinking_streaming_preserves_thinking ... ok
[INFO] [stdout] test app::tests::test_input_buffer_word_navigation ... ok
[INFO] [stdout] test app::tests::test_memory_empty_store_response_displays_as_assistant ... ok
[INFO] [stdout] test app::tests::test_iteration_30_commands_route_to_user_commands ... ok
[INFO] [stdout] test app::tests::test_enter_executes_current_slash_input_without_applying_suggestion ... ok
[INFO] [stdout] test app::tests::test_compact_command_with_named_strategy ... ok
[INFO] [stdout] test app::tests::test_mouse_scroll_inside_suggestions_scrolls_overlay ... ok
[INFO] [stdout] test app::tests::test_enter_executes_exact_slash_command_without_extra_autocomplete_step ... ok
[INFO] [stdout] test app::tests::test_mouse_scroll_inside_suggestions_does_not_scroll_chat ... ok
[INFO] [stdout] test app::tests::test_memory_no_store_response_displays_as_assistant ... ok
[INFO] [stdout] test app::tests::test_memory_forget_without_args_shows_usage ... ok
[INFO] [stdout] test app::tests::test_overlay_area_matches_available_terminal_space ... ok
[INFO] [stdout] test app::tests::test_memory_unknown_subcommand_shows_usage ... ok
[INFO] [stdout] test app::tests::test_mode_command_sends_control_message ... ok
[INFO] [stdout] test app::tests::test_model_command_sends_control_message ... ok
[INFO] [stdout] test app::tests::test_mouse_scroll_up_moves_away_from_latest ... ok
[INFO] [stdout] test app::tests::test_mouse_scroll_down_returns_to_latest ... ok
[INFO] [stdout] test app::tests::test_permission_dialog_diff_scroll_bounds ... ok
[INFO] [stdout] test app::tests::test_memory_remember_without_args_shows_usage ... ok
[INFO] [stdout] test app::tests::test_memory_command_sends_show_memory ... ok
[INFO] [stdout] test app::tests::test_render_row_count_includes_group_headers_and_blank_separator ... ok
[INFO] [stdout] test app::tests::test_page_navigation_preserves_draft ... ok
[INFO] [stdout] test app::tests::test_page_down_scrolls_suggestions_without_changing_selection ... ok
[INFO] [stdout] test app::tests::test_session_picker_cancel_preserves_input ... ok
[INFO] [stdout] test app::tests::test_model_command_without_args_shows_setting_and_runtime ... ok
[INFO] [stdout] test app::tests::test_session_picker_navigation_and_confirm ... ok
[INFO] [stdout] test app::tests::test_selection_scrolls_immediately_after_first_hidden_row ... ok
[INFO] [stdout] test app::tests::test_slash_command_help_includes_new_commands ... ok
[INFO] [stdout] test app::tests::test_selection_auto_scrolls_when_moving_beyond_visible_window ... ok
[INFO] [stdout] test app::tests::test_mouse_scroll_outside_chat_area_does_not_scroll_chat ... ok
[INFO] [stdout] test app::tests::test_status_update_changes_displayed_model_and_mode ... ok
[INFO] [stdout] test app::tests::test_memory_forget_command_sends_payload ... ok
[INFO] [stdout] test app::tests::test_resume_without_args_opens_picker_and_requests_sessions ... ok
[INFO] [stdout] test app::tests::test_memory_remember_command_sends_payload ... ok
[INFO] [stdout] test app::tests::test_slash_commands_include_new_commands ... ok
[INFO] [stdout] test app::tests::test_slash_prefix_shows_suggestions ... ok
[INFO] [stdout] test app::tests::test_page_up_from_follow_output_moves_up_from_latest ... ok
[INFO] [stdout] test app::tests::test_slash_prefix_filters_suggestions ... ok
[INFO] [stdout] test app::tests::test_memory_populated_store_response_displays_as_assistant ... ok
[INFO] [stdout] test app::tests::test_truncate_does_not_split_multibyte_chars ... ok
[INFO] [stdout] test app::tests::test_resume_with_id_sends_resume_command ... ok
[INFO] [stdout] test app::tests::test_resume_blocks_while_streaming ... ok
[INFO] [stdout] test app::tests::test_user_question_cancel_sends_none ... ok
[INFO] [stdout] test app::tests::test_up_down_browse_history ... ok
[INFO] [stdout] test app::tests::test_session_list_empty_and_error_states ... ok
[INFO] [stdout] test app::tests::test_shift_tab_moves_suggestion_selection_backward ... ok
[INFO] [stdout] test app::tests::test_tab_toggles_selected_thinking_expansion ... ok
[INFO] [stdout] test app::tests::test_theme_without_args_lists_themes ... ok
[INFO] [stdout] test app::tests::test_theme_command_sends_control_message_and_updates_local_theme ... ok
[INFO] [stdout] test app::tests::test_user_question_custom_answer ... ok
[INFO] [stdout] test app::tests::test_user_question_selects_option ... ok
[INFO] [stdout] test app::tests::test_tab_applies_selected_suggestion_without_submit ... ok
[INFO] [stdout] test app::tests::test_truncate_handles_utf8_boundaries ... ok
[INFO] [stdout] test app::tests::test_thinking_complete_creates_message ... ok
[INFO] [stdout] test diff::tests::test_line_number_correctness ... ok
[INFO] [stdout] test bridge::tests::test_bridge_request_user_question ... ok
[INFO] [stdout] test bridge::tests::test_bridge_sends_stream_start ... ok
[INFO] [stdout] test diff::tests::test_render_diff_lines_styles ... ok
[INFO] [stdout] test diff::tests::test_render_file_preview_truncates ... ok
[INFO] [stdout] test diff::tests::test_render_file_preview_no_truncation_when_under_limit ... ok
[INFO] [stdout] test bridge::tests::test_bridge_sends_todo_update ... ok
[INFO] [stdout] test diff::tests::test_render_diff_lines_produces_output ... ok
[INFO] [stdout] test diff::tests::test_multi_line_addition ... ok
[INFO] [stdout] test diff::tests::test_empty_old_string ... ok
[INFO] [stdout] test bridge::tests::test_bridge_request_permission ... ok
[INFO] [stdout] test app::tests::test_shift_enter_inserts_newline ... ok
[INFO] [stdout] test app::tests::test_stream_start_reenables_streaming_after_tool_use_turn ... ok
[INFO] [stdout] test app::tests::test_sync_chat_viewport_preserves_history_view ... ok
[INFO] [stdout] test bridge::tests::test_bridge_sends_stream_delta ... ok
[INFO] [stdout] test events::tests::test_chat_message_prefix ... ok
[INFO] [stdout] test diff::tests::test_single_line_replacement ... ok
[INFO] [stdout] test streaming_markdown::tests::test_clear ... ok
[INFO] [stdout] test streaming_markdown::tests::test_heading_detection ... ok
[INFO] [stdout] test streaming_markdown::tests::test_heading_pending_line ... ok
[INFO] [stdout] test streaming_markdown::tests::test_inline_bold ... ok
[INFO] [stdout] test streaming_markdown::tests::test_inline_code ... ok
[INFO] [stdout] test app::tests::test_page_down_restores_follow_output_at_bottom ... ok
[INFO] [stdout] test streaming_markdown::tests::test_is_empty ... ok
[INFO] [stdout] test streaming_markdown::tests::test_line_cache_growth ... ok
[INFO] [stdout] test streaming_markdown::tests::test_multiple_paragraphs ... ok
[INFO] [stdout] test streaming_markdown::tests::test_ordered_list ... ok
[INFO] [stdout] test streaming_markdown::tests::test_inline_italic ... ok
[INFO] [stdout] test streaming_markdown::tests::test_push_delta_basic_text ... ok
[INFO] [stdout] test streaming_markdown::tests::test_push_delta_partial_line ... ok
[INFO] [stdout] test streaming_markdown::tests::test_render_pending_line_empty ... ok
[INFO] [stdout] test highlight::tests::test_alias_yml_to_yaml ... ok
[INFO] [stdout] test highlight::tests::test_alias_ts_to_javascript ... ok
[INFO] [stdout] test highlight::tests::test_alias_tsx_to_javascript ... ok
[INFO] [stdout] test highlight::tests::test_no_language_fallback ... ok
[INFO] [stdout] test highlight::tests::test_alias_jsx_to_javascript ... ok
[INFO] [stdout] test highlight::tests::test_alias_py_to_python ... ok
[INFO] [stdout] test highlight::tests::test_alias_toml_graceful_fallback ... ok
[INFO] [stdout] test highlight::tests::test_alias_js_to_javascript ... ok
[INFO] [stdout] test highlight::tests::test_alias_sh_to_shell ... ok
[INFO] [stdout] test highlight::tests::test_alias_bash_to_shell ... ok
[INFO] [stdout] test streaming_markdown::tests::test_render_pending_line_with_content ... ok
[INFO] [stdout] test streaming_markdown::tests::test_unordered_list ... ok
[INFO] [stdout] test tests::test_terminal_guard_type_exists ... ok
[INFO] [stdout] test theme::tests::test_bullet_style_fg ... ok
[INFO] [stdout] test theme::tests::test_tool_desc_style_is_bright ... ok
[INFO] [stdout] test theme::tests::test_assistant_bullet_is_small_dot ... ok
[INFO] [stdout] test theme::tests::test_light_text_is_dark ... ok
[INFO] [stdout] test theme::tests::test_tool_name_style_is_bold ... ok
[INFO] [stdout] test theme::tests::test_load_custom_palette_reports_missing_file ... ok
[INFO] [stdout] test theme::tests::test_dark_text_is_white ... ok
[INFO] [stdout] test theme::tests::test_load_custom_palette_reports_invalid_json ... ok
[INFO] [stdout] test theme::tests::test_load_custom_palette_rejects_invalid_color ... ok
[INFO] [stdout] test theme::tests::test_load_custom_palette ... ok
[INFO] [stdout] test ui::tests::test_format_model_display_name ... ok
[INFO] [stdout] test ui::tests::test_build_slash_suggestion_lines_respects_scroll_window ... ok
[INFO] [stdout] test ui::tests::test_format_tokens_millions ... ok
[INFO] [stdout] test highlight::tests::test_unsupported_language_fallback ... ok
[INFO] [stdout] test ui::tests::test_format_tokens_small ... ok
[INFO] [stdout] test ui::tests::test_render_markdown_message_uses_single_prefix_per_message ... ok
[INFO] [stdout] test ui::tests::test_build_slash_suggestion_lines_groups_commands_and_skills ... ok
[INFO] [stdout] test ui::tests::test_display_width_ascii ... ok
[INFO] [stdout] test ui::tests::test_format_tokens_thousands ... ok
[INFO] [stdout] test ui::tests::test_display_width_cjk ... ok
[INFO] [stdout] test ui::tests::test_parse_inline_spans_styles ... ok
[INFO] [stdout] test ui::tests::test_parse_markdown_heading_list_code ... ok
[INFO] [stdout] test ui::tests::test_tool_use_message_has_diff_field ... ok
[INFO] [stdout] test ui::tests::test_strip_ansi_codes_basic ... ok
[INFO] [stdout] test ui::tests::test_system_message_preserves_newlines ... ok
[INFO] [stdout] test streaming_markdown::tests::test_second_paragraph_uses_indent_not_second_prefix ... ok
[INFO] [stdout] test ui::tests::test_render_rows_include_group_headers_before_item_rows ... ok
[INFO] [stdout] test ui::tests::test_status_bar_includes_theme ... ok
[INFO] [stdout] test ui::tests::test_tool_use_diff_render_small ... ok
[INFO] [stdout] test ui::tests::test_tool_result_uses_dim_text_for_success ... ok
[INFO] [stdout] test ui::tests::test_tool_use_diff_large_would_truncate ... ok
[INFO] [stdout] test streaming_markdown::tests::test_render_pending_line_in_code_block ... ok
[INFO] [stdout] test highlight::tests::test_python_code_has_keyword_highlighting ... ok
[INFO] [stdout] test highlight::tests::test_rust_code_produces_distinct_colors ... ok
[INFO] [stdout] test streaming_markdown::tests::test_performance_500_lines ... ok
[INFO] [stdout] test ui::tests::test_code_block_has_syntax_highlighting ... ok
[INFO] [stdout] test streaming_markdown::tests::test_code_block_state_across_deltas ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 156 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rust_claude_api
[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 rust_claude_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 rust_claude_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 rust_claude_mcp
[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 rust_claude_sdk
[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 rust_claude_tools
[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 rust_claude_tui
[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" "450066ebe79ddfad0c951c66c79632b943915b5da0806f527f6524aaa5fd595f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "450066ebe79ddfad0c951c66c79632b943915b5da0806f527f6524aaa5fd595f", kill_on_drop: false }`
[INFO] [stdout] 450066ebe79ddfad0c951c66c79632b943915b5da0806f527f6524aaa5fd595f
