[INFO] fetching crate frust-dap 0.6.1...
[INFO] testing frust-dap-0.6.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate frust-dap 0.6.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate frust-dap 0.6.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate frust-dap 0.6.1
[INFO] tweaked toml for crates.io crate frust-dap 0.6.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate frust-dap 0.6.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate frust-dap 0.6.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rmcp-macros v2.2.0
[INFO] [stderr]   Downloaded sse-stream v0.2.5
[INFO] [stderr]   Downloaded ar v0.9.0
[INFO] [stderr]   Downloaded fallible-iterator v0.2.0
[INFO] [stderr]   Downloaded frust-devtools-protocol v0.6.1
[INFO] [stderr]   Downloaded uuid v1.24.1
[INFO] [stderr]   Downloaded icns v0.4.0
[INFO] [stderr]   Downloaded pdb v0.8.0
[INFO] [stderr]   Downloaded frust-mcp v0.6.1
[INFO] [stderr]   Downloaded rmcp v2.2.0
[INFO] [stderr]   Downloaded minijinja v2.24.0
[INFO] [stderr]   Downloaded frust-drive v0.6.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa
[INFO] running `Command { std: "docker" "start" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling zune-core v0.5.3
[INFO] [stderr]    Compiling pxfm v0.1.30
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling zune-jpeg v0.5.15
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling rmcp v2.2.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling icns v0.4.0
[INFO] [stderr]    Compiling schemars v1.2.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling minijinja v2.24.0
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling rmcp-macros v2.2.0
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling frust-devtools-protocol v0.6.1
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling sse-stream v0.2.5
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling uuid v1.24.1
[INFO] [stderr]    Compiling ar v0.9.0
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling frust-drive v0.6.1
[INFO] [stderr]    Compiling frust-mcp v0.6.1
[INFO] [stderr]    Compiling frust-dap v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 6m 18s
[INFO] running `Command { std: "docker" "inspect" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling frust-drive v0.6.1
[INFO] [stderr]    Compiling frust-mcp v0.6.1
[INFO] [stderr]    Compiling frust-dap v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 49s
[INFO] running `Command { std: "docker" "inspect" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/frust_dap-74e034f9beb6b446)
[INFO] [stdout] 
[INFO] [stdout] running 239 tests
[INFO] [stdout] test adapter::resolve::tests::a_matching_absent_or_blank_client_root_is_not_noted ... ok
[INFO] [stdout] test adapter::resolve::tests::an_ambiguous_match_names_every_candidate_instead_of_picking ... ok
[INFO] [stdout] test adapter::resolve::tests::an_echoed_client_root_carries_no_control_characters ... ok
[INFO] [stdout] test adapter::resolve::tests::a_client_root_that_differs_from_the_servers_is_noted ... ok
[INFO] [stdout] test adapter::resolve::tests::no_match_lists_what_was_searched_including_discovery_notes ... ok
[INFO] [stdout] test adapter::resolve::tests::a_physical_ios_device_is_refused_up_front ... ok
[INFO] [stdout] test adapter::tests::a_widget_tree_failure_keeps_the_two_rejections_distinguishable ... ok
[INFO] [stdout] test adapter::tests::a_widget_tree_failure_names_the_state_and_the_apps_own_reason ... ok
[INFO] [stdout] test adapter::resolve::tests::a_unique_substring_of_the_name_resolves ... ok
[INFO] [stdout] test adapter::tests::an_app_that_exits_on_its_own_reports_exited_then_terminated ... ok
[INFO] [stdout] test adapter::tests::configuration_done_is_acknowledged_and_unknown_customs_are_not ... ok
[INFO] [stdout] test adapter::tests::an_unreadable_launch_configuration_is_refused_in_band ... ok
[INFO] [stdout] test adapter::resolve::tests::the_mode_defaults_to_debug_and_accepts_all_three ... ok
[INFO] [stdout] test adapter::tests::a_second_launch_on_the_same_connection_is_refused ... ok
[INFO] [stdout] test adapter::resolve::tests::an_exact_id_wins_over_a_substring_match ... ok
[INFO] [stdout] test adapter::tests::a_request_needing_a_session_before_launch_says_so ... ok
[INFO] [stdout] test adapter::tests::cancellation_stops_the_app_and_leaves_the_backend_alive ... ok
[INFO] [stdout] test adapter::tests::frust_widget_tree_before_devtools_connects_fails_in_band ... ok
[INFO] [stdout] test adapter::tests::terminate_then_disconnect_reports_terminated_exactly_once ... ok
[INFO] [stdout] test adapter::tests::threads_answers_one_static_app_thread ... ok
[INFO] [stdout] test clients::tests::clones_of_the_registry_share_state ... ok
[INFO] [stdout] test clients::tests::dropping_one_of_several_guards_leaves_the_others ... ok
[INFO] [stdout] test clients::tests::dropping_the_guard_removes_the_entry ... ok
[INFO] [stdout] test clients::tests::each_registration_mints_a_distinct_id ... ok
[INFO] [stdout] test clients::tests::identify_names_the_entry_and_strips_control_characters ... ok
[INFO] [stdout] test clients::tests::register_adds_an_entry_that_is_not_yet_named ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_cursor_via_term_program ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_emacs_via_inside_emacs ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_helix_via_helix_runtime ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_android_studio_via_idea_initial_directory ... ok
[INFO] [stdout] test adapter::tests::frust_restart_rolls_the_session_and_keeps_streaming ... ok
[INFO] [stdout] test clients::tests::a_fresh_registry_has_no_clients ... ok
[INFO] [stdout] test adapter::tests::disconnect_stops_the_app_and_leaves_the_backend_alive ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_cursor_via_ipc_hook_cli_and_term_program ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_vscode_via_ipc_hook_cli ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_intellij_via_terminal_emulator ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_vscode_via_term_program ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_zed_via_term_program ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_zed_via_zed_term_fallback ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_neovim_via_nvim ... ok
[INFO] [stdout] test ide_config::detect::tests::test_should_auto_start_false_when_auto_start_but_no_ide_detected ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_none_when_nothing_set ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_term_program_takes_priority_over_zed_term ... ok
[INFO] [stdout] test ide_config::detect::tests::test_should_auto_start_false_when_neither_set ... ok
[INFO] [stdout] test ide_config::detect::tests::test_should_auto_start_true_when_enabled ... ok
[INFO] [stdout] test ide_config::detect::tests::test_detect_vscode_insiders_via_term_program ... ok
[INFO] [stdout] test ide_config::detect::tests::test_display_names ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_elisp_parens_balanced ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_entry_detection_always_answers_absent ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_fresh_generation ... ok
[INFO] [stdout] test ide_config::detect::tests::test_supports_dap_config_false_for_intellij_and_android_studio ... ok
[INFO] [stdout] test ide_config::detect::tests::test_supports_dap_config_true_for_all_except_jetbrains ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_config_exists_false_for_temp_path ... ok
[INFO] [stdout] test adapter::tests::a_launch_streams_the_apps_output_as_stdout_events ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_config_path ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_generate_embeds_absolute_path ... ok
[INFO] [stdout] test adapter::tests::the_ignored_root_note_and_the_banner_name_the_backends_own_root ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_ide_name ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_includes_loading_instructions ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_merge_overwrites ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_merge_produces_absolute_path ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_merge_uses_absolute_path ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_port_substitution ... ok
[INFO] [stdout] test ide_config::emacs::tests::test_emacs_uses_debug_server_not_debug_port ... ok
[INFO] [stdout] test ide_config::helix::tests::test_helix_config_path ... ok
[INFO] [stdout] test ide_config::helix::tests::test_helix_skip_result_reports_skipped_with_reason ... ok
[INFO] [stdout] test ide_config::helix::tests::test_helix_skip_result_writes_nothing ... ok
[INFO] [stdout] test ide_config::merge::tests::test_clean_jsonc_combined_comments_and_trailing_commas ... ok
[INFO] [stdout] test ide_config::merge::tests::test_clean_jsonc_preserves_slashes_in_strings ... ok
[INFO] [stdout] test ide_config::merge::tests::test_clean_jsonc_strips_block_comments ... ok
[INFO] [stdout] test ide_config::merge::tests::test_clean_jsonc_strips_line_comments ... ok
[INFO] [stdout] test ide_config::merge::tests::test_clean_jsonc_strips_trailing_commas ... ok
[INFO] [stdout] test ide_config::merge::tests::test_constants_have_expected_values ... ok
[INFO] [stdout] test ide_config::merge::tests::test_find_json_entry_by_field_empty_array ... ok
[INFO] [stdout] test ide_config::merge::tests::test_find_json_entry_by_field_first_match ... ok
[INFO] [stdout] test ide_config::merge::tests::test_find_json_entry_by_field_found ... ok
[INFO] [stdout] test ide_config::merge::tests::test_find_json_entry_by_field_non_string_value ... ok
[INFO] [stdout] test ide_config::merge::tests::test_find_json_entry_by_field_not_found ... ok
[INFO] [stdout] test ide_config::merge::tests::test_merge_json_array_entry_appends_new ... ok
[INFO] [stdout] test ide_config::merge::tests::test_to_pretty_json_produces_valid_json ... ok
[INFO] [stdout] test ide_config::merge::tests::test_to_pretty_json_uses_indentation ... ok
[INFO] [stdout] test ide_config::merge::tests::test_merge_json_array_entry_appends_to_empty ... ok
[INFO] [stdout] test ide_config::merge::tests::test_merge_json_array_entry_preserves_others ... ok
[INFO] [stdout] test ide_config::merge::tests::test_merge_json_array_entry_replaces_existing ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_config_path_monorepo_uses_workspace_root ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_lua_snippet_contains_adapter_config ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_lua_snippet_contains_rust_configuration ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_lua_snippet_port_substitution ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_merge_malformed_json_returns_error ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_merge_updates_existing_frust_entry ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_post_write_places_lua_at_workspace_root ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_post_write_target_obeys_home_boundary ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_fresh_generation_produces_valid_launch_json ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_ide_name ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_lua_snippet_contains_usage_instructions ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_config_path_is_vscode_launch_json ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_post_write_updates_lua_on_merge ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_fresh_generation_has_required_fields ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_post_write_writes_lua_snippet ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_write_lua_snippet_overwrites_existing ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_merge_delegates_to_vscode ... ok
[INFO] [stdout] test ide_config::tests::test_generate_ide_config_intellij_returns_none ... ok
[INFO] [stdout] test ide_config::tests::test_generate_ide_config_none_returns_none ... ok
[INFO] [stdout] test ide_config::tests::test_empty_zed_debug_json_is_treated_as_absent ... ok
[INFO] [stdout] test ide_config::tests::test_generate_ide_config_android_studio_returns_none ... ok
[INFO] [stdout] test ide_config::tests::test_generate_ide_config_helix_is_skipped_and_writes_nothing ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_appends_to_a_file_without_a_frust_entry_zed ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_appends_to_a_file_without_a_frust_entry_vscode ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_on_a_malformed_file_is_an_error ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_on_a_missing_file_creates_it ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_write_lua_snippet_failure_does_not_panic ... ok
[INFO] [stdout] test ide_config::tests::test_config_action_variants_are_eq ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_reports_a_stale_port_and_leaves_the_bytes_vscode ... ok
[INFO] [stdout] test ide_config::neovim::tests::test_neovim_write_lua_snippet_creates_file ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_neovim_lua_names_the_retained_port ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_emacs_regenerates_over_a_marker_bearing_foreign_file ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_reports_a_stale_port_and_leaves_the_bytes_zed ... ok
[INFO] [stdout] test ide_config::tests::test_nvim_lua_symlink_outside_is_refused ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_invalid_returns_error ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_vscode_aliases ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_same_port_entry_is_the_plain_skip ... ok
[INFO] [stdout] test ide_config::tests::test_if_absent_portless_entry_is_the_plain_skip ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_zed ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_vscode_canonical ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_error_message_lists_valid_values ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_helix ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_neovim ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_vscode_case_insensitive ... ok
[INFO] [stdout] test ide_config::tests::test_run_generator_create_skip_update_sequence ... ok
[INFO] [stdout] test ide_config::tests::test_refresh_updates_the_port_of_an_existing_frust_entry ... ok
[INFO] [stdout] test ide_config::tests::test_parse_ide_name_emacs ... ok
[INFO] [stdout] test ide_config::tests::test_standalone_config_generation_vscode ... ok
[INFO] [stdout] test ide_config::tests::test_run_generator_skip_still_recreates_deleted_secondary_artifact ... ok
[INFO] [stdout] test ide_config::tests::test_write_follows_an_in_project_symlink ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_empty_home_env_fails_closed ... ok
[INFO] [stdout] test ide_config::tests::test_write_leaves_no_temp_file_behind ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_dotfiles_git_home_not_captured ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_grandparent_has_vscode ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_homedrive_homepath_resolves_the_boundary ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_no_home_env_fails_closed_to_project_root ... ok
[INFO] [stdout] test ide_config::tests::test_write_refuses_a_vscode_symlink_pointing_outside_the_project ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_grandparent_has_git ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_legitimate_ancestor_below_home_still_works ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_parent_has_git ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_no_git_no_vscode_returns_project ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_parent_has_vscode ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_project_own_vscode_wins_over_ancestor ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_stops_at_home_git_only_project_root_wins ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_guard_workspace_root_accepts_root_below_home ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_project_at_home_itself_uses_own_markers ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_guard_workspace_root_no_home_env_refuses_any_non_project_root ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_project_has_vscode_returns_project ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_guard_workspace_root_rejects_root_equal_to_home ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_config_path_monorepo_uses_workspace_root ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_guard_workspace_root_rejects_root_above_home ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_vscode_preferred_over_git ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_frust_entry_port_reads_the_marked_entry ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_config_path_single_project ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_guard_workspace_root_accepts_project_root_even_if_home ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_detect_workspace_root_userprofile_resolves_the_boundary ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_appends_when_no_frust_entry ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_ide_name ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_guard_workspace_root_userprofile_only_env_is_honored ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_fresh_generation ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_fresh_generation_port_substitution ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_malformed_json_returns_error ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_config_path ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_no_configurations_key ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_empty_or_whitespace_file_has_no_entry_and_merges_fresh ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_preserves_other_configurations ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_fresh_generation ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_fresh_generation_embeds_correct_port ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_fresh_generation_is_valid_json_array ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_frust_entry_port_reads_the_marked_entry ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_ide_name ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_appends_when_no_frust_entry ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_empty_array ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_malformed_json_returns_error ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_preserves_non_frust_configs ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_updates_existing_entry ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_empty_file_acts_as_fresh_generation ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_non_array_json_returns_error ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_handles_jsonc_comments ... ok
[INFO] [stdout] test ide_config::zed::tests::test_zed_merge_updates_port_only_keeps_full_entry ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_eof_returns_none ... ok
[INFO] [stdout] test ide_config::tests::test_run_generator_skip_does_not_modify_file ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_updates_existing_entry ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_extra_unknown_headers_ignored ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_invalid_content_length_value ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_invalid_header_no_content_length ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_oversized_rejected ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_message_body_is_valid_json ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_message_content_length_is_accurate ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_newline_free_header_does_not_grow_unbounded ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_message_header_format ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_then_read_roundtrip_request ... ok
[INFO] [stdout] test protocol::types::tests::test_capabilities_frust_defaults ... ok
[INFO] [stdout] test protocol::types::tests::test_capabilities_omits_unset_fields ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_then_read_roundtrip_response ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_oversized_header_line_rejected ... ok
[INFO] [stdout] test protocol::types::tests::test_dap_event_exited_body ... ok
[INFO] [stdout] test protocol::types::tests::test_dap_message_request_round_trip ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_invalid_json_body ... ok
[INFO] [stdout] test protocol::types::tests::test_dap_event_terminated_has_no_body ... ok
[INFO] [stdout] test protocol::types::tests::test_dap_message_event_round_trip ... ok
[INFO] [stdout] test protocol::codec::tests::test_read_message_missing_content_length ... ok
[INFO] [stdout] test protocol::types::tests::test_dap_message_response_round_trip ... ok
[INFO] [stdout] test protocol::types::tests::test_dap_response_error ... ok
[INFO] [stdout] test protocol::types::tests::test_initialize_request_arguments_defaults_on_empty ... ok
[INFO] [stdout] test protocol::types::tests::test_launch_arguments_defaults_when_missing ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_then_read_roundtrip_event ... ok
[INFO] [stdout] test protocol::types::tests::test_launch_arguments_round_trip ... ok
[INFO] [stdout] test protocol::types::tests::test_launch_arguments_tolerates_unknown_fields ... ok
[INFO] [stdout] test protocol::types::tests::test_threads_response_body_round_trip ... ok
[INFO] [stdout] test sanitize::tests::an_escape_sequence_cannot_reach_the_terminal ... ok
[INFO] [stdout] test protocol::types::tests::test_initialize_request_arguments_client_id_uppercase ... ok
[INFO] [stdout] test server::embedded::tests::a_taken_port_is_reported_as_a_bind_failure ... ok
[INFO] [stdout] test ide_config::vscode::tests::test_vscode_merge_preserves_version ... ok
[INFO] [stdout] test sanitize::tests::newlines_and_carriage_returns_cannot_forge_a_console_line ... ok
[INFO] [stdout] test server::session::tests::test_adapter_event_precedes_the_response_it_was_pushed_before ... ok
[INFO] [stdout] test sanitize::tests::plain_text_is_untouched ... ok
[INFO] [stdout] test server::session::tests::test_adapter_response_constructors ... ok
[INFO] [stdout] test server::session::tests::test_cancellation_runs_the_teardown_hook ... ok
[INFO] [stdout] test server::session::tests::test_disconnect_before_initialize_is_accepted ... ok
[INFO] [stdout] test server::session::tests::test_client_hangup_runs_the_teardown_hook ... ok
[INFO] [stdout] test server::session::tests::test_disconnect_answers_then_runs_the_teardown_hook ... ok
[INFO] [stdout] test server::session::tests::test_initialize_answers_capabilities_then_initialized_event ... ok
[INFO] [stdout] test protocol::codec::tests::test_write_then_read_multiple_messages_sequentially ... ok
[INFO] [stdout] test server::session::tests::test_malformed_framing_ends_the_session_without_panicking ... ok
[INFO] [stdout] test server::session::tests::test_request_before_initialize_is_refused_and_session_survives ... ok
[INFO] [stdout] test server::session::tests::test_unknown_command_returns_failed_response ... ok
[INFO] [stdout] test server::session::tests::test_server_sequence_numbers_are_monotonic ... ok
[INFO] [stdout] test server::embedded::tests::a_connected_client_is_registered_by_name_and_deregistered_at_the_end ... ok
[INFO] [stdout] test server::session::tests::test_garbage_commands_never_panic_and_never_drop_the_connection ... ok
[INFO] [stdout] test server::tests::test_tcp_serve_reports_a_bind_failure ... ok
[INFO] [stdout] test server::session::tests::test_initialize_twice_is_refused_without_dropping_the_connection ... ok
[INFO] [stdout] test server::tests::test_tcp_serve_returns_when_cancelled_with_a_live_connection ... ok
[INFO] [stdout] test server::tests::test_tcp_serve_binds_loopback_and_completes_a_handshake ... ok
[INFO] [stdout] test server::session::tests::test_adapter_event_reaches_the_client_while_the_read_loop_is_blocked ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 239 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dap_session.rs (/opt/rustwide/target/release/deps/dap_session-6f11df4cfea819e7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_headless_client_drives_a_full_session_over_a_duplex_pair ... ok
[INFO] [stdout] test an_app_that_exits_on_its_own_reports_its_last_output_then_exited_then_terminated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/print_free_cores.rs (/opt/rustwide/target/release/deps/print_free_cores-8519da676c45a528)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test scanner_resolves_enclosing_fn_for_this_codebases_shapes ... ok
[INFO] [stderr]    Doc-tests frust_dap
[INFO] [stdout] test dap_server_is_print_free_for_its_hosts_display_safety ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa", kill_on_drop: false }`
[INFO] [stdout] 9f951259727960c325fa3fb67de245486debfabc3b0b3e5bb00cc0cab683ebaa
