[INFO] cloning repository https://github.com/Ruddickmg/hermes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ruddickmg/hermes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddickmg%2Fhermes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddickmg%2Fhermes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1ceb276d80c1dd855660c4ea69713c6cff26a255 [INFO] testing Ruddickmg/hermes against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddickmg%2Fhermes" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Ruddickmg/hermes [INFO] finished tweaking git repo https://github.com/Ruddickmg/hermes [INFO] tweaked toml for git repo https://github.com/Ruddickmg/hermes written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Ruddickmg/hermes on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Ruddickmg/hermes already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1b62c93983e4d914ec4a8727c9a820645deef8870d16001374f26a5e5ec20f4f [INFO] running `Command { std: "docker" "start" "-a" "1b62c93983e4d914ec4a8727c9a820645deef8870d16001374f26a5e5ec20f4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1b62c93983e4d914ec4a8727c9a820645deef8870d16001374f26a5e5ec20f4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b62c93983e4d914ec4a8727c9a820645deef8870d16001374f26a5e5ec20f4f", kill_on_drop: false }` [INFO] [stdout] 1b62c93983e4d914ec4a8727c9a820645deef8870d16001374f26a5e5ec20f4f [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c5717757e8c9d60dfade1238b999f13d1236e2714e0b3a3301ad413cedde2c72 [INFO] running `Command { std: "docker" "start" "-a" "c5717757e8c9d60dfade1238b999f13d1236e2714e0b3a3301ad413cedde2c72", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling camino v1.2.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling mlua-sys v0.6.8 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling nvim-oxi v0.6.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling vte v0.14.1 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling strip-ansi-escapes v0.2.1 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling nvim-oxi-macros v0.6.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling mlua_derive v0.10.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling mlua v0.10.5 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling nvim-oxi-luajit v0.6.0 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling nvim-oxi-libuv v0.6.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cargo-platform v0.1.9 [INFO] [stderr] Compiling nvim-oxi-types v0.6.0 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling cargo_metadata v0.19.2 [INFO] [stderr] Compiling nvim-oxi-api v0.6.0 [INFO] [stderr] Compiling agent-client-protocol-schema v0.11.2 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling hermes v0.0.0-development (/opt/rustwide/workdir) [INFO] [stderr] Compiling agent-client-protocol v0.10.2 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s [INFO] running `Command { std: "docker" "inspect" "c5717757e8c9d60dfade1238b999f13d1236e2714e0b3a3301ad413cedde2c72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5717757e8c9d60dfade1238b999f13d1236e2714e0b3a3301ad413cedde2c72", kill_on_drop: false }` [INFO] [stdout] c5717757e8c9d60dfade1238b999f13d1236e2714e0b3a3301ad413cedde2c72 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f349b9db6003c0401fffd0047b3f665c87950663f25078a7902fa858d356dafd [INFO] running `Command { std: "docker" "start" "-a" "f349b9db6003c0401fffd0047b3f665c87950663f25078a7902fa858d356dafd", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling zerocopy-derive v0.8.42 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling mockall_derive v0.14.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling mockall v0.14.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling mlua v0.10.5 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling hermes v0.0.0-development (/opt/rustwide/workdir) [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling agent-client-protocol v0.10.2 [INFO] [stderr] Compiling downcast v0.11.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling jiff v0.2.20 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling fragile v2.0.1 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling nvim-oxi v0.6.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling env_logger v0.11.9 [INFO] [stdout] warning: unused import: `crate::utilities::logging::writer::LevelFilterWriter` [INFO] [stdout] --> src/utilities/logging/writer/stdio.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | use crate::utilities::logging::writer::LevelFilterWriter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/utilities/logging/writer/mod.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 115 | impl TrackingWriter { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn is_empty(&self) -> bool { [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 59.87s [INFO] running `Command { std: "docker" "inspect" "f349b9db6003c0401fffd0047b3f665c87950663f25078a7902fa858d356dafd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f349b9db6003c0401fffd0047b3f665c87950663f25078a7902fa858d356dafd", kill_on_drop: false }` [INFO] [stdout] f349b9db6003c0401fffd0047b3f665c87950663f25078a7902fa858d356dafd [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ad5572a25c73415c10c5bbbc974419c64ea4b916d65bc9eb88cbc710271bb95d [INFO] running `Command { std: "docker" "start" "-a" "ad5572a25c73415c10c5bbbc974419c64ea4b916d65bc9eb88cbc710271bb95d", kill_on_drop: false }` [INFO] [stderr] Compiling hermes v0.0.0-development (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `crate::utilities::logging::writer::LevelFilterWriter` [INFO] [stderr] --> src/utilities/logging/writer/stdio.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | use crate::utilities::logging::writer::LevelFilterWriter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `is_empty` is never used [INFO] [stderr] --> src/utilities/logging/writer/mod.rs:126:12 [INFO] [stderr] | [INFO] [stderr] 115 | impl TrackingWriter { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 126 | fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `hermes` (lib test) generated 2 warnings (run `cargo fix --lib -p hermes --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.16s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hermes-7e632f00d6518c63) [INFO] [stdout] [INFO] [stdout] running 314 tests [INFO] [stdout] test acp::connection::manager::tests::test_assistant_display ... ok [INFO] [stdout] test acp::connection::manager::tests::test_assistant_from_str_copilot_lowercase ... ok [INFO] [stdout] test acp::connection::manager::tests::test_assistant_from_str_copilot_uppercase ... ok [INFO] [stdout] test acp::connection::manager::tests::test_assistant_from_str_opencode_lowercase ... ok [INFO] [stdout] test acp::connection::manager::tests::test_assistant_from_str_unknown_creates_custom ... ok [INFO] [stdout] test acp::connection::manager::tests::test_protocol_display ... ok [INFO] [stdout] test acp::connection::manager::tests::test_protocol_from_str ... ok [INFO] [stdout] test nvim::api::connect::tests::test_assistant_custom_with_command ... ok [INFO] [stdout] test nvim::api::connect::tests::test_assistant_from_str_copilot ... ok [INFO] [stdout] test nvim::api::connect::tests::test_assistant_from_str_case_insensitive ... ok [INFO] [stdout] test nvim::api::connect::tests::test_assistant_from_str_opencode ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_explicit_http_url ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_explicit_http_name ... ok [INFO] [stdout] test acp::connection::tests::test_connection_create_session ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_explicit_stdio_command ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_display_sse ... ok [INFO] [stdout] test acp::connection::tests::test_connection_initialize ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_display_stdio ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_from_object_default ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_from_string_http ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_from_string_sse ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_from_string_stdio ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_explicit_sse_name ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_explicit_sse_url ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_explicit_stdio_name ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_from_string_unknown_defaults_to_stdio ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_display_http ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_round_trip_sse_url ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_round_trip_http_name ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_round_trip_stdio_command ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_round_trip_http_url ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_round_trip_stdio_name ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_readme_example_compliance ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_stdio_defaults_command ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_round_trip_sse_name ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_parse_assistant_string_case_insensitive ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_stdio_defaults_is_configuration ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_parse_assistant_string_copilot ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_stdio_defaults_name ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_stdio_defaults_server_count ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_disconnect_args_default_is_all ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_nil_creates_default_config ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_absolute_cwd ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_alphanumeric_cursor ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_base64_like_cursor ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_parse_assistant_string_opencode ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_empty_dict_creates_default_config ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_ignores_unknown_fields ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_parse_assistant_string_invalid ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_both_fields_parses_correctly ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_empty_cursor ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_invalid_type_returns_error ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_only_unknown_fields_is_default ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_relative_cwd ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_very_long_cursor ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_special_characters_in_cursor ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_nested_path ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_special_characters_in_path ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_windows_cwd ... ok [INFO] [stdout] test nvim::api::load_session::tests::test_config_default_has_cwd ... ok [INFO] [stdout] test nvim::api::load_session::tests::test_config_with_custom_cwd ... ok [INFO] [stdout] test nvim::api::load_session::tests::test_tuple_type_alias_exists ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_display_http ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_display_sse ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_display_stdio ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_from_string_http ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_from_string_sse ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_known_values_parsed_correctly ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_from_string_stdio ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_from_string_unknown_defaults_to_stdio ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_explicit_http_name ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_explicit_http_url ... ok [INFO] [stdout] test nvim::api::connect::tests::test_known_agents_parsed_correctly ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_explicit_sse_url ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_explicit_stdio_name ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_stdio_command ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_explicit_stdio_command ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_stdio_defaults_is_configuration ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_explicit_sse_name ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_parse_stdio_name ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_readme_example_compliance ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_from_str_never_panics ... ok [INFO] [stdout] test acp::connection::manager::tests::test_assistant_from_str_roundtrip ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_convert_audio_to_content_block ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_convert_embedded_to_content_block ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_known_values_parsed_correctly ... ok [INFO] [stdout] test nvim::api::connect::tests::test_assistant_from_str_never_panics ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_convert_image_with_uri_to_content_block ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_convert_link_to_content_block ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_convert_text_to_content_block ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_multiple_content_into_vec ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_audio_missing_data_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_audio_missing_mime_type_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_audio_success ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_blob_resource_success ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_convert_image_without_uri_to_content_block ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_blob_with_mime_type ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_missing_resource_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_missing_uri_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_missing_text_and_blob_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_text_resource_success ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_embedded_text_with_mime_type ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_image_missing_data_error ... ok [INFO] [stdout] test nvim::api::create_session::session_args_tests::test_mcp_server_type_unknown_defaults_to_stdio ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_image_missing_mime_type_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_image_with_uri ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_link_missing_name_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_image_success ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_link_missing_uri_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_link_success ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_link_with_optional_fields ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_disconnect_args_pushable_roundtrip ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_prompt_content_invalid_type_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_prompt_content_multiple ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_prompt_content_single ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_text_missing_text_field_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_text_missing_type_field_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_text_success ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_parse_unknown_type_error ... ok [INFO] [stdout] test nvim::api::prompt::tests::test_single_content_into_vec ... ok [INFO] [stdout] test nvim::autocommands::tests::test_commands_from_str_basic_variants ... ok [INFO] [stdout] test nvim::configuration::buffer::tests::test_buffer_partial_apply_to_preserves_when_none ... ok [INFO] [stdout] test nvim::configuration::buffer::tests::test_buffer_partial_from_object_empty_dict ... ok [INFO] [stdout] test nvim::configuration::buffer::tests::test_buffer_partial_from_object_parses_correctly ... ok [INFO] [stdout] test nvim::api::disconnect::tests::test_disconnect_args_from_str_roundtrip ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_config_partial_apply_to_preserves_untouched ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_config_partial_apply_to_stdio_level ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_config_partial_apply_to_stdio_format ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_file_config_partial_apply_to_level ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_file_config_partial_apply_to_max_files ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_file_config_partial_apply_to_format ... ok [INFO] [stdout] test nvim::configuration::buffer::tests::test_buffer_partial_apply_to_updates_specified ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_file_config_partial_apply_to_path ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_from_str_never_panics ... ok [INFO] [stdout] test nvim::configuration::permissions::tests::test_permissions_custom_values ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_target_config_partial_apply_partial_preserves_untouched ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_target_config_partial_apply_partial_updates_provided ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_file_config_partial_apply_to_max_size ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_target_config_partial_apply_to_format ... ok [INFO] [stdout] test nvim::configuration::log::tests::test_log_target_config_partial_apply_to_level ... ok [INFO] [stdout] test nvim::configuration::permissions::tests::test_permissions_default_all_true ... ok [INFO] [stdout] test nvim::configuration::terminal::tests::test_terminal_partial_from_object_empty_dict ... ok [INFO] [stdout] test nvim::configuration::terminal::tests::test_terminal_partial_from_object_handles_missing_fields ... ok [INFO] [stdout] test nvim::configuration::terminal::tests::test_terminal_partial_apply_to_updates_all_fields ... ok [INFO] [stdout] test nvim::configuration::terminal::tests::test_terminal_partial_apply_to_updates_specified ... ok [INFO] [stdout] test nvim::configuration::terminal::tests::test_terminal_partial_from_object_parses_correctly ... ok [INFO] [stdout] test nvim::configuration::terminal::tests::test_terminal_partial_apply_to_preserves_all_when_none ... ok [INFO] [stdout] test acp::connection::manager::tests::test_protocol_from_str_roundtrip ... ok [INFO] [stdout] test nvim::configuration::tests::test_client_config_partial_apply_to_preserves_all_when_none ... ok [INFO] [stdout] test nvim::configuration::tests::test_client_config_partial_apply_to_updates_nested ... ok [INFO] [stdout] test nvim::configuration::tests::test_client_config_partial_from_object_parses_empty_dict ... ok [INFO] [stdout] test nvim::configuration::tests::test_client_config_partial_from_object_parses_full_config ... ok [INFO] [stdout] test nvim::configuration::tests::test_dict_from_object_dictionary_passes_through ... ok [INFO] [stdout] test nvim::configuration::tests::test_dict_from_object_empty_array_returns_empty_dict ... ok [INFO] [stdout] test nvim::configuration::tests::test_dict_from_object_non_empty_array_returns_error ... ok [INFO] [stdout] test nvim::parse::communication::tests::test_communication_text ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_dictionary_exit_code_only ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_dictionary_signal_only ... ok [INFO] [stdout] test nvim::configuration::tests::test_dict_from_object_nil_returns_error ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_dictionary_with_both_fields ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_exit_code_128_plus_range ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_exit_code_integer ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_exit_code_zero ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_negative_signal_number ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_accepts_signal_string ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_handles_empty_dictionary_signal ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_handles_empty_signal_string ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_accepts_dictionary_with_output_field ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_handles_unknown_negative_signal ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_accepts_dictionary_with_truncated_false ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_accepts_dictionary_with_truncated_true ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_accepts_empty_string ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_accepts_plain_string ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_rejects_invalid_truncated_type ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_terminal_create_maps_to_terminal_create_command ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_permission_maps_to_permission_request_command ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_read_file_maps_to_read_text_file_command ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_exit_response_handles_unknown_128_plus_range ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_rejects_missing_output_field ... ok [INFO] [stdout] test nvim::requests::request::tests::parse_terminal_output_rejects_invalid_output_type ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_terminal_exit_maps_to_terminal_exit_command ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_terminal_kill_maps_to_terminal_kill_command ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_terminal_output_maps_to_terminal_output_command ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_write_file_maps_to_write_text_file_command ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_get_output_returns_none_for_missing_terminal ... ok [INFO] [stdout] test nvim::requests::request::tests::responder_terminal_release_maps_to_terminal_release_command ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_initialize_terminal_adds_terminal ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_notify_when_finished_fails_for_missing_terminal ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_notify_when_finished_registers_sender ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_default_creates_empty_manager ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_get_output_returns_terminal_content ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_release_fails_for_missing_terminal ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_get_terminal_returns_none_for_missing_id ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_release_removes_and_closes_terminal ... ok [INFO] [stdout] test nvim::terminal::manager::tests::terminal_manager_new_creates_empty_manager ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_returns_sigint_for_code_2 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_handles_all_standard_signals ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_returns_sigkill_for_code_9 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_returns_none_for_code_0 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_returns_sigterm_for_code_15 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_handles_exit_code_128 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_returns_none_for_code_32 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::map_codes_returns_none_for_unknown_code ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_handles_negative_1 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_handles_large_negative_number ... ok [INFO] [stdout] test nvim::configuration::permissions::tests::test_permissions_roundtrip ... ok [INFO] [stdout] test nvim::api::mcp_servers::tests::test_mcp_server_type_unknown_defaults_to_stdio ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_none_for_exit_code_0 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_none_for_normal_exit ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_signal_for_128_plus_range ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_none_for_unknown_signal_in_128_range ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_none_and_signal_for_negative_sigkill ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_signal_for_130 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_none_for_exit_code_127 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_exit_code_and_none_for_exit_code_1 ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_none_and_signal_for_negative_sigterm ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_none_and_unknown_for_negative_unknown_signal ... ok [INFO] [stdout] test nvim::terminal::signal::tests::parse_exit_code_returns_none_and_unknown_for_too_large_number ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_maps_exit_code_128_plus_range_to_signal ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_maps_exit_code_zero_to_normal_exit ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_maps_negative_signal_code_to_signal_name ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_sends_immediately_when_sender_available ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_maps_unknown_signal_to_generic_name ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_maps_sigint_negative_code ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_handles_emoji_only_content ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_handles_exact_char_boundary ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_handles_emoji_only_content_respects_limit ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_handles_emoji_only_content_sets_truncated_flag ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_joins_lines_with_newlines ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_handles_exact_char_boundary_sets_truncated_flag ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_sets_truncated_flag_when_over_limit ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_truncates_multibyte_utf8_respects_limit ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_strips_ansi_codes ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_truncates_multibyte_utf8_safely ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_truncates_multibyte_utf8_sets_truncated_flag ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_does_not_truncate_when_no_limit ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_stores_status_when_no_sender ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::handle_exit_maps_sigkill_negative_code ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_does_not_truncate_when_under_limit ... ok [INFO] [stdout] test nvim::terminal::terminal::tests::process_input_truncates_when_over_byte_limit ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_crlf_last_line_no_ending ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_end_zero_returns_empty ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_full_file ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_nonexistent_file_errors ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_empty_lines_with_crlf ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_empty_file ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_crlf_line_counting_is_accurate ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_handles_mixed_line_endings ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_invalid_range_errors ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_preserves_unix_lf ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_with_end_line ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_normalizes_windows_crlf ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_with_start_line ... ok [INFO] [stdout] test utilities::file::tests::read_file_content_with_start_and_end ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_empty_shutdown ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_worker_death_graceful ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_empty_message ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_with_null_sink ... ok [INFO] [stdout] test utilities::logging::file::tests::test_max_files_limit ... ok [INFO] [stdout] test utilities::logging::file::tests::test_size_based_rotation ... ok [INFO] [stdout] test utilities::logging::file::tests::test_zero_max_files ... ok [INFO] [stdout] test utilities::logging::sink::file::tests::test_file_sink_empty_batch ... ok [INFO] [stdout] test utilities::logging::sink::tests::test_null_sink ... ok [INFO] [stdout] test utilities::logging::sink::file::tests::test_file_sink_write_batch ... ok [INFO] [stdout] test utilities::logging::tests::test_log_level_from_i64_known_values ... ok [INFO] [stdout] test nvim::api::prompt::tests::proptest_conversions::test_parse_text_from_lua_never_panics ... ok [INFO] [stdout] test utilities::logging::tests::test_log_level_from_str_known_values ... ok [INFO] [stdout] test nvim::api::prompt::tests::proptest_conversions::test_parse_single_content_from_lua_never_panics ... ok [INFO] [stdout] test utilities::logging::tests::test_log_level_into_level_filter ... ok [INFO] [stdout] test utilities::logging::writer::file::tests::test_file_writer_clone ... ok [INFO] [stdout] test utilities::logging::writer::file::tests::test_file_writer_dropped_count_initially_zero ... ok [INFO] [stdout] test utilities::logging::tests::test_log_level_from_i64_roundtrip ... ok [INFO] [stdout] test utilities::logging::writer::file::tests::test_file_writer_new ... ok [INFO] [stdout] test utilities::logging::tests::test_log_level_from_str_roundtrip ... ok [INFO] [stdout] test nvim::api::prompt::tests::proptest_conversions::test_parse_link_from_lua_never_panics ... ok [INFO] [stdout] test utilities::logging::writer::stdio::tests::test_stdout_writer_empty_write_returns_success ... ok [INFO] [stdout] test utilities::logging::writer::stdio::tests::test_stdout_writer_empty_write_returns_zero ... ok [INFO] [stdout] test utilities::logging::writer::stdio::tests::test_stdout_writer_flush ... ok [INFO] [stdout] test through filtered writertest utilities::logging::writer::stdio::tests::test_stdout_writer_implements_filtered ... ok [INFO] [stdout] testtest utilities::logging::writer::stdio::tests::test_stdout_writer_write_returns_correct_count ... ok [INFO] [stdout] testtest utilities::logging::writer::stdio::tests::test_stdout_writer_write_returns_success ... ok [INFO] [stdout] test utilities::logging::writer::tests::test_filtered_trait_creates_level_filter_writer ... ok [INFO] [stdout] test utilities::logging::writer::tests::test_make_writer_returns_valid_writer ... ok [INFO] [stdout] test utilities::logging::writer::tests::test_maybe_writer_discards_when_inner_is_none ... ok [INFO] [stdout] test utilities::logging::writer::tests::test_maybe_writer_with_none_discards_all_data ... ok [INFO] [stdout] test utilities::logging::writer::tests::test_maybe_writer_writes_when_inner_is_some ... ok [INFO] [stdout] test utilities::project::get_project_root_tests::test_get_project_root_current_dir ... ok [INFO] [stdout] test utilities::project::get_project_root_tests::test_get_project_root_grandparent_dir ... ok [INFO] [stdout] test utilities::project::get_project_root_tests::test_get_project_root_handles_nonexistent_start_dir ... ok [INFO] [stdout] test utilities::logging::tests::test_log_format_from_str_roundtrip ... ok [INFO] [stdout] test utilities::project::get_project_root_tests::test_get_project_root_multiple_markers ... ok [INFO] [stdout] test utilities::project::get_project_root_tests::test_get_project_root_parent_dir ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_permission_prompt_from_expected_set ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_permission_prompt_returns_string ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_permission_prompt_variety ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_random_element_empty_returns_none ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_random_element_selects_from_list ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_random_element_with_single_element ... ok [INFO] [stdout] test utilities::prompt::tests::test_get_random_element_with_two_elements ... ok [INFO] [stdout] test utilities::project::get_project_root_tests::test_get_project_root_no_marker_returns_start_dir ... ok [INFO] [stdout] test nvim::autocommands::tests::test_commands_from_str_unknown_command_panics - should panic ... ok [INFO] [stdout] test nvim::api::prompt::tests::proptest_conversions::test_parse_multiple_content_from_lua_never_panics ... ok [INFO] [stdout] test utilities::logging::writer::file::tests::test_file_writer_flush_triggers_file_write ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_various_cursors ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_various_cwd_paths ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_clone_shares_channel ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_flush_triggers_sink_flush ... ok [INFO] [stdout] test utilities::logging::writer::file::tests::test_file_writer_shutdown_terminates_worker ... ok [INFO] [stdout] test nvim::api::list_sessions::tests::test_from_object_with_both_fields ... ok [INFO] [stdout] test utilities::logging::writer::file::tests::test_file_writer_write ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_timeout_flush ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_batches_messages ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_tracks_all_messages ... ok [INFO] [stdout] test utilities::logging::channel::tests::test_channel_writer_concurrent_writes_safe ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 314 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s [INFO] [stdout] [INFO] [stderr] Doc-tests hermes [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/utilities/logging/writer/file.rs - utilities::logging::writer::file::FileWriter (line 133) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/utilities/logging/writer/file.rs - utilities::logging::writer::file::FileWriter (line 133) stdout ---- [INFO] [stdout] error[E0433]: cannot find type `FileWriter` in this scope [INFO] [stdout] --> src/utilities/logging/writer/file.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | let writer = FileWriter::new("/var/log/app.log", 10_000_000, 5)?; [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `FileWriter` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 133 + use hermes::utilities::writer::FileWriter; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: cannot find module or crate `fmt` in this scope [INFO] [stdout] --> src/utilities/logging/writer/file.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let layer = fmt::layer().with_writer(move || writer.clone()); [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `fmt` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `fmt`, use `cargo add fmt` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 133 + use tracing_subscriber::fmt; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/utilities/logging/writer/file.rs - utilities::logging::writer::file::FileWriter (line 133) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.33s; merged doctests compilation took 0.16s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "ad5572a25c73415c10c5bbbc974419c64ea4b916d65bc9eb88cbc710271bb95d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad5572a25c73415c10c5bbbc974419c64ea4b916d65bc9eb88cbc710271bb95d", kill_on_drop: false }` [INFO] [stdout] ad5572a25c73415c10c5bbbc974419c64ea4b916d65bc9eb88cbc710271bb95d