[INFO] fetching crate mockforge-tui 0.3.198...
[INFO] testing mockforge-tui-0.3.198 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate mockforge-tui 0.3.198 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate mockforge-tui 0.3.198
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate mockforge-tui 0.3.198
[INFO] tweaked toml for crates.io crate mockforge-tui 0.3.198 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate mockforge-tui 0.3.198 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate mockforge-tui 0.3.198 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3
[INFO] running `Command { std: "docker" "start" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", 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" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", 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" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling pxfm v0.1.27
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling moxcms v0.7.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[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 tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.12
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling strum v0.26.3
[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 darling v0.23.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling image v0.25.9
[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 arboard v3.6.1
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling mockforge-tui v0.3.198 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 26s
[INFO] running `Command { std: "docker" "inspect" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", 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" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling mockforge-tui v0.3.198 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.55s
[INFO] running `Command { std: "docker" "inspect" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", 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" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mockforge_tui-b9586c1003fa381f)
[INFO] [stdout] 
[INFO] [stdout] running 301 tests
[INFO] [stdout] test api::models::tests::api_response_with_complex_data ... ok
[INFO] [stdout] test api::client::tests::client_preserves_clean_url ... ok
[INFO] [stdout] test api::client::tests::client_strips_trailing_slash ... ok
[INFO] [stdout] test api::models::tests::deserialize_analytics_summary ... ok
[INFO] [stdout] test api::models::tests::deserialize_analytics_summary_with_aliases ... ok
[INFO] [stdout] test api::models::tests::deserialize_api_response_error ... ok
[INFO] [stdout] test api::models::tests::deserialize_api_response_success ... ok
[INFO] [stdout] test api::models::tests::deserialize_audit_entry ... ok
[INFO] [stdout] test api::models::tests::deserialize_api_response_with_timestamp ... ok
[INFO] [stdout] test api::models::tests::deserialize_chaos_status ... ok
[INFO] [stdout] test api::models::tests::deserialize_contract_diff_capture ... ok
[INFO] [stdout] test api::models::tests::deserialize_federation_peer ... ok
[INFO] [stdout] test api::models::tests::deserialize_config_state ... ok
[INFO] [stdout] test api::models::tests::deserialize_fixture_info ... ok
[INFO] [stdout] test api::models::tests::deserialize_health_check ... ok
[INFO] [stdout] test api::models::tests::deserialize_health_probe ... ok
[INFO] [stdout] test api::models::tests::deserialize_metrics_data ... ok
[INFO] [stdout] test api::models::tests::deserialize_plugin_info ... ok
[INFO] [stdout] test api::models::tests::deserialize_recorder_status ... ok
[INFO] [stdout] test api::models::tests::deserialize_health_check_with_issues ... ok
[INFO] [stdout] test api::models::tests::deserialize_request_log ... ok
[INFO] [stdout] test api::models::tests::deserialize_request_log_minimal ... ok
[INFO] [stdout] test api::models::tests::deserialize_route_info ... ok
[INFO] [stdout] test api::models::tests::deserialize_chain_info ... ok
[INFO] [stdout] test api::models::tests::deserialize_route_info_minimal ... ok
[INFO] [stdout] test api::models::tests::deserialize_server_info_full ... ok
[INFO] [stdout] test api::models::tests::deserialize_server_info_minimal ... ok
[INFO] [stdout] test api::models::tests::deserialize_system_info ... ok
[INFO] [stdout] test api::models::tests::deserialize_smoke_test_result ... ok
[INFO] [stdout] test api::models::tests::deserialize_time_travel_status ... ok
[INFO] [stdout] test api::models::tests::deserialize_verification_result ... ok
[INFO] [stdout] test api::models::tests::deserialize_world_state_entry ... ok
[INFO] [stdout] test api::models::tests::deserialize_workspace_info ... ok
[INFO] [stdout] test api::models::tests::roundtrip_serialize_deserialize ... ok
[INFO] [stdout] test app::server_rotation_tests::all_admin_urls_drops_empty_entries ... ok
[INFO] [stdout] test app::server_rotation_tests::all_admin_urls_keeps_primary_first_and_dedupes ... ok
[INFO] [stdout] test api::models::tests::deserialize_time_travel_status_with_alias ... ok
[INFO] [stdout] test config::tests::is_light_theme_case_insensitive ... ok
[INFO] [stdout] test config::tests::load_returns_default_when_no_file ... ok
[INFO] [stdout] test config::tests::deserialize_minimal_toml ... ok
[INFO] [stdout] test config::tests::default_config_values ... ok
[INFO] [stdout] test config::tests::roundtrip_serialize_deserialize ... ok
[INFO] [stdout] test keybindings::tests::ctrl_c_maps_to_quit ... ok
[INFO] [stdout] test keybindings::tests::action_keys ... ok
[INFO] [stdout] test keybindings::tests::backtab_maps_to_prev_tab ... ok
[INFO] [stdout] test config::tests::config_path_is_under_home ... ok
[INFO] [stdout] test app::server_rotation_tests::rotate_server_is_noop_on_single_server ... ok
[INFO] [stdout] test config::tests::deserialize_full_toml ... ok
[INFO] [stdout] test app::server_rotation_tests::rotate_server_cycles_in_both_directions ... ok
[INFO] [stdout] test app::tests::app_screens_match_screen_id_all ... ok
[INFO] [stdout] test keybindings::tests::ctrl_q_maps_to_quit ... ok
[INFO] [stdout] test config::tests::unknown_fields_ignored ... ok
[INFO] [stdout] test keybindings::tests::ctrl_with_unrecognized_char_returns_none ... ok
[INFO] [stdout] test keybindings::tests::digit_keys_map_to_jump_tab ... ok
[INFO] [stdout] test keybindings::tests::navigation_keys ... ok
[INFO] [stdout] test keybindings::tests::q_maps_to_quit ... ok
[INFO] [stdout] test keybindings::tests::question_mark_maps_to_toggle_help ... ok
[INFO] [stdout] test keybindings::tests::r_maps_to_refresh ... ok
[INFO] [stdout] test keybindings::tests::slash_maps_to_start_filter ... ok
[INFO] [stdout] test keybindings::tests::tab_maps_to_next_tab ... ok
[INFO] [stdout] test keybindings::tests::unrecognized_key_returns_none ... ok
[INFO] [stdout] test screens::chains::tests::confirm_no_clears_without_execution ... ok
[INFO] [stdout] test screens::chains::tests::confirm_yes_sets_pending_execution ... ok
[INFO] [stdout] test screens::chains::tests::enter_on_empty_list_does_not_crash ... ok
[INFO] [stdout] test screens::chains::tests::enter_with_selection_shows_confirm ... ok
[INFO] [stdout] test screens::chains::tests::esc_dismisses_result_overlay ... ok
[INFO] [stdout] test screens::chains::tests::execution_result_sets_last_result ... ok
[INFO] [stdout] test screens::chains::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::chains::tests::new_creates_empty_screen ... ok
[INFO] [stdout] test screens::chains::tests::on_data_parses_chain_list ... ok
[INFO] [stdout] test screens::chains::tests::status_hint_shows_execute ... ok
[INFO] [stdout] test screens::chains::tests::x_key_shows_confirm ... ok
[INFO] [stdout] test screens::chaos::tests::active_scenarios_reads_data ... ok
[INFO] [stdout] test screens::chaos::tests::detail_focus ... ok
[INFO] [stdout] test screens::chaos::tests::is_enabled_reads_data ... ok
[INFO] [stdout] test screens::chaos::tests::new_starts_clean ... ok
[INFO] [stdout] test screens::chaos::tests::preset_picker_enter_shows_confirm ... ok
[INFO] [stdout] test screens::chaos::tests::preset_picker_navigation ... ok
[INFO] [stdout] test screens::chaos::tests::preset_picker_opens_and_closes ... ok
[INFO] [stdout] test screens::chaos::tests::preset_picker_select_active_shows_stop ... ok
[INFO] [stdout] test screens::chaos::tests::status_hints_change_with_mode ... ok
[INFO] [stdout] test screens::config::tests::category_change_resets_field ... ok
[INFO] [stdout] test screens::config::tests::category_navigation ... ok
[INFO] [stdout] test screens::config::tests::edit_float_field_faults ... ok
[INFO] [stdout] test screens::config::tests::enter_edit_mode ... ok
[INFO] [stdout] test screens::config::tests::new_starts_at_first_category ... ok
[INFO] [stdout] test screens::config::tests::readonly_fields_dont_edit ... ok
[INFO] [stdout] test screens::chaos::tests::toggle_shows_confirm ... ok
[INFO] [stdout] test screens::config::tests::edit_string_field_proxy ... ok
[INFO] [stdout] test screens::config::tests::field_navigation_in_edit_mode ... ok
[INFO] [stdout] test screens::config::tests::status_hints_change_with_mode ... ok
[INFO] [stdout] test screens::config::tests::fields_for_each_category ... ok
[INFO] [stdout] test screens::config::tests::toggle_bool_field ... ok
[INFO] [stdout] test screens::config::tests::format_field_value_formats_correctly ... ok
[INFO] [stdout] test screens::config::tests::inline_edit_cancel_with_esc ... ok
[INFO] [stdout] test screens::conformance::tests::dedup_violations_aggregates_client_stamps_across_group ... ok
[INFO] [stdout] test screens::conformance::tests::dedup_violations_carries_summary_or_rebuilds_from_reason ... ok
[INFO] [stdout] test screens::conformance::tests::dedup_violations_leaves_stamps_none_when_violations_unstamped ... ok
[INFO] [stdout] test screens::conformance::tests::dedup_violations_picks_latest_version_on_mixed_group ... ok
[INFO] [stdout] test screens::conformance::tests::detail_modal_snapshots_at_enter_time ... ok
[INFO] [stdout] test screens::conformance::tests::detail_snapshot_survives_on_data_payload ... ok
[INFO] [stdout] test screens::dashboard::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::config::tests::inline_edit_numeric_field ... ok
[INFO] [stdout] test screens::dashboard::tests::format_number_millions ... ok
[INFO] [stdout] test screens::dashboard::tests::format_number_small ... ok
[INFO] [stdout] test screens::dashboard::tests::format_number_thousands ... ok
[INFO] [stdout] test screens::dashboard::tests::handle_key_returns_false ... ok
[INFO] [stdout] test screens::dashboard::tests::new_creates_screen_with_expected_defaults ... ok
[INFO] [stdout] test screens::dashboard::tests::on_data_parses_dashboard_data_json ... ok
[INFO] [stdout] test screens::dashboard::tests::on_data_tracks_request_rate_history ... ok
[INFO] [stdout] test screens::dashboard::tests::on_data_with_invalid_json_sets_error ... ok
[INFO] [stdout] test screens::dashboard::tests::status_hint_returns_expected_text ... ok
[INFO] [stdout] test screens::dashboard::tests::truncate_str_exact_length ... ok
[INFO] [stdout] test screens::dashboard::tests::truncate_str_long_string ... ok
[INFO] [stdout] test screens::dashboard::tests::truncate_str_short_string ... ok
[INFO] [stdout] test screens::federation::tests::d_key_shows_detail ... ok
[INFO] [stdout] test screens::federation::tests::enter_on_empty_does_not_show_detail ... ok
[INFO] [stdout] test screens::federation::tests::enter_with_peers_shows_detail ... ok
[INFO] [stdout] test screens::federation::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::federation::tests::esc_dismisses_detail ... ok
[INFO] [stdout] test screens::federation::tests::on_data_parses_peer_list ... ok
[INFO] [stdout] test screens::federation::tests::selected_peer_returns_correct_peer ... ok
[INFO] [stdout] test screens::federation::tests::new_creates_empty_screen ... ok
[INFO] [stdout] test screens::federation::tests::status_hint_shows_details ... ok
[INFO] [stdout] test screens::import::tests::c_key_with_entries_shows_confirm ... ok
[INFO] [stdout] test screens::import::tests::clear_result_sets_status_message ... ok
[INFO] [stdout] test screens::import::tests::c_key_on_empty_does_not_show_confirm ... ok
[INFO] [stdout] test screens::import::tests::confirm_yes_sets_pending_clear ... ok
[INFO] [stdout] test screens::import::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::import::tests::j_k_scroll ... ok
[INFO] [stdout] test screens::import::tests::r_key_forces_refresh ... ok
[INFO] [stdout] test screens::import::tests::new_creates_empty_screen ... ok
[INFO] [stdout] test screens::logs::tests::confirm_yes_clears_all_lines ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_c_on_empty_logs_does_not_show_confirm ... ok
[INFO] [stdout] test screens::import::tests::confirm_no_does_not_clear ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_c_with_logs_shows_confirm ... ok
[INFO] [stdout] test screens::import::tests::on_data_parses_array ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_f_toggles_follow ... ok
[INFO] [stdout] test screens::import::tests::status_hint_shows_controls ... ok
[INFO] [stdout] test screens::logs::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_j_k_scrolls_and_disables_follow ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_shift_g_jumps_to_bottom_and_enables_follow ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_g_jumps_to_top ... ok
[INFO] [stdout] test screens::logs::tests::handle_key_slash_activates_filter ... ok
[INFO] [stdout] test screens::logs::tests::new_creates_screen_with_defaults ... ok
[INFO] [stdout] test screens::logs::tests::on_data_parses_request_log_json_array ... ok
[INFO] [stdout] test screens::logs::tests::status_hint_contains_expected_keywords ... ok
[INFO] [stdout] test screens::dashboard::tests::request_rate_history_caps_at_60_entries ... ok
[INFO] [stdout] test screens::recorder::tests::c_key_clears_status_message ... ok
[INFO] [stdout] test screens::recorder::tests::confirm_no_does_not_set_pending ... ok
[INFO] [stdout] test screens::recorder::tests::confirm_yes_sets_pending_toggle ... ok
[INFO] [stdout] test screens::recorder::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::recorder::tests::is_recording_with_no_data ... ok
[INFO] [stdout] test screens::recorder::tests::new_creates_screen_with_defaults ... ok
[INFO] [stdout] test screens::recorder::tests::on_data_parses_status ... ok
[INFO] [stdout] test screens::recorder::tests::s_key_shows_start_confirm_when_stopped ... ok
[INFO] [stdout] test screens::recorder::tests::s_key_shows_stop_confirm_when_recording ... ok
[INFO] [stdout] test screens::recorder::tests::status_hint_shows_controls ... ok
[INFO] [stdout] test screens::logs::tests::push_log_line_respects_max_log_lines ... ok
[INFO] [stdout] test screens::recorder::tests::toggle_result_sets_status_message ... ok
[INFO] [stdout] test screens::routes::tests::filter_activates_with_slash_key ... ok
[INFO] [stdout] test screens::routes::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::routes::tests::new_creates_screen_with_expected_defaults ... ok
[INFO] [stdout] test screens::routes::tests::on_data_parses_route_info_json_array ... ok
[INFO] [stdout] test screens::routes::tests::on_data_with_invalid_json_sets_error ... ok
[INFO] [stdout] test screens::logs::tests::push_log_line_appends_and_auto_scrolls ... ok
[INFO] [stdout] test screens::routes::tests::rebuild_filtered_respects_filter_text ... ok
[INFO] [stdout] test screens::routes::tests::sort_cycles_through_columns ... ok
[INFO] [stdout] test screens::routes::tests::sort_toggles_ascending_descending_on_wrap ... ok
[INFO] [stdout] test screens::routes::tests::status_hint_contains_expected_keywords ... ok
[INFO] [stdout] test screens::routes::tests::table_navigation_with_j_k ... ok
[INFO] [stdout] test screens::smoke_tests::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::smoke_tests::tests::handle_key_j_k_navigates_table ... ok
[INFO] [stdout] test screens::smoke_tests::tests::handle_key_r_sets_pending_run ... ok
[INFO] [stdout] test screens::smoke_tests::tests::new_creates_expected_defaults ... ok
[INFO] [stdout] test screens::smoke_tests::tests::on_data_clears_running_state ... ok
[INFO] [stdout] test screens::smoke_tests::tests::on_data_invalid_json_sets_error ... ok
[INFO] [stdout] test screens::smoke_tests::tests::on_data_parses_smoke_test_results ... ok
[INFO] [stdout] test screens::smoke_tests::tests::on_error_sets_error_and_clears_running ... ok
[INFO] [stdout] test screens::smoke_tests::tests::status_hint_contains_expected_keywords ... ok
[INFO] [stdout] test screens::tests::all_data_keys_are_non_empty ... ok
[INFO] [stdout] test screens::tests::all_data_keys_are_snake_case ... ok
[INFO] [stdout] test screens::tests::all_data_keys_are_unique ... ok
[INFO] [stdout] test screens::tests::all_has_correct_count ... ok
[INFO] [stdout] test screens::tests::all_labels_and_data_keys_consistent_count ... ok
[INFO] [stdout] test screens::tests::all_labels_are_non_empty ... ok
[INFO] [stdout] test screens::tests::screen_id_clone ... ok
[INFO] [stdout] test screens::tests::screen_id_equality ... ok
[INFO] [stdout] test screens::tests::specific_data_keys ... ok
[INFO] [stdout] test screens::tests::specific_labels ... ok
[INFO] [stdout] test screens::verification::tests::build_query_includes_path_when_set ... ok
[INFO] [stdout] test screens::verification::tests::build_query_omits_empty_path ... ok
[INFO] [stdout] test screens::verification::tests::c_key_clears_results ... ok
[INFO] [stdout] test screens::verification::tests::edit_and_cancel ... ok
[INFO] [stdout] test screens::verification::tests::edit_and_commit ... ok
[INFO] [stdout] test screens::verification::tests::enter_starts_edit_mode ... ok
[INFO] [stdout] test screens::verification::tests::invalid_min_count_rejected ... ok
[INFO] [stdout] test screens::verification::tests::j_k_navigate_fields ... ok
[INFO] [stdout] test screens::verification::tests::method_uppercased_on_commit ... ok
[INFO] [stdout] test screens::verification::tests::new_creates_default_screen ... ok
[INFO] [stdout] test screens::verification::tests::on_data_parses_verification_error ... ok
[INFO] [stdout] test screens::verification::tests::on_data_parses_verification_result ... ok
[INFO] [stdout] test screens::verification::tests::status_hint_shows_verify ... ok
[INFO] [stdout] test screens::verification::tests::tab_cycles_fields_forward ... ok
[INFO] [stdout] test screens::verification::tests::v_key_sets_pending_query ... ok
[INFO] [stdout] test screens::workspaces::tests::activate_already_active_shows_message ... ok
[INFO] [stdout] test screens::workspaces::tests::activate_inactive_shows_confirm ... ok
[INFO] [stdout] test screens::workspaces::tests::activation_result_sets_status_message ... ok
[INFO] [stdout] test screens::workspaces::tests::c_key_clears_status_message ... ok
[INFO] [stdout] test screens::workspaces::tests::confirm_no_does_not_activate ... ok
[INFO] [stdout] test screens::workspaces::tests::force_refresh_clears_last_fetch ... ok
[INFO] [stdout] test screens::workspaces::tests::confirm_yes_sets_pending_activation ... ok
[INFO] [stdout] test screens::workspaces::tests::new_creates_empty_screen ... ok
[INFO] [stdout] test screens::workspaces::tests::on_data_parses_workspace_list ... ok
[INFO] [stdout] test screens::workspaces::tests::status_hint_shows_activate ... ok
[INFO] [stdout] test theme::tests::composed_styles_use_palette ... ok
[INFO] [stdout] test theme::tests::const_aliases_match_dark_palette ... ok
[INFO] [stdout] test theme::tests::http_method_styles ... ok
[INFO] [stdout] test theme::tests::light_palette_differs_from_dark ... ok
[INFO] [stdout] test theme::tests::status_code_styles ... ok
[INFO] [stdout] test widgets::bar_chart::tests::empty_entries_handled ... ok
[INFO] [stdout] test widgets::bar_chart::tests::max_value_fallback_to_largest ... ok
[INFO] [stdout] test widgets::command_palette::tests::enter_selects_command ... ok
[INFO] [stdout] test widgets::command_palette::tests::esc_closes_without_action ... ok
[INFO] [stdout] test widgets::command_palette::tests::filter_narrows_results ... ok
[INFO] [stdout] test widgets::command_palette::tests::hidden_palette_returns_none ... ok
[INFO] [stdout] test widgets::command_palette::tests::open_and_close ... ok
[INFO] [stdout] test theme::tests::dark_palette_default ... ok
[INFO] [stdout] test widgets::confirm::tests::enter_confirms_current_selection_no ... ok
[INFO] [stdout] test widgets::confirm::tests::enter_confirms_current_selection_yes ... ok
[INFO] [stdout] test widgets::confirm::tests::esc_key_rejects_and_hides ... ok
[INFO] [stdout] test widgets::confirm::tests::h_l_toggle_selection ... ok
[INFO] [stdout] test widgets::confirm::tests::hidden_dialog_does_not_consume_keys ... ok
[INFO] [stdout] test widgets::confirm::tests::hide_makes_dialog_invisible ... ok
[INFO] [stdout] test widgets::confirm::tests::left_right_toggle_selection ... ok
[INFO] [stdout] test widgets::confirm::tests::n_key_rejects_and_hides ... ok
[INFO] [stdout] test widgets::confirm::tests::new_creates_hidden_dialog ... ok
[INFO] [stdout] test widgets::confirm::tests::show_makes_dialog_visible ... ok
[INFO] [stdout] test widgets::confirm::tests::show_resets_selection_to_no ... ok
[INFO] [stdout] test widgets::confirm::tests::unrecognized_key_returns_none ... ok
[INFO] [stdout] test widgets::confirm::tests::y_key_confirms_and_hides ... ok
[INFO] [stdout] test widgets::diff_viewer::tests::parse_additions_and_removals ... ok
[INFO] [stdout] test widgets::diff_viewer::tests::parse_empty_diff ... ok
[INFO] [stdout] test widgets::diff_viewer::tests::parse_mixed_diff ... ok
[INFO] [stdout] test widgets::filter::tests::activate_and_deactivate ... ok
[INFO] [stdout] test widgets::filter::tests::backspace_at_start_does_nothing ... ok
[INFO] [stdout] test widgets::filter::tests::backspace_removes_last_char ... ok
[INFO] [stdout] test widgets::filter::tests::char_input_appends_text ... ok
[INFO] [stdout] test widgets::filter::tests::clear_resets_text_and_cursor ... ok
[INFO] [stdout] test widgets::filter::tests::delete_at_end_does_nothing ... ok
[INFO] [stdout] test widgets::filter::tests::delete_removes_char_at_cursor ... ok
[INFO] [stdout] test widgets::filter::tests::enter_deactivates_filter ... ok
[INFO] [stdout] test widgets::filter::tests::esc_deactivates_filter ... ok
[INFO] [stdout] test widgets::filter::tests::home_and_end_keys ... ok
[INFO] [stdout] test widgets::filter::tests::inactive_filter_does_not_consume_keys ... ok
[INFO] [stdout] test widgets::filter::tests::left_at_start_does_not_underflow ... ok
[INFO] [stdout] test widgets::filter::tests::matches_case_insensitive ... ok
[INFO] [stdout] test widgets::filter::tests::matches_empty_filter_matches_everything ... ok
[INFO] [stdout] test widgets::filter::tests::matches_partial_substring ... ok
[INFO] [stdout] test widgets::filter::tests::new_creates_empty_inactive_filter ... ok
[INFO] [stdout] test widgets::filter::tests::structured_filter_method ... ok
[INFO] [stdout] test widgets::filter::tests::right_at_end_does_not_overflow ... ok
[INFO] [stdout] test widgets::filter::tests::structured_filter_multiple_terms ... ok
[INFO] [stdout] test widgets::filter::tests::structured_filter_path ... ok
[INFO] [stdout] test widgets::filter::tests::structured_filter_status_class ... ok
[INFO] [stdout] test widgets::filter::tests::left_right_movement ... ok
[INFO] [stdout] test widgets::sparkline::tests::all_same_values ... ok
[INFO] [stdout] test widgets::sparkline::tests::ascending_values ... ok
[INFO] [stdout] test widgets::sparkline::tests::empty_data_returns_empty_string ... ok
[INFO] [stdout] test widgets::sparkline::tests::single_value_returns_one_char ... ok
[INFO] [stdout] test widgets::sparkline::tests::truncates_to_max_width ... ok
[INFO] [stdout] test widgets::sparkline::tests::zero_data_produces_lowest_spark ... ok
[INFO] [stdout] test widgets::table::tests::default_state ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_g_scrolls_top ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_j_scrolls_down ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_k_scrolls_up ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_page_up_down ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_shift_g_scrolls_bottom ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_unrecognized_returns_false ... ok
[INFO] [stdout] test widgets::table::tests::handle_key_arrow_keys ... ok
[INFO] [stdout] test widgets::table::tests::next_sort_zero_columns_does_nothing ... ok
[INFO] [stdout] test widgets::table::tests::page_down_clamps_to_last_row ... ok
[INFO] [stdout] test widgets::table::tests::page_down_jumps_visible_height ... ok
[INFO] [stdout] test widgets::table::tests::page_up_clamps_to_zero ... ok
[INFO] [stdout] test widgets::table::tests::page_up_jumps_visible_height ... ok
[INFO] [stdout] test widgets::table::tests::scroll_bottom_jumps_to_last_row ... ok
[INFO] [stdout] test widgets::table::tests::scroll_bottom_with_zero_rows_does_nothing ... ok
[INFO] [stdout] test widgets::table::tests::scroll_down_adjusts_offset_when_past_visible ... ok
[INFO] [stdout] test widgets::table::tests::scroll_down_stops_at_last_row ... ok
[INFO] [stdout] test widgets::table::tests::scroll_down_with_zero_rows_does_nothing ... ok
[INFO] [stdout] test widgets::table::tests::scroll_top_resets_to_zero ... ok
[INFO] [stdout] test widgets::table::tests::scroll_up_adjusts_offset ... ok
[INFO] [stdout] test widgets::table::tests::scroll_up_decrements_selected ... ok
[INFO] [stdout] test widgets::table::tests::scroll_up_stops_at_zero ... ok
[INFO] [stdout] test widgets::table::tests::set_total_clamps_selected ... ok
[INFO] [stdout] test widgets::table::tests::scroll_down_increments_selected ... ok
[INFO] [stdout] test widgets::table::tests::set_total_does_not_clamp_when_within_range ... ok
[INFO] [stdout] test widgets::table::tests::visible_range_basic ... ok
[INFO] [stdout] test widgets::table::tests::visible_range_clamps_to_total ... ok
[INFO] [stdout] test widgets::table::tests::visible_range_empty ... ok
[INFO] [stdout] test widgets::table::tests::next_sort_cycles_columns ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 301 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mockforge_tui-196e5c3b8cbff448)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/live_api_test.rs (/opt/rustwide/target/debug/deps/live_api_test-5a49115cc0d70d59)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test analytics_parses_from_live_server ... ok
[INFO] [stdout] test config_parses_from_live_server ... ok
[INFO] [stdout] test chaos_handles_missing_endpoint ... ok
[INFO] [stdout] test dashboard_parses_from_live_server ... ok
[INFO] [stdout] test audit_parses_from_live_server ... ok
[INFO] [stdout] test logs_parses_from_live_server ... ok
[INFO] [stdout] test recorder_handles_missing_endpoint ... ok
[INFO] [stdout] test server_info_parses_from_live_server ... ok
[INFO] [stdout] test smoke_tests_parses_from_live_server ... ok
[INFO] [stdout] test plugins_parses_from_live_server ... ok
[INFO] [stdout] test fixtures_parses_from_live_server ... ok
[INFO] [stdout] test health_parses_from_live_server ... ok
[INFO] [stdout] test contract_diff_parses_from_live_server ... ok
[INFO] [stdout] test vbr_handles_missing_endpoint ... ok
[INFO] [stdout] test federation_handles_missing_endpoint ... ok
[INFO] [stdout] test workspaces_parses_from_live_server ... ok
[INFO] [stdout] test time_travel_parses_from_live_server ... ok
[INFO] [stdout] test metrics_parses_from_live_server ... ok
[INFO] [stdout] test world_state_handles_missing_endpoint ... ok
[INFO] [stdout] test routes_parses_from_live_server ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/screen_render.rs (/opt/rustwide/target/debug/deps/screen_render-230a831570038fe2)
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test all_screens_have_nonempty_titles ... ok
[INFO] [stdout] test behavioral_cloning_renders_empty ... ok
[INFO] [stdout] test behavioral_cloning_renders_with_data ... ok
[INFO] [stdout] test audit_renders_with_data ... ok
[INFO] [stdout] test audit_renders_empty ... ok
[INFO] [stdout] test analytics_renders_with_data ... ok
[INFO] [stdout] test analytics_renders_empty ... ok
[INFO] [stdout] test chaos_renders_empty ... ok
[INFO] [stdout] test chains_renders_with_data ... ok
[INFO] [stdout] test config_renders_with_data ... ok
[INFO] [stdout] test config_renders_empty ... ok
[INFO] [stdout] test dashboard_renders_small_terminal ... ok
[INFO] [stdout] test fixtures_renders_empty ... ok
[INFO] [stdout] test chaos_renders_with_data ... ok
[INFO] [stdout] test federation_renders_empty ... ok
[INFO] [stdout] test health_renders_empty ... ok
[INFO] [stdout] test dashboard_renders_empty ... ok
[INFO] [stdout] test logs_renders_empty ... ok
[INFO] [stdout] test dashboard_renders_after_error ... ok
[INFO] [stdout] test import_renders_with_data ... ok
[INFO] [stdout] test contract_diff_renders_with_data ... ok
[INFO] [stdout] test dashboard_renders_after_bad_data ... ok
[INFO] [stdout] test recorder_renders_with_data ... ok
[INFO] [stdout] test health_renders_with_data ... ok
[INFO] [stdout] test federation_renders_with_data ... ok
[INFO] [stdout] test metrics_renders_empty ... ok
[INFO] [stdout] test import_renders_empty ... ok
[INFO] [stdout] test fixtures_renders_with_data ... ok
[INFO] [stdout] test chains_renders_empty ... ok
[INFO] [stdout] test plugins_renders_with_data ... ok
[INFO] [stdout] test plugins_renders_empty ... ok
[INFO] [stdout] test contract_diff_renders_empty ... ok
[INFO] [stdout] test recorder_renders_empty ... ok
[INFO] [stdout] test dashboard_renders_with_data ... ok
[INFO] [stdout] test world_state_renders_empty ... ok
[INFO] [stdout] test time_travel_renders_with_data ... ok
[INFO] [stdout] test routes_renders_small_terminal ... ok
[INFO] [stdout] test metrics_renders_with_data ... ok
[INFO] [stdout] test workspaces_renders_empty ... ok
[INFO] [stdout] test verification_renders_empty ... ok
[INFO] [stdout] test smoke_tests_renders_empty ... ok
[INFO] [stdout] test workspaces_renders_with_data ... ok
[INFO] [stdout] test routes_renders_empty ... ok
[INFO] [stdout] test routes_renders_after_parse_error ... ok
[INFO] [stdout] test time_travel_renders_empty ... ok
[INFO] [stdout] test smoke_tests_renders_with_data ... ok
[INFO] [stdout] test world_state_renders_with_data ... ok
[INFO] [stdout] test routes_renders_with_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mockforge_tui
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3", kill_on_drop: false }`
[INFO] [stdout] 6eb48a7da14f77ad80f244fce1a1ac22a6f98f8a0894ce2c33895848fbd5aaa3
