[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