[INFO] cloning repository https://github.com/Mark-Wells-Dev/Catenary
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mark-Wells-Dev/Catenary" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMark-Wells-Dev%2FCatenary", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMark-Wells-Dev%2FCatenary'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6858614234a96ed4e531c2c3f430e6cf984dce60
[INFO] testing Mark-Wells-Dev/Catenary against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMark-Wells-Dev%2FCatenary" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Mark-Wells-Dev/Catenary
[INFO] finished tweaking git repo https://github.com/Mark-Wells-Dev/Catenary
[INFO] tweaked toml for git repo https://github.com/Mark-Wells-Dev/Catenary written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mark-Wells-Dev/Catenary on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mark-Wells-Dev/Catenary 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c0e6d70e6e495dbe59c764070f0eef4d75af57b0a3e5a81e974c77ca9f2ddd28
[INFO] running `Command { std: "docker" "start" "-a" "c0e6d70e6e495dbe59c764070f0eef4d75af57b0a3e5a81e974c77ca9f2ddd28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c0e6d70e6e495dbe59c764070f0eef4d75af57b0a3e5a81e974c77ca9f2ddd28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0e6d70e6e495dbe59c764070f0eef4d75af57b0a3e5a81e974c77ca9f2ddd28", kill_on_drop: false }`
[INFO] [stdout] c0e6d70e6e495dbe59c764070f0eef4d75af57b0a3e5a81e974c77ca9f2ddd28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86555a40155cb6d45704ffeb8503ded6722b7e4373fd8dc7c2dbebd33fe5f5b3
[INFO] running `Command { std: "docker" "start" "-a" "86555a40155cb6d45704ffeb8503ded6722b7e4373fd8dc7c2dbebd33fe5f5b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling erased-serde v0.4.9
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.32.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling grep-matcher v0.1.8
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling yaml-rust2 v0.10.4
[INFO] [stderr]    Compiling serde-untagged v0.1.9
[INFO] [stderr]    Compiling fluent-uri v0.1.4
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rust-ini v0.21.3
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling catenary-mcp v1.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling catenary-proc v0.1.0 (/opt/rustwide/workdir/crates/catenary-proc)
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling grep-searcher v0.1.16
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling catenary-ts v0.1.0 (/opt/rustwide/workdir/crates/catenary-ts)
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling grep-regex v0.1.14
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling ron v0.12.0
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling lsp-types v0.97.0
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling config v0.15.19
[INFO] [stderr]    Compiling rusqlite v0.34.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "86555a40155cb6d45704ffeb8503ded6722b7e4373fd8dc7c2dbebd33fe5f5b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86555a40155cb6d45704ffeb8503ded6722b7e4373fd8dc7c2dbebd33fe5f5b3", kill_on_drop: false }`
[INFO] [stdout] 86555a40155cb6d45704ffeb8503ded6722b7e4373fd8dc7c2dbebd33fe5f5b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 72eafbe3ba1e9eb5e7ac6e25224c4dd2bd6b284b7ed1b2fb0dd84240437353c3
[INFO] running `Command { std: "docker" "start" "-a" "72eafbe3ba1e9eb5e7ac6e25224c4dd2bd6b284b7ed1b2fb0dd84240437353c3", kill_on_drop: false }`
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling config v0.15.19
[INFO] [stderr]    Compiling catenary-mcp v1.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 30.28s
[INFO] running `Command { std: "docker" "inspect" "72eafbe3ba1e9eb5e7ac6e25224c4dd2bd6b284b7ed1b2fb0dd84240437353c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72eafbe3ba1e9eb5e7ac6e25224c4dd2bd6b284b7ed1b2fb0dd84240437353c3", kill_on_drop: false }`
[INFO] [stdout] 72eafbe3ba1e9eb5e7ac6e25224c4dd2bd6b284b7ed1b2fb0dd84240437353c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e45c910416cfba52db1b664bff96976392e3e5da47e9d89374d6ca2f14dad220
[INFO] running `Command { std: "docker" "start" "-a" "e45c910416cfba52db1b664bff96976392e3e5da47e9d89374d6ca2f14dad220", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/catenary_mcp-aadc6fa1192998c4)
[INFO] [stdout] 
[INFO] [stdout] running 350 tests
[INFO] [stdout] test bridge::document_manager::tests::test_language_detection ... ok
[INFO] [stdout] test bridge::handler::tests::test_display_path_no_matching_root ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_empty ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_dbscan_nearby ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_unsorted ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_consecutive ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_dbscan_far_apart ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_dbscan_mixed ... ok
[INFO] [stdout] test bridge::document_manager::tests::test_path_to_uri ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_mixed ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_disjoint ... ok
[INFO] [stdout] test bridge::handler::tests::test_display_path_strips_root ... ok
[INFO] [stdout] test bridge::path_security::tests::test_read_config_file_allowed ... ok
[INFO] [stdout] test bridge::path_security::tests::test_symlink_within_root_succeeds ... ok
[INFO] [stdout] test bridge::path_security::tests::test_read_within_root_succeeds ... ok
[INFO] [stdout] test bridge::path_security::tests::test_multiple_roots ... ok
[INFO] [stdout] test bridge::document_manager::tests::test_open_document ... ok
[INFO] [stdout] test bridge::document_manager::tests::test_already_open_no_change ... ok
[INFO] [stdout] test bridge::document_manager::tests::test_close_document ... ok
[INFO] [stdout] test bridge::path_security::tests::test_read_subdirectory_succeeds ... ok
[INFO] [stdout] test bridge::path_security::tests::test_update_roots ... ok
[INFO] [stdout] test bridge::path_security::tests::test_read_path_traversal_outside_root_fails ... ok
[INFO] [stdout] test bridge::path_security::tests::test_read_nonexistent_fails ... ok
[INFO] [stdout] test bridge::path_security::tests::test_read_outside_root_fails ... ok
[INFO] [stdout] test bridge::path_security::tests::test_symlink_outside_root_fails ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_symbol_references_excludes_def ... ok
[INFO] [stdout] test bridge::path_security::tests::test_write_new_file_in_new_subdir_within_root ... ok
[INFO] [stdout] test bridge::path_security::tests::test_write_outside_root_fails ... ok
[INFO] [stdout] test cli::tests::test_calculate_column_widths_shrinks ... ok
[INFO] [stdout] test bridge::path_security::tests::test_write_within_root_succeeds ... ok
[INFO] [stdout] test cli::tests::test_calculate_column_widths_wide ... ok
[INFO] [stdout] test cli::tests::test_color_config_disabled ... ok
[INFO] [stdout] test cli::tests::test_calculate_column_widths ... ok
[INFO] [stdout] test cli::tests::test_truncate_long_string ... ok
[INFO] [stdout] test bridge::path_security::tests::test_write_new_file_within_root_succeeds ... ok
[INFO] [stdout] test bridge::path_security::tests::test_write_config_file_rejected ... ok
[INFO] [stdout] test cli::tests::test_truncate_short_string ... ok
[INFO] [stdout] test cli::tests::test_truncate_edge_cases ... ok
[INFO] [stdout] test bridge::handler::tests::test_format_line_ranges_single ... ok
[INFO] [stdout] test config::tests::test_config_load_local ... ok
[INFO] [stdout] test bridge::document_manager::tests::test_document_changed_on_disk ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::drops_standalone_to_override_with_allow ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::drops_standalone_w_flag_implied_by ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::known_version_check ... ok
[INFO] [stdout] test db::tests::test_foreign_keys_enabled ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::passthrough_for_unknown_version ... ok
[INFO] [stdout] test db::tests::test_open_creates_db_file ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::preserves_multiline_clean_message ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::strips_clippy_url ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::strips_lint_attribution_implied_by ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::strips_lint_attribution_on_by_default ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::strips_lint_attribution_to_override ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::strips_multiple_noise_lines ... ok
[INFO] [stdout] test filter::tests::default_filter_passes_through ... ok
[INFO] [stdout] test filter::tests::diagnostic_code_from_lsp ... ok
[INFO] [stdout] test filter::tests::get_filter_returns_default_for_unknown ... ok
[INFO] [stdout] test filter::tests::get_filter_returns_rust_analyzer ... ok
[INFO] [stdout] test filter::tests::parse_severity_invalid ... ok
[INFO] [stdout] test filter::tests::parse_severity_valid ... ok
[INFO] [stdout] test filter::tests::severity_passes_threshold ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::drops_standalone_to_override_with_warn ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::passthrough_for_no_version ... ok
[INFO] [stdout] test filter::rust_analyzer::tests::preserves_clean_message ... ok
[INFO] [stdout] test db::tests::test_wal_mode ... ok
[INFO] [stdout] test install::tests::test_resolve_spec_bare_name ... ok
[INFO] [stdout] test install::tests::test_resolve_spec_full_url ... ok
[INFO] [stdout] test install::tests::test_resolve_spec_owner_repo ... ok
[INFO] [stdout] test lsp::diagnostics::tests::token_monitor_active_when_busy ... ok
[INFO] [stdout] test lsp::diagnostics::tests::token_monitor_dead_when_not_alive ... ok
[INFO] [stdout] test lsp::diagnostics::tests::token_monitor_idle_when_ready ... ok
[INFO] [stdout] test lsp::diagnostics::tests::token_monitor_idle_when_stuck ... ok
[INFO] [stdout] test db::tests::test_grammar_tables_exist ... ok
[INFO] [stdout] test lsp::manager::tests::test_add_root_appends ... ok
[INFO] [stdout] test lsp::manager::tests::test_roots_empty_initial ... ok
[INFO] [stdout] test lsp::manager::tests::test_roots_returns_initial_roots ... ok
[INFO] [stdout] test lsp::manager::tests::test_sync_roots_adds_and_removes ... ok
[INFO] [stdout] test db::tests::test_file_parse_state_foreign_key ... ok
[INFO] [stdout] test db::tests::test_open_and_migrate_idempotent ... ok
[INFO] [stdout] test lsp::manager::tests::test_remove_root ... ok
[INFO] [stdout] test lsp::protocol::tests::test_notification_no_id ... ok
[INFO] [stdout] test lsp::protocol::tests::test_parse_case_insensitive_header ... ok
[INFO] [stdout] test lsp::protocol::tests::test_parse_complete_message ... ok
[INFO] [stdout] test lsp::protocol::tests::test_parse_incomplete_body ... ok
[INFO] [stdout] test lsp::protocol::tests::test_parse_incomplete_header ... ok
[INFO] [stdout] test lsp::protocol::tests::test_parse_multiple_messages ... ok
[INFO] [stdout] test lsp::protocol::tests::test_request_id_number ... ok
[INFO] [stdout] test lsp::manager::tests::test_sync_roots_no_change ... ok
[INFO] [stdout] test lsp::protocol::tests::test_request_id_string ... ok
[INFO] [stdout] test lsp::protocol::tests::test_response_null_result ... ok
[INFO] [stdout] test lsp::protocol::tests::test_response_with_error ... ok
[INFO] [stdout] test lsp::protocol::tests::test_response_with_result ... ok
[INFO] [stdout] test lsp::state::tests::test_progress_begin_end ... ok
[INFO] [stdout] test db::tests::test_open_and_migrate_creates_schema ... ok
[INFO] [stdout] test lsp::state::tests::test_progress_report ... ok
[INFO] [stdout] test lsp::state::tests::test_server_state_conversion ... ok
[INFO] [stdout] test lsp::state::tests::test_multiple_progress_tokens ... ok
[INFO] [stdout] test mcp::server::tests::test_fetch_roots_parses_response ... ok
[INFO] [stdout] test mcp::server::tests::test_fetch_roots_buffers_interleaved_request ... ok
[INFO] [stdout] test mcp::server::tests::test_handle_initialize ... ok
[INFO] [stdout] test mcp::server::tests::test_handle_ping ... ok
[INFO] [stdout] test mcp::server::tests::test_fetch_roots_handles_error_response ... ok
[INFO] [stdout] test mcp::server::tests::test_handle_tools_call_success ... ok
[INFO] [stdout] test mcp::server::tests::test_handle_tools_list ... ok
[INFO] [stdout] test mcp::server::tests::test_handle_unknown_method ... ok
[INFO] [stdout] test mcp::server::tests::test_list_changed_honored_without_capability ... ok
[INFO] [stdout] test mcp::server::tests::test_no_fetch_without_capability ... ok
[INFO] [stdout] test mcp::server::tests::test_roots_capability_absent_by_default ... ok
[INFO] [stdout] test mcp::server::tests::test_roots_capability_stored_when_present ... ok
[INFO] [stdout] test mcp::server::tests::test_roots_capability_without_list_changed ... ok
[INFO] [stdout] test mcp::server::tests::test_should_fetch_roots_after_initialized ... ok
[INFO] [stdout] test mcp::server::tests::test_should_fetch_roots_on_list_changed ... ok
[INFO] [stdout] test mcp::types::tests::test_call_tool_result_error ... ok
[INFO] [stdout] test mcp::types::tests::test_call_tool_result_text ... ok
[INFO] [stdout] test mcp::types::tests::test_deserialize_initialize_params ... ok
[INFO] [stdout] test mcp::types::tests::test_deserialize_response_error ... ok
[INFO] [stdout] test mcp::types::tests::test_deserialize_response_success ... ok
[INFO] [stdout] test mcp::types::tests::test_deserialize_root_with_name ... ok
[INFO] [stdout] test mcp::types::tests::test_deserialize_root_without_name ... ok
[INFO] [stdout] test mcp::types::tests::test_deserialize_roots_list_result ... ok
[INFO] [stdout] test mcp::types::tests::test_none_params_omitted_not_null ... ok
[INFO] [stdout] test mcp::types::tests::test_response_error ... ok
[INFO] [stdout] test mcp::types::tests::test_response_success ... ok
[INFO] [stdout] test mcp::types::tests::test_serialize_initialize_result ... ok
[INFO] [stdout] test mcp::types::tests::test_serialize_request ... ok
[INFO] [stdout] test mcp::types::tests::test_serialize_tool ... ok
[INFO] [stdout] test notify::tests::notify_result_content_round_trip ... ok
[INFO] [stdout] test notify::tests::notify_result_error_round_trip ... ok
[INFO] [stdout] test db::tests::test_grammar_insert_and_query ... ok
[INFO] [stdout] test db::tests::test_migration_v2_to_v3 ... ok
[INFO] [stdout] test db::tests::test_schema_version ... ok
[INFO] [stdout] test db::tests::test_snapshots_insert_and_query ... ok
[INFO] [stdout] test session::tests::test_broadcaster_noop ... ok
[INFO] [stdout] test db::tests::test_file_parse_state_mtime ... ok
[INFO] [stdout] test db::tests::test_symbols_insert_and_query ... ok
[INFO] [stdout] test db::tests::test_migration_v1_to_v2 ... ok
[INFO] [stdout] test session::tests::test_active_languages_empty ... ok
[INFO] [stdout] test session::tests::test_active_languages_removes_dead ... ok
[INFO] [stdout] test session::tests::test_event_broadcast ... ok
[INFO] [stdout] test tui::data::tests::test_mock_data_source_list_sessions ... ok
[INFO] [stdout] test tui::data::tests::test_mock_event_tail_drains ... ok
[INFO] [stdout] test session::tests::test_session_create_and_list ... ok
[INFO] [stdout] test session::tests::test_active_languages_tracks_server_state ... ok
[INFO] [stdout] test session::tests::test_active_languages_multiple_languages ... ok
[INFO] [stdout] test session::tests::test_event_broadcast_serialization ... ok
[INFO] [stdout] test tui::degradation::tests::test_below_minimum ... ok
[INFO] [stdout] test tui::degradation::tests::test_full_size_no_degradation ... ok
[INFO] [stdout] test tui::degradation::tests::test_hints_full_width ... ok
[INFO] [stdout] test tui::degradation::tests::test_hints_minimal ... ok
[INFO] [stdout] test tui::degradation::tests::test_hints_narrow ... ok
[INFO] [stdout] test tui::degradation::tests::test_ls_title_dropped ... ok
[INFO] [stdout] test tui::degradation::tests::test_ls_title_full ... ok
[INFO] [stdout] test tui::degradation::tests::test_narrow_hides_sessions ... ok
[INFO] [stdout] test tui::degradation::tests::test_render_below_minimum ... ok
[INFO] [stdout] test tui::degradation::tests::test_sessions_path_erosion_chain ... ok
[INFO] [stdout] test tui::data::tests::test_sqlite_data_source_list_sessions ... ok
[INFO] [stdout] test session::tests::test_session_set_client_info ... ok
[INFO] [stdout] test tui::degradation::tests::test_sessions_path_minimal ... ok
[INFO] [stdout] test tui::degradation::tests::test_title_degradation_drop_workspace ... ok
[INFO] [stdout] test tui::degradation::tests::test_sessions_path_truncated ... ok
[INFO] [stdout] test tui::degradation::tests::test_title_degradation_extreme ... ok
[INFO] [stdout] test tui::degradation::tests::test_title_degradation_truncate_id ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_cancel ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_clear_locked ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_effective_input ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_events_case_insensitive ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_events_no_match ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_history_dedup ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_history_navigation ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_matching_entries_max_5 ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_push_and_submit ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_suggestion_cycle ... ok
[INFO] [stdout] test tui::filter::tests::test_filter_virtual_text ... ok
[INFO] [stdout] test tui::data::tests::test_sqlite_data_source_delete_session ... ok
[INFO] [stdout] test tui::filter::tests::test_render_filter_bar_typing ... ok
[INFO] [stdout] test tui::filter::tests::test_render_filter_bar_with_suggestion ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_clear_pins ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_close_before_focused ... ok
[INFO] [stdout] test tui::filter::tests::test_render_filter_liftup ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_close_focused_moves_focus ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_close_last_panel ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_close_panel ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_cycle_layout ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_focus_next ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_focus_prev ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_open_duplicate ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_open_multiple ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_open_panel ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_pinned_indices ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_toggle_pin ... ok
[INFO] [stdout] test tui::hints::tests::test_hints_heavy_caps_when_focused ... ok
[INFO] [stdout] test tui::grid::tests::test_grid_render_two_panels ... ok
[INFO] [stdout] test tui::hints::tests::test_hints_render_filter_mode ... ok
[INFO] [stdout] test tui::hints::tests::test_hints_render_full ... ok
[INFO] [stdout] test tui::hints::tests::test_hints_render_locked_filter ... ok
[INFO] [stdout] test tui::layout::tests::test_box_char_all_light ... ok
[INFO] [stdout] test tui::layout::tests::test_box_char_focused_arms ... ok
[INFO] [stdout] test tui::layout::tests::test_closest_composition_add ... ok
[INFO] [stdout] test tui::layout::tests::test_closest_composition_remove ... ok
[INFO] [stdout] test tui::data::tests::test_sqlite_event_tail_streams ... ok
[INFO] [stdout] test tui::layout::tests::test_curated_layouts_n1 ... ok
[INFO] [stdout] test tui::data::tests::test_sqlite_data_source_monitor_events ... ok
[INFO] [stdout] test tui::layout::tests::test_curated_layouts_n4 ... ok
[INFO] [stdout] test tui::layout::tests::test_no_pixel_loss ... ok
[INFO] [stdout] test install::tests::test_install_and_list ... ok
[INFO] [stdout] test tui::layout::tests::test_panel_at_border ... ok
[INFO] [stdout] test tui::layout::tests::test_panel_at_inside ... ok
[INFO] [stdout] test tui::layout::tests::test_pin_scaling ... ok
[INFO] [stdout] test tui::layout::tests::test_single_panel_fills_area ... ok
[INFO] [stdout] test tui::layout::tests::test_three_panels_2_1 ... ok
[INFO] [stdout] test tui::layout::tests::test_two_panels_side_by_side ... ok
[INFO] [stdout] test tui::layout::tests::test_two_panels_stacked ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_in_panel_content ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_in_tree_area ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_on_border ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_outside_all ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_on_panel_title ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_overflow_bottom ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_overflow_top ... ok
[INFO] [stdout] test tui::mouse::tests::test_click_overflow_padding_miss ... ok
[INFO] [stdout] test tui::mouse::tests::test_compute_line_from_click ... ok
[INFO] [stdout] test tui::mouse::tests::test_compute_sessions_width_collapse ... ok
[INFO] [stdout] test session::tests::test_prune_sessions ... ok
[INFO] [stdout] test tui::mouse::tests::test_compute_sessions_width_normal ... ok
[INFO] [stdout] test install::tests::test_remove_grammar ... ok
[INFO] [stdout] test tui::mouse::tests::test_drag_border ... ok
[INFO] [stdout] test tui::mouse::tests::test_scroll_does_not_focus ... ok
[INFO] [stdout] test tui::mouse::tests::test_scroll_in_panel ... ok
[INFO] [stdout] test tui::mouse::tests::test_scroll_in_tree ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_diagnostics_with_header ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_diagnostics ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_tool_call_with_params ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_tool_result_with_output ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_tool_result_with_params_and_output ... ok
[INFO] [stdout] test tui::panel::tests::test_flat_lines_multiple_expanded ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_with_fix_lines ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_empty_for_progress ... ok
[INFO] [stdout] test tui::panel::tests::test_detail_lines_tool_result_without_output ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_language_server_status ... ok
[INFO] [stdout] test tui::panel::tests::test_flat_lines_no_expansion ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_navigate_up_detaches ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_load_events ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_new_tail_attached ... ok
[INFO] [stdout] test tui::panel::tests::test_flat_lines_one_expanded ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_navigate_down_past_end_reattaches ... ok
[INFO] [stdout] test tui::panel::tests::test_cursor_walks_detail_lines ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_push_event_detached ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_render_empty ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_render_events ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_scroll_to_top ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_render_cursor_highlight ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_visible_range_at_bottom ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_visible_range ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_visible_range_at_top ... ok
[INFO] [stdout] test tui::panel::tests::test_toggle_expansion_header ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_push_event_attached ... ok
[INFO] [stdout] test tui::panel::tests::test_panel_scroll_to_bottom ... ok
[INFO] [stdout] test tui::panel::tests::test_render_expanded_event ... ok
[INFO] [stdout] test tui::panel::tests::test_toggle_expansion_detail ... ok
[INFO] [stdout] test tui::panel::tests::test_visible_range_with_expansion ... ok
[INFO] [stdout] test tui::render::tests::test_keyboard_dispatch_filter_mode ... ok
[INFO] [stdout] test tui::render::tests::test_keyboard_dispatch_quit ... ok
[INFO] [stdout] test tui::degradation::tests::test_sessions_path_full ... ok
[INFO] [stdout] test tui::render::tests::test_startup_auto_open_panels ... ok
[INFO] [stdout] test tui::panel::tests::test_toggle_expansion_no_detail ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_no_scrollbar_when_fits ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_overflow_counts_at_bottom ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_overflow_counts_none ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_overflow_counts_scrolled_middle ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_overflow_hit_test_no_overflow ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_overflow_hit_test_top ... ok
[INFO] [stdout] test tui::render::tests::test_full_render_cycle ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_overflow_hit_test_bottom ... ok
[INFO] [stdout] test tui::render::tests::test_startup_cursor_on_first_active ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_fractional_block_lower ... ok
[INFO] [stdout] test tui::render::tests::test_keyboard_dispatch_tab_focus ... ok
[INFO] [stdout] test tui::render::tests::test_render_below_minimum ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_render_overflow_counts ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_render_scrollbar_basic ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_scroll_position_from_click ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_subchar_precision_160_positions ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_thumb_minimum_size ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_thumb_position_bottom ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_thumb_position_middle ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_thumb_position_top ... ok
[INFO] [stdout] test tui::scrollbar::tests::test_thumb_proportional_size ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_contains_boundaries ... ok
[INFO] [stdout] test tui::selection::tests::test_copy_to_clipboard_helper ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_extend_backward ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_extend_forward ... ok
[INFO] [stdout] test tui::selection::tests::test_render_selection_highlight ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_new_single_line ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_survives_push_event ... ok
[INFO] [stdout] test tui::selection::tests::test_yank_text_headers_only ... ok
[INFO] [stdout] test tui::selection::tests::test_yank_tree_text_workspace_only ... ok
[INFO] [stdout] test tui::theme::tests::test_emoji_preset_tool_glob ... ok
[INFO] [stdout] test tui::theme::tests::test_format_ago_hours ... ok
[INFO] [stdout] test tui::theme::tests::test_format_ago_minutes ... ok
[INFO] [stdout] test tui::theme::tests::test_collapse_progress_consecutive ... ok
[INFO] [stdout] test tui::theme::tests::test_format_ago_seconds ... ok
[INFO] [stdout] test tui::theme::tests::test_format_event_plain_diagnostics ... ok
[INFO] [stdout] test tui::theme::tests::test_format_event_plain_tool_call ... ok
[INFO] [stdout] test tui::theme::tests::test_hsl_roundtrip_color ... ok
[INFO] [stdout] test tui::theme::tests::test_hsl_roundtrip_dark_gray ... ok
[INFO] [stdout] test tui::theme::tests::test_icon_set_nerd_preset ... ok
[INFO] [stdout] test tui::theme::tests::test_icon_set_new_unicode_fields ... ok
[INFO] [stdout] test tui::theme::tests::test_icon_set_overrides ... ok
[INFO] [stdout] test tui::theme::tests::test_icon_set_unicode_preset ... ok
[INFO] [stdout] test tui::theme::tests::test_parse_osc11_garbage ... ok
[INFO] [stdout] test install::tests::test_load_grammar_api ... ok
[INFO] [stdout] test tui::theme::tests::test_parse_osc11_response_2digit ... ok
[INFO] [stdout] test tui::theme::tests::test_parse_osc11_response_4digit ... ok
[INFO] [stdout] test tui::theme::tests::test_parse_osc11_response_st_terminator ... ok
[INFO] [stdout] test tui::theme::tests::test_parse_osc_channel_variants ... ok
[INFO] [stdout] test tui::theme::tests::test_rgb_to_hsl_black ... ok
[INFO] [stdout] test tui::theme::tests::test_rgb_to_hsl_pure_red ... ok
[INFO] [stdout] test tui::theme::tests::test_rgb_to_hsl_white ... ok
[INFO] [stdout] test tui::theme::tests::test_selection_bg_dark_background_lightens ... ok
[INFO] [stdout] test tui::theme::tests::test_selection_bg_light_background_darkens ... ok
[INFO] [stdout] test tui::theme::tests::test_selection_bg_preserves_hue ... ok
[INFO] [stdout] test tui::theme::tests::test_theme_construction ... ok
[INFO] [stdout] test tui::theme::tests::test_theme_detect_fallback ... ok
[INFO] [stdout] test tui::theme::tests::test_tool_icon_sed ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_collapse_expand_keys ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_cursor_navigation ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_grouping_preserves_multi_session_workspaces ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_groups_by_workspace ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_no_grouping_at_threshold ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_render_basic ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_render_cheatsheet ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_render_grouped_node ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_render_scrollbar_when_overflow ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_render_with_scroll_offset ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_scroll_clamp_on_collapse ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_scroll_on_navigate ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_sorts_active_first ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_toggle_session ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_toggle_workspace ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_visible_items_expanded ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_workspace_active_icon ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_visible_items_collapsed ... ok
[INFO] [stdout] test tui::selection::tests::test_yank_text_with_detail ... ok
[INFO] [stdout] test tui::selection::tests::test_yank_tree_text_sessions ... ok
[INFO] [stdout] test tui::tree::tests::test_tree_groups_sibling_single_session_workspaces ... ok
[INFO] [stdout] test lsp::manager::tests::test_sync_roots_notifies_supported_client ... FAILED
[INFO] [stdout] test mcp::server::tests::test_fetching_roots_reset_on_error ... ok
[INFO] [stdout] test tui::data::tests::test_mock_data_source_monitor_events ... ok
[INFO] [stdout] test mcp::server::tests::test_handle_tools_call_error ... ok
[INFO] [stdout] test tui::degradation::tests::test_title_degradation_full ... ok
[INFO] [stdout] test lsp::manager::tests::test_sync_roots_shuts_down_unsupported_client ... FAILED
[INFO] [stdout] test install::tests::test_install_missing_tags_scm ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- lsp::manager::tests::test_sync_roots_notifies_supported_client stdout ----
[INFO] [stdout] Error: Failed to spawn LSP server: /opt/rustwide/target/debug/mockls
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <E as anyhow::context::ext::StdError>::ext_context
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: anyhow::context::<impl anyhow::Context<T,E> for core::result::Result<T,E>>::with_context
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:65:37
[INFO] [stdout]    2: catenary_mcp::lsp::client::LspClient::spawn_inner
[INFO] [stdout]              at ./src/lsp/client.rs:192:14
[INFO] [stdout]    3: catenary_mcp::lsp::client::LspClient::spawn
[INFO] [stdout]              at ./src/lsp/client.rs:158:9
[INFO] [stdout]    4: catenary_mcp::lsp::manager::ClientManager::get_client::{{closure}}
[INFO] [stdout]              at ./src/lsp/manager.rs:327:26
[INFO] [stdout]    5: catenary_mcp::lsp::manager::tests::test_sync_roots_notifies_supported_client::{{closure}}
[INFO] [stdout]              at ./src/lsp/manager.rs:750:54
[INFO] [stdout]    6: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]    9: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   12: tokio::runtime::scheduler::current_thread::Context::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   13: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   14: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   15: tokio::runtime::context::scoped::Scoped<T>::set
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   17: std::thread::local::LocalKey<T>::try_with
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: std::thread::local::LocalKey<T>::with
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   20: tokio::runtime::scheduler::current_thread::CoreGuard::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   21: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   22: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   26: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   27: catenary_mcp::lsp::manager::tests::test_sync_roots_notifies_supported_client
[INFO] [stdout]              at ./src/lsp/manager.rs:770:11
[INFO] [stdout]   28: catenary_mcp::lsp::manager::tests::test_sync_roots_notifies_supported_client::{{closure}}
[INFO] [stdout]              at ./src/lsp/manager.rs:740:61
[INFO] [stdout]   29: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] 
[INFO] [stdout] ---- lsp::manager::tests::test_sync_roots_shuts_down_unsupported_client stdout ----
[INFO] [stdout] Error: Failed to spawn LSP server: /opt/rustwide/target/debug/mockls
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <E as anyhow::context::ext::StdError>::ext_context
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: anyhow::context::<impl anyhow::Context<T,E> for core::result::Result<T,E>>::with_context
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:65:37
[INFO] [stdout]    2: catenary_mcp::lsp::client::LspClient::spawn_inner
[INFO] [stdout]              at ./src/lsp/client.rs:192:14
[INFO] [stdout]    3: catenary_mcp::lsp::client::LspClient::spawn
[INFO] [stdout]              at ./src/lsp/client.rs:158:9
[INFO] [stdout]    4: catenary_mcp::lsp::manager::ClientManager::get_client::{{closure}}
[INFO] [stdout]              at ./src/lsp/manager.rs:327:26
[INFO] [stdout]    5: catenary_mcp::lsp::manager::tests::test_sync_roots_shuts_down_unsupported_client::{{closure}}
[INFO] [stdout]              at ./src/lsp/manager.rs:717:54
[INFO] [stdout]    6: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]    9: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   12: tokio::runtime::scheduler::current_thread::Context::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   13: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   14: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   15: tokio::runtime::context::scoped::Scoped<T>::set
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   17: std::thread::local::LocalKey<T>::try_with
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: std::thread::local::LocalKey<T>::with
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   20: tokio::runtime::scheduler::current_thread::CoreGuard::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   21: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   22: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   26: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   27: catenary_mcp::lsp::manager::tests::test_sync_roots_shuts_down_unsupported_client
[INFO] [stdout]              at ./src/lsp/manager.rs:736:11
[INFO] [stdout]   28: catenary_mcp::lsp::manager::tests::test_sync_roots_shuts_down_unsupported_client::{{closure}}
[INFO] [stdout]              at ./src/lsp/manager.rs:711:65
[INFO] [stdout]   29: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lsp::manager::tests::test_sync_roots_notifies_supported_client
[INFO] [stdout]     lsp::manager::tests::test_sync_roots_shuts_down_unsupported_client
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 348 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "e45c910416cfba52db1b664bff96976392e3e5da47e9d89374d6ca2f14dad220", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e45c910416cfba52db1b664bff96976392e3e5da47e9d89374d6ca2f14dad220", kill_on_drop: false }`
[INFO] [stdout] e45c910416cfba52db1b664bff96976392e3e5da47e9d89374d6ca2f14dad220
