[INFO] fetching crate desktui 0.4.0...
[INFO] testing desktui-0.4.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate desktui 0.4.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate desktui 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate desktui 0.4.0
[INFO] tweaked toml for crates.io crate desktui 0.4.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate desktui 0.4.0 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 desktui 0.4.0 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 log v0.4.33
[INFO] [stderr]   Downloaded zune-core v0.5.1
[INFO] [stderr]   Downloaded smallvec v1.15.2
[INFO] [stderr]   Downloaded by_address v1.2.1
[INFO] [stderr]   Downloaded time-core v0.1.9
[INFO] [stderr]   Downloaded num_threads v0.1.7
[INFO] [stderr]   Downloaded futures-task v0.3.33
[INFO] [stderr]   Downloaded zune-jpeg v0.5.15
[INFO] [stderr]   Downloaded futures-core v0.3.33
[INFO] [stderr]   Downloaded tokio-macros v2.7.1
[INFO] [stderr]   Downloaded strum v0.28.0
[INFO] [stderr]   Downloaded darling_macro v0.23.0
[INFO] [stderr]   Downloaded instability v0.3.12
[INFO] [stderr]   Downloaded colorchoice v1.0.5
[INFO] [stderr]   Downloaded num-conv v0.2.2
[INFO] [stderr]   Downloaded futures-sink v0.3.33
[INFO] [stderr]   Downloaded futures-io v0.3.33
[INFO] [stderr]   Downloaded line-clipping v0.3.7
[INFO] [stderr]   Downloaded thiserror v2.0.19
[INFO] [stderr]   Downloaded thiserror-impl v2.0.19
[INFO] [stderr]   Downloaded strum_macros v0.28.0
[INFO] [stderr]   Downloaded anstream v1.0.0
[INFO] [stderr]   Downloaded deranged v0.5.8
[INFO] [stderr]   Downloaded kasuari v0.4.12
[INFO] [stderr]   Downloaded either v1.17.0
[INFO] [stderr]   Downloaded palette_derive v0.7.6
[INFO] [stderr]   Downloaded lru v0.18.1
[INFO] [stderr]   Downloaded futures-macro v0.3.33
[INFO] [stderr]   Downloaded futures-executor v0.3.33
[INFO] [stderr]   Downloaded clap_lex v1.1.0
[INFO] [stderr]   Downloaded anstyle-parse v1.0.0
[INFO] [stderr]   Downloaded unicode-truncate v2.0.1
[INFO] [stderr]   Downloaded simd-adler32 v0.3.10
[INFO] [stderr]   Downloaded fast-srgb8 v1.0.0
[INFO] [stderr]   Downloaded darling v0.23.0
[INFO] [stderr]   Downloaded futures-channel v0.3.33
[INFO] [stderr]   Downloaded clap_derive v4.6.4
[INFO] [stderr]   Downloaded bitflags v2.13.1
[INFO] [stderr]   Downloaded futures v0.3.33
[INFO] [stderr]   Downloaded clap v4.6.4
[INFO] [stderr]   Downloaded darling_core v0.23.0
[INFO] [stderr]   Downloaded ratatui v0.30.2
[INFO] [stderr]   Downloaded compact_str v0.9.1
[INFO] [stderr]   Downloaded flate2 v1.1.9
[INFO] [stderr]   Downloaded base64 v0.23.0
[INFO] [stderr]   Downloaded mio v1.2.2
[INFO] [stderr]   Downloaded fast_image_resize v6.1.0
[INFO] [stderr]   Downloaded futures-util v0.3.33
[INFO] [stderr]   Downloaded clap_builder v4.6.2
[INFO] [stderr]   Downloaded ratatui-core v0.1.2
[INFO] [stderr]   Downloaded portable-atomic v1.14.0
[INFO] [stderr]   Downloaded palette v0.7.6
[INFO] [stderr]   Downloaded ratatui-widgets v0.3.2
[INFO] [stderr]   Downloaded time v0.3.54
[INFO] [stderr]   Downloaded syn v3.0.3
[INFO] [stderr]   Downloaded regex-automata v0.4.16
[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] 031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc
[INFO] running `Command { std: "docker" "start" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", 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" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc" "/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" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", 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" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling futures-core v0.3.33
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling futures-sink v0.3.33
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling futures-channel v0.3.33
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling futures-task v0.3.33
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling futures-io v0.3.33
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling lru v0.18.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling zune-jpeg v0.5.15
[INFO] [stderr]    Compiling base64 v0.23.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tokio-macros v2.7.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling futures-util v0.3.33
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling fast_image_resize v6.1.0
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.33
[INFO] [stderr]    Compiling futures v0.3.33
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling desktui v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 37s
[INFO] running `Command { std: "docker" "inspect" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", 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" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc" "/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 desktui v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 35s
[INFO] running `Command { std: "docker" "inspect" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", 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" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc" "/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.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/desktui-767fe4f2d52d04fe)
[INFO] [stdout] 
[INFO] [stdout] running 325 tests
[INFO] [stdout] test cli::tests::rejects_nonsense ... ok
[INFO] [stdout] test remote::tests::a_refused_resize_names_its_reason ... ok
[INFO] [stdout] test remote::vnc::tests::a_paste_the_server_will_take_unasked_goes_straight_over ... ok
[INFO] [stdout] test cli::tests::double_colon_is_an_explicit_port ... ok
[INFO] [stdout] test app::tests::describes_a_cropped_view_and_a_scaled_one ... ok
[INFO] [stdout] test remote::vnc::tests::a_remote_selection_is_fetched_rather_than_waited_for ... ok
[INFO] [stdout] test remote::vnc::tests::a_resize_says_nothing_when_updates_were_never_being_pushed ... ok
[INFO] [stdout] test remote::vnc::tests::a_server_fence_is_echoed_without_the_request_bit ... ok
[INFO] [stdout] test cli::tests::bare_host_defaults_to_5900 ... ok
[INFO] [stdout] test remote::vnc::tests::a_paste_over_the_servers_limit_is_announced_and_kept ... ok
[INFO] [stdout] test cli::tests::the_scale_modes_cycle_and_come_back_round ... ok
[INFO] [stdout] test app::tests::fps_meter_reports_zero_before_it_has_samples ... ok
[INFO] [stdout] test remote::vnc::tests::a_resize_re_arms_continuous_updates_for_the_new_size ... ok
[INFO] [stdout] test cli::tests::large_single_colon_values_are_ports ... ok
[INFO] [stdout] test app::tests::describes_an_exact_match_as_native ... ok
[INFO] [stdout] test app::tests::byte_formatting_is_compact ... ok
[INFO] [stdout] test remote::tests::only_reason_one_is_a_reply_to_this_client ... ok
[INFO] [stdout] test remote::vnc::tests::a_cursor_rectangle_becomes_a_size_and_a_hotspot ... ok
[INFO] [stdout] test remote::vnc::tests::a_refused_resize_does_not_move_the_remembered_size ... ok
[INFO] [stdout] test remote::vnc::tests::negotiated_caps_take_the_clipboard_off_the_lossy_path ... ok
[INFO] [stdout] test remote::vnc::tests::only_the_first_fence_announces_the_capability ... ok
[INFO] [stdout] test render::framebuffer::tests::out_of_bounds_rects_are_clipped_not_fatal ... ok
[INFO] [stdout] test remote::vnc::tests::our_own_probe_coming_back_is_a_measurement ... ok
[INFO] [stdout] test cli::tests::single_colon_is_a_display_number ... ok
[INFO] [stdout] test remote::vnc::tests::end_of_continuous_updates_asks_for_them_again ... ok
[INFO] [stdout] test render::framebuffer::tests::copy_rect_shrinks_rather_than_reading_past_the_end ... ok
[INFO] [stdout] test render::framebuffer::tests::resize_keeps_the_overlap_and_blacks_out_the_rest ... ok
[INFO] [stdout] test render::framebuffer::tests::jpeg_rect_is_byte_swapped_into_place ... ok
[INFO] [stdout] test cli::tests::ipv6_needs_brackets_for_a_display ... ok
[INFO] [stdout] test remote::vnc::tests::no_clipboard_ignores_a_notify_the_server_sent_anyway ... ok
[INFO] [stdout] test remote::vnc::tests::pushing_is_enabled_for_the_size_known_at_connect_time ... ok
[INFO] [stdout] test render::scale::tests::crop_selects_the_requested_region ... ok
[INFO] [stdout] test render::framebuffer::tests::copy_rect_handles_upward_and_sideways_overlap ... ok
[INFO] [stdout] test render::framebuffer::tests::pack_rgb_swizzles_and_pads_past_the_edge ... ok
[INFO] [stdout] test render::framebuffer::tests::raw_rect_lands_where_asked ... ok
[INFO] [stdout] test render::testpattern::tests::a_crosshair_at_the_edge_is_clipped_not_fatal ... ok
[INFO] [stdout] test render::scale::tests::degenerate_sizes_are_a_no_op ... ok
[INFO] [stdout] test render::scale::tests::zero_alpha_padding_does_not_black_out_the_frame ... ok
[INFO] [stdout] test render::testpattern::tests::crosshair_lands_on_the_requested_pixel ... ok
[INFO] [stdout] test remote::vnc::tests::the_wire_length_counts_line_endings_and_the_terminating_null ... ok
[INFO] [stdout] test remote::vnc::tests::without_the_extension_a_paste_is_coerced_to_latin1 ... ok
[INFO] [stdout] test render::framebuffer::tests::copy_rect_handles_downward_overlap ... ok
[INFO] [stdout] test render::framebuffer::tests::resizing_through_zero_does_not_panic ... ok
[INFO] [stdout] test render::scale::tests::nearest_doubling_keeps_exact_colours ... ok
[INFO] [stdout] test render::framebuffer::tests::shrinking_keeps_the_top_left_and_drops_the_rest ... ok
[INFO] [stdout] test render::tests::a_zero_sized_source_does_not_panic ... ok
[INFO] [stdout] test render::testpattern::tests::checkerboard_alternates_every_pixel ... ok
[INFO] [stdout] test render::testpattern::tests::swatches_and_checkerboard_never_overlap ... ok
[INFO] [stdout] test render::tests::a_cursor_straddling_a_tile_boundary_draws_only_its_half ... ok
[INFO] [stdout] test render::testpattern::tests::tiny_and_zero_sized_patterns_do_not_panic ... ok
[INFO] [stdout] test render::tests::fit_preserves_aspect_and_letterboxes ... ok
[INFO] [stdout] test render::tests::every_tile_is_covered_exactly_once_and_stays_in_bounds ... ok
[INFO] [stdout] test render::testpattern::tests::moving_box_reports_both_the_old_and_new_regions ... ok
[INFO] [stdout] test render::framebuffer::tests::resizing_to_the_same_size_is_a_no_op ... ok
[INFO] [stdout] test render::testpattern::tests::static_pattern_marks_the_corners_and_border ... ok
[INFO] [stdout] test render::tests::damage_maps_to_the_tiles_that_actually_contain_it ... ok
[INFO] [stdout] test render::tests::damage_outside_the_visible_window_is_ignored ... ok
[INFO] [stdout] test render::testpattern::tests::colour_swatches_are_red_green_blue_left_to_right ... ok
[INFO] [stdout] test render::tests::image_area_excludes_the_status_row ... ok
[INFO] [stdout] test render::tests::composing_emits_one_command_group_per_dirty_tile ... ok
[INFO] [stdout] test render::tests::integer_mode_falls_back_to_fitting_when_nothing_fits ... ok
[INFO] [stdout] test render::tests::integer_mode_picks_a_whole_factor_and_stays_crisp ... ok
[INFO] [stdout] test render::tests::mouse_mapping_accounts_for_pan_and_letterbox ... ok
[INFO] [stdout] test render::tests::one_to_one_crops_and_clamps_the_pan ... ok
[INFO] [stdout] test render::tests::rect_helpers_behave_at_the_edges ... ok
[INFO] [stdout] test render::tests::nothing_dirty_means_nothing_written ... ok
[INFO] [stdout] test render::tests::moving_the_cursor_damages_where_it_was_and_where_it_went ... ok
[INFO] [stdout] test render::framebuffer::tests::new_framebuffer_is_opaque_black ... ok
[INFO] [stdout] test render::tests::odd_sizes_do_not_overflow_the_area ... ok
[INFO] [stdout] test render::tests::mouse_mapping_round_trips_at_1_to_1 ... ok
[INFO] [stdout] test render::tests::a_zero_sized_cursor_is_how_a_server_hides_it ... ok
[INFO] [stdout] test render::tests::native_size_match_is_pixel_exact_and_unscaled ... ok
[INFO] [stdout] test render::testpattern::tests::erasing_restores_the_background_exactly ... ok
[INFO] [stdout] test render::tests::scaled_damage_is_padded_for_the_filter ... ok
[INFO] [stdout] test rfb::client::auth::tests::a_33_server_sends_one_word_and_no_list ... ok
[INFO] [stdout] test rfb::client::auth::tests::a_33_server_refusing_the_connection_carries_a_reason ... ok
[INFO] [stdout] test render::tests::the_last_cell_row_is_never_used ... ok
[INFO] [stdout] test render::tests::a_cursor_shorter_than_its_dimensions_is_refused ... ok
[INFO] [stdout] test render::tests::the_cursor_is_drawn_only_where_it_is_opaque ... ok
[INFO] [stdout] test rfb::client::auth::tests::a_modern_server_offers_a_list ... ok
[INFO] [stdout] test render::tests::hiding_the_cursor_repairs_what_it_covered ... ok
[INFO] [stdout] test render::tests::the_hotspot_places_the_cursor_relative_to_the_pointer ... ok
[INFO] [stdout] test rfb::client::auth::tests::every_documented_security_type_maps_to_itself ... ok
[INFO] [stdout] test rfb::client::auth::tests::anything_that_is_not_zero_is_a_failure ... ok
[INFO] [stdout] test rfb::client::auth::tests::an_empty_list_carries_the_reason_the_server_refused ... ok
[INFO] [stdout] test rfb::client::auth::tests::an_undocumented_security_type_is_refused_rather_than_reinterpreted ... ok
[INFO] [stdout] test rfb::client::auth::tests::an_unknown_type_in_the_list_is_refused ... ok
[INFO] [stdout] test render::tests::shrinking_the_grid_drops_every_image ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::a_provide_is_null_terminated_and_crlf_and_the_null_is_counted ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::a_provide_longer_than_its_declared_size_is_refused ... ok
[INFO] [stdout] test rfb::client::auth::tests::the_password_becomes_a_bit_reversed_key ... ok
[INFO] [stdout] test rfb::client::auth::tests::the_result_word_decides_whether_the_password_was_accepted ... ok
[INFO] [stdout] test rfb::client::auth::tests::only_the_first_eight_characters_of_a_password_are_used ... ok
[INFO] [stdout] test rfb::client::auth::tests::the_response_is_sixteen_bytes_and_depends_on_the_password ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::a_provide_that_is_not_zlib_is_refused ... ok
[INFO] [stdout] test render::tests::a_relayout_wipes_the_screen_before_redrawing ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::a_truncated_message_is_refused_rather_than_guessed_at ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::cyrillic_survives_a_round_trip ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::our_caps_body_carries_one_size_per_format_bit ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::line_endings_come_back_as_newlines ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::request_and_notify_are_flags_and_nothing_else ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_copy_rect_reports_both_rectangles ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_clipboard_message_within_the_cap_arrives_intact ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::text_that_is_not_utf8_is_substituted_rather_than_refused ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::formats_a_terminal_cannot_hold_are_ignored_not_refused ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::the_actions_that_carry_nothing_decode_from_flags_alone ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_raw_rectangle_is_followed_by_an_update_end ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_clipboard_payload_over_the_cap_is_truncated_not_allocated ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_server_fence_arrives_with_its_flags_and_payload ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_negotiation_only_encoding_sent_as_a_rectangle_is_refused ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_failed_resize_reply_does_not_move_the_cached_size ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_forwarded_resize_is_not_a_failure ... ok
[INFO] [stdout] test rfb::client::connection::tests::an_overlong_fence_payload_is_read_in_full_but_kept_short ... ok
[INFO] [stdout] test rfb::client::connection::tests::an_unrequested_encoding_is_an_error_not_a_guess ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::caps_reports_the_text_size_from_the_right_slot ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_refused_resize_carries_the_reason ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_colour_map_is_reported_rather_than_panicking ... ok
[INFO] [stdout] test rfb::client::connection::tests::a_server_side_resize_reports_reason_zero ... ok
[INFO] [stdout] test rfb::client::connection::tests::an_implausible_clipboard_length_is_refused_rather_than_skipped ... ok
[INFO] [stdout] test rfb::client::connection::tests::extended_clipboard_messages_become_events_not_four_billion_bytes ... ok
[INFO] [stdout] test rfb::client::connector::tests::an_unrecognised_version_is_treated_as_33 ... ok
[INFO] [stdout] test rfb::client::connector::tests::a_rejected_password_on_38_reports_the_servers_reason ... ok
[INFO] [stdout] test rfb::client::connector::tests::no_auth_on_37_echoes_the_type_but_reads_no_result ... ok
[INFO] [stdout] test rfb::client::connector::tests::the_lower_of_the_two_versions_is_agreed_and_echoed ... ok
[INFO] [stdout] test rfb::client::connection::tests::last_rect_ends_the_update_exactly_once ... ok
[INFO] [stdout] test rfb::client::connector::tests::vnc_auth_on_38_is_echoed_before_the_password_is_needed ... ok
[INFO] [stdout] test rfb::client::connection::tests::led_state_decodes_each_lock_key ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::a_fence_response_matches_the_wire_format ... ok
[INFO] [stdout] test rfb::client::connector::tests::no_auth_on_38_echoes_the_type_and_consumes_the_security_result ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::a_framebuffer_update_request_carries_the_incremental_flag ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::cut_text_goes_out_as_latin1_not_utf8 ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::cut_text_outside_latin1_is_substituted_rather_than_truncated ... ok
[INFO] [stdout] test rfb::client::connector::tests::vnc_auth_on_33_is_not_echoed_either ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::enable_continuous_updates_matches_the_wire_format ... ok
[INFO] [stdout] test rfb::client::connector::tests::a_client_with_no_encodings_is_refused ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::set_desktop_size_matches_the_wire_format ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::set_desktop_size_preserves_screen_ids_and_flags ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::the_hint_encodings_go_out_with_the_rest ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::a_bell_is_just_its_type_byte ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::a_colour_map_is_drained_before_it_is_refused ... ok
[INFO] [stdout] test render::tests::a_cursor_at_the_edge_is_clipped_not_fatal ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::a_framebuffer_update_carries_its_rectangle_count ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::key_and_pointer_events_match_the_spec ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::a_fence_carries_its_flags_and_payload ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::a_negative_cut_text_length_is_the_extension_not_four_billion_bytes ... ok
[INFO] [stdout] test rfb::client::connection::tests::extended_desktop_size_decodes_reason_status_and_screens ... ok
[INFO] [stdout] test rfb::client::clipboard::tests::a_payload_that_inflates_past_the_cap_is_refused_before_it_is_kept ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::an_extended_message_past_the_text_cap_is_dropped_but_still_consumed ... ok
[INFO] [stdout] test render::tests::the_cursor_reaches_the_terminal_when_composed ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::an_unknown_message_type_is_refused ... ok
[INFO] [stdout] test rfb::client::connector::tests::a_server_offering_nothing_we_implement_says_so ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::an_implausible_cut_text_length_is_refused_before_allocating ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::cut_text_arrives_as_a_string ... ok
[INFO] [stdout] test rfb::client::connection::tests::the_cached_size_follows_a_plain_resolution_event ... ok
[INFO] [stdout] test rfb::client::connector::tests::no_auth_on_33_sends_nothing_and_goes_straight_to_client_init ... ok
[INFO] [stdout] test rfb::client::connection::tests::the_older_desktop_size_encoding_still_works ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::an_oversized_fence_payload_is_clipped_to_the_limit ... ok
[INFO] [stdout] test rfb::client::messages::client_msg_tests::an_extended_cut_text_goes_out_under_a_negative_length ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::cut_text_that_is_not_utf8_is_substituted_rather_than_refused ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::end_of_continuous_updates_is_just_its_type_byte ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::an_oversized_fence_payload_is_clipped_but_still_consumed ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::an_extended_message_too_short_for_its_flags_is_refused ... ok
[INFO] [stdout] test rfb::client::connector::tests::the_challenge_response_goes_out_before_the_result_is_read ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::cut_text_past_the_text_cap_is_clipped_but_still_consumed ... ok
[INFO] [stdout] test rfb::codec::cursor::tests::a_cursor_at_any_other_depth_is_refused ... ok
[INFO] [stdout] test rfb::codec::cursor::tests::a_pixel_format_with_no_room_for_alpha_is_refused ... ok
[INFO] [stdout] test rfb::client::messages::server_msg_tests::a_truncated_message_is_an_error ... ok
[INFO] [stdout] test rfb::codec::cursor::tests::a_cursor_missing_its_mask_is_an_error ... ok
[INFO] [stdout] test rfb::client::connector::tests::a_rejected_password_on_37_does_not_wait_for_a_reason ... ok
[INFO] [stdout] test rfb::client::connection::tests::end_of_continuous_updates_is_reported ... ok
[INFO] [stdout] test rfb::client::security::des::tests::test_encrypt_decrypt ... ok
[INFO] [stdout] test rfb::codec::cursor::tests::each_mask_row_starts_on_a_fresh_byte ... ok
[INFO] [stdout] test rfb::codec::cursor::tests::the_mask_becomes_the_alpha_channel ... ok
[INFO] [stdout] test rfb::codec::cursor::tests::the_colour_bytes_are_left_as_they_arrived ... ok
[INFO] [stdout] test rfb::codec::raw::tests::a_truncated_rectangle_is_an_error_not_a_short_image ... ok
[INFO] [stdout] test rfb::codec::raw::tests::an_implausible_rectangle_is_refused_before_allocating ... ok
[INFO] [stdout] test rfb::codec::tests::palette_lookup_refuses_an_index_past_the_end ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_jpeg_rectangle_is_handed_on_whole ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_failed_rectangle_leaves_the_stream_usable ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_longer_copy_rectangle_comes_through_zlib ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_short_copy_rectangle_is_sent_uncompressed ... ok
[INFO] [stdout] test rfb::codec::tests::implausible_lengths_are_refused_before_allocating ... ok
[INFO] [stdout] test rfb::codec::raw::tests::pixels_are_passed_through_untouched ... ok
[INFO] [stdout] test rfb::codec::tight::tests::an_unknown_filter_is_refused ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_fill_rectangle_is_one_colour_everywhere ... ok
[INFO] [stdout] test rfb::codec::raw::tests::the_rectangle_is_sized_from_the_pixel_format_not_the_data ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_zlib_stream_persists_across_rectangles ... ok
[INFO] [stdout] test rfb::codec::tight::tests::an_unknown_compression_is_refused ... ok
[INFO] [stdout] test rfb::codec::tests::zeroed_vec_is_actually_zeroed ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_palette_index_past_the_end_is_refused ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_small_palette_is_one_byte_per_pixel ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_truncated_payload_is_an_error ... ok
[INFO] [stdout] test rfb::codec::tight::tests::a_two_colour_rectangle_is_one_bit_per_pixel ... ok
[INFO] [stdout] test rfb::codec::tight::tests::the_reset_bit_starts_the_stream_over ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_failed_rectangle_leaves_the_stream_usable ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_single_colour_palette_fills_the_tile ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_run_longer_than_255_continues_into_another_byte ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_rectangle_wider_than_a_tile_is_emitted_in_pieces ... ok
[INFO] [stdout] test rfb::codec::tight::tests::an_unsupported_pixel_format_is_refused_rather_than_panicking ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_tall_rectangle_is_split_by_row_as_well ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_truncated_tile_is_an_error ... ok
[INFO] [stdout] test rfb::codec::tight::tests::png_in_a_standard_tight_rectangle_is_refused ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::an_implausible_payload_is_refused_before_allocating ... ok
[INFO] [stdout] test rfb::codec::tight::tests::the_compact_length_is_read_in_all_three_widths ... ok
[INFO] [stdout] test rfb::codec::tight::tests::the_gradient_filter_predicts_from_the_neighbours ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_palette_index_past_the_end_is_refused ... ok
[INFO] [stdout] test session::tests::an_implausible_framebuffer_size_is_refused ... ok
[INFO] [stdout] test session::tests::an_unmeasured_round_trip_shows_dashes_rather_than_a_number ... ok
[INFO] [stdout] test session::tests::an_unsupported_or_refused_resize_explains_itself ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::an_unknown_subencoding_is_refused ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::the_zlib_stream_persists_across_rectangles ... ok
[INFO] [stdout] test rfb::config::hint_tests::quality_and_compression_map_to_the_documented_ranges ... ok
[INFO] [stdout] test session::tests::a_greyscale_jpeg_still_decodes_to_three_channels ... ok
[INFO] [stdout] test term::caps::probe_payload_tests::the_inline_probe_payload_is_really_base64_of_three_zeros ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::indexed_runs_carry_the_index_in_the_control_byte ... ok
[INFO] [stdout] test session::tests::garbage_is_not_mistaken_for_a_jpeg ... ok
[INFO] [stdout] test term::caps::tests::a_terminal_without_graphics_answers_only_the_sentinel ... ok
[INFO] [stdout] test session::tests::a_rectangle_widens_from_the_protocol_type ... ok
[INFO] [stdout] test session::tests::a_truncated_jpeg_is_an_error_not_a_panic ... ok
[INFO] [stdout] test rfb::event::tests::resize_status_codes_match_the_spec ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_raw_tile_is_three_bytes_a_pixel ... ok
[INFO] [stdout] test rfb::event::tests::screen_info_round_trips_through_the_wire_format ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_two_colour_palette_packs_one_bit_per_pixel_and_realigns_each_row ... ok
[INFO] [stdout] test term::caps::tests::shared_memory_is_only_claimed_when_it_is_answered ... ok
[INFO] [stdout] test term::input::tests::a_pointer_outside_the_image_is_not_reported ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::a_sixteen_colour_palette_packs_four_bits_per_pixel ... ok
[INFO] [stdout] test term::input::tests::a_terminal_with_the_keyboard_protocol_sends_its_own_modifier_keys ... ok
[INFO] [stdout] test rfb::codec::zrle::tests::true_colour_runs_repeat_a_pixel ... ok
[INFO] [stdout] test term::input::tests::a_terminal_without_releases_gets_a_synthesised_one ... ok
[INFO] [stdout] test term::caps::tests::an_error_reply_does_not_count_as_support ... ok
[INFO] [stdout] test term::caps::tests::tolerates_keystrokes_mixed_into_the_reply ... ok
[INFO] [stdout] test term::caps::tests::truncated_sequences_do_not_panic ... ok
[INFO] [stdout] test term::caps::tests::ignores_a_graphics_reply_for_someone_elses_image ... ok
[INFO] [stdout] test term::input::tests::a_key_press_and_release_pass_straight_through ... ok
[INFO] [stdout] test term::input::tests::a_wheel_notch_while_dragging_keeps_the_held_button ... ok
[INFO] [stdout] test term::input::tests::buttons_accumulate_and_clear ... ok
[INFO] [stdout] test term::input::tests::prefix_commands_cover_the_documented_bindings ... ok
[INFO] [stdout] test term::input::tests::modifiers_are_synthesised_only_when_the_terminal_cannot_report_them ... ok
[INFO] [stdout] test term::input::tests::release_all_lets_go_of_everything_still_down ... ok
[INFO] [stdout] test term::input::tests::the_menu_swallows_what_would_have_reached_the_remote ... ok
[INFO] [stdout] test term::caps::tests::silence_about_the_keyboard_protocol_means_no_key_releases ... ok
[INFO] [stdout] test term::input::tests::the_prefix_arms_and_the_next_key_is_a_command ... ok
[INFO] [stdout] test term::input::tests::pointer_position_is_pixel_exact_with_mode_1016 ... ok
[INFO] [stdout] test term::caps::tests::reads_ghostty_style_replies ... ok
[INFO] [stdout] test term::caps::tests::splits_mixed_replies ... ok
[INFO] [stdout] test term::input::tests::an_unbound_key_in_the_prefix_window_does_nothing ... ok
[INFO] [stdout] test term::input::tests::the_cell_under_the_pointer_is_found_either_way_round ... ok
[INFO] [stdout] test term::input::tests::repeated_motion_at_the_same_pixel_is_dropped ... ok
[INFO] [stdout] test term::input::tests::a_wheel_notch_is_never_held_back ... ok
[INFO] [stdout] test term::input::tests::a_click_flushes_held_back_motion_first ... ok
[INFO] [stdout] test term::keysym::tests::control_characters_are_not_keysyms_in_their_own_right ... ok
[INFO] [stdout] test term::input::tests::a_wheel_notch_is_a_press_and_a_release ... ok
[INFO] [stdout] test term::keysym::tests::left_and_right_modifiers_are_distinct ... ok
[INFO] [stdout] test term::input::tests::the_prefix_window_works_while_the_menu_is_up ... ok
[INFO] [stdout] test term::input::tests::the_prefix_does_not_leave_its_modifier_held_on_the_remote ... ok
[INFO] [stdout] test term::input::tests::the_prefix_twice_sends_it_through ... ok
[INFO] [stdout] test term::input::tests::the_menu_still_lets_go_of_a_key_held_before_it_opened ... ok
[INFO] [stdout] test term::keysym::tests::latin1_characters_are_their_own_keysyms ... ok
[INFO] [stdout] test term::caps::tests::unknown_or_locked_modes_are_not_usable ... ok
[INFO] [stdout] test term::keysym::tests::function_keys_are_contiguous_from_f1 ... ok
[INFO] [stdout] test term::input::tests::a_release_is_never_sent_for_a_key_that_was_not_pressed ... ok
[INFO] [stdout] test term::keysym::tests::the_editing_keys_match_x11 ... ok
[INFO] [stdout] test term::shm::tests::an_empty_payload_is_refused ... ok
[INFO] [stdout] test term::kitty::tests::cursor_is_positioned_one_based_before_the_command ... ok
[INFO] [stdout] test term::kitty::tests::each_placement_releases_the_one_it_replaces ... ok
[INFO] [stdout] test term::shm::tests::dropping_the_pool_unlinks_what_is_left ... ok
[INFO] [stdout] test term::kitty::tests::empty_tile_emits_nothing ... ok
[INFO] [stdout] test term::kitty::tests::compressed_payload_declares_and_survives_zlib ... ok
[INFO] [stdout] test term::kitty::tests::chunk_boundary_is_exact_for_a_payload_just_over_the_limit ... ok
[INFO] [stdout] test term::shm::tests::sweeping_early_keeps_the_terminal_from_losing_the_race ... ok
[INFO] [stdout] test ui::menu::tests::clearing_the_menu_blanks_every_cell_it_drew ... ok
[INFO] [stdout] test ui::menu::tests::each_scaling_option_is_its_own_target ... ok
[INFO] [stdout] test term::input::tests::without_mode_1016_the_pointer_aims_at_the_cell_centre ... ok
[INFO] [stdout] test term::keysym::tests::backtab_is_tab_because_shift_travels_separately ... ok
[INFO] [stdout] test term::kitty::tests::every_placement_pins_its_placement_id ... ok
[INFO] [stdout] test ui::menu::tests::menu_carries_its_own_background ... ok
[INFO] [stdout] test ui::menu::tests::menu_fits_or_is_skipped ... ok
[INFO] [stdout] test term::kitty::tests::large_tile_chunks_at_4096_and_round_trips ... ok
[INFO] [stdout] test ui::menu::tests::everything_off_the_box_is_outside ... ok
[INFO] [stdout] test term::kitty::tests::small_tile_is_one_command_with_all_the_keys ... ok
[INFO] [stdout] test term::shm::tests::every_publish_gets_its_own_name ... ok
[INFO] [stdout] test term::shm::tests::locality_is_decided_by_the_ssh_variables ... ok
[INFO] [stdout] test term::keysym::tests::other_characters_get_the_unicode_offset ... ok
[INFO] [stdout] test ui::menu::tests::a_click_on_a_row_finds_that_rows_command ... ok
[INFO] [stdout] test ui::menu::tests::a_menu_that_does_not_fit_is_not_cleared_either ... ok
[INFO] [stdout] test ui::menu::tests::only_commands_can_be_hovered ... ok
[INFO] [stdout] test ui::menu::tests::the_highlight_covers_one_option_not_the_whole_row ... ok
[INFO] [stdout] test term::shm::tests::published_bytes_are_readable_by_a_second_opener ... ok
[INFO] [stdout] test ui::menu::tests::the_hovered_row_is_highlighted_and_the_others_are_not ... ok
[INFO] [stdout] test ui::menu::tests::the_option_in_force_is_the_marked_one ... ok
[INFO] [stdout] test ui::menu::tests::moving_the_highlight_leaves_no_stripe_behind ... ok
[INFO] [stdout] test ui::menu::tests::menu_is_padded_and_right_aligns_its_shortcuts ... ok
[INFO] [stdout] test ui::menu::tests::menu_never_touches_the_status_row ... ok
[INFO] [stdout] test ui::menu::tests::the_padding_and_the_blank_rows_are_not_commands ... ok
[INFO] [stdout] test ui::menu::tests::the_theme_row_marks_the_one_in_force_and_a_click_names_the_other ... ok
[INFO] [stdout] test ui::paint::tests::a_change_of_style_starts_a_new_run_but_not_a_new_position ... ok
[INFO] [stdout] test ui::paint::tests::a_run_of_one_style_is_positioned_and_set_once ... ok
[INFO] [stdout] test ui::paint::tests::the_tail_of_a_wide_glyph_is_not_written ... ok
[INFO] [stdout] test ui::toast::tests::a_dropped_frame_leaves_the_erase_to_the_next_one ... ok
[INFO] [stdout] test ui::status::tests::a_wide_glyph_is_measured_by_what_it_covers ... ok
[INFO] [stdout] test ui::toast::tests::a_note_replaced_before_it_was_drawn_leaves_nothing_behind ... ok
[INFO] [stdout] test ui::status::tests::status_line_fills_the_row_exactly ... ok
[INFO] [stdout] test ui::status::tests::the_prefix_mark_is_the_menu_colour ... ok
[INFO] [stdout] test ui::toast::tests::a_long_message_is_truncated_rather_than_wrapped ... ok
[INFO] [stdout] test ui::menu::tests::the_button_in_the_title_is_a_target_and_the_name_beside_it_is_not ... ok
[INFO] [stdout] test ui::toast::tests::a_replaced_note_takes_the_wider_box_off_with_it ... ok
[INFO] [stdout] test ui::theme::tests::a_close_button_lights_by_colour_and_nothing_else ... ok
[INFO] [stdout] test ui::paint::tests::a_cell_with_nothing_in_it_is_stepped_over ... ok
[INFO] [stdout] test ui::paint::tests::colours_become_sgr_and_the_default_is_left_to_the_reset ... ok
[INFO] [stdout] test ui::theme::tests::each_theme_is_legible_the_way_round_it_claims_to_be ... ok
[INFO] [stdout] test ui::status::tests::status_line_truncates_rather_than_wrapping ... ok
[INFO] [stdout] test ui::status::tests::degenerate_geometry_draws_nothing ... ok
[INFO] [stdout] test ui::status::tests::the_bar_is_grey_but_for_what_is_worth_a_glance ... ok
[INFO] [stdout] test ui::status::tests::the_statistics_go_before_the_left_side_does ... ok
[INFO] [stdout] test ui::theme::tests::the_menu_and_the_bar_share_a_surface ... ok
[INFO] [stdout] test ui::toast::tests::the_popup_carries_its_own_backdrop ... ok
[INFO] [stdout] test ui::toast::tests::the_button_takes_the_note_off_before_its_linger_is_up ... ok
[INFO] [stdout] test ui::toast::tests::a_screen_with_no_room_for_it_gets_no_popup ... ok
[INFO] [stdout] test ui::toast::tests::the_button_is_where_the_click_it_answers_lands ... ok
[INFO] [stdout] test ui::toast::tests::the_button_lights_up_under_the_pointer ... ok
[INFO] [stdout] test ui::toast::tests::the_popup_sits_in_the_top_right_with_room_around_it ... ok
[INFO] [stdout] test ui::toast::tests::the_popup_wears_whichever_palette_is_in_force ... ok
[INFO] [stdout] test ui::toast::tests::a_note_stays_for_its_linger_and_then_comes_off ... ok
[INFO] [stdout] test term::input::tests::motion_is_rate_limited_and_the_last_position_still_arrives ... ok
[INFO] [stdout] test term::input::tests::releasing_buttons_drops_any_held_back_motion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 325 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/input.rs (/opt/rustwide/target/release/deps/input-321344187c655483)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test a_terminal_without_key_releases_gets_them_synthesised ... ok
[INFO] [stdout] test a_pasted_selection_is_announced_first_and_sent_when_asked ... ok
[INFO] [stdout] test a_pasted_selection_goes_to_the_remote_clipboard ... ok
[INFO] [stdout] test a_paste_outside_latin1_is_substituted_not_silently_shortened ... ok
[INFO] [stdout] test no_clipboard_never_offers_the_extension ... ok
[INFO] [stdout] test a_matching_caps_lock_is_left_alone ... ok
[INFO] [stdout] test a_disagreeing_caps_lock_is_corrected_before_the_keystroke ... ok
[INFO] [stdout] test the_close_button_answers_while_the_menu_is_up ... ok
[INFO] [stdout] test the_extended_clipboard_brings_cyrillic_back_from_the_remote ... ok
[INFO] [stdout] test input_reaches_the_server_with_pixel_exact_coordinates ... ok
[INFO] [stdout] test view_only_sends_nothing ... ok
[INFO] [stdout] test clicking_a_scaling_option_selects_that_one ... ok
[INFO] [stdout] test the_command_menu_holds_the_focus_until_escape ... ok
[INFO] [stdout] test clicking_the_close_button_puts_the_notification_away ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.68s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lifecycle.rs (/opt/rustwide/target/release/deps/lifecycle-149fbc5460aefa5e)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test a_wrong_address_fails_before_touching_the_screen ... ok
[INFO] [stdout] test without_reconnect_a_dropped_session_exits ... ok
[INFO] [stdout] test the_server_going_away_is_reported_and_the_terminal_restored ... ok
[INFO] [stdout] test reconnects_after_the_server_drops_the_session ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/live.rs (/opt/rustwide/target/release/deps/live-d091a7636ad8669a)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test a_dragged_resize_settles_without_any_input ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_real_desktop_decodes_and_keeps_drawing ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_real_server_answers_the_latency_probe ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_real_server_negotiates_continuous_updates ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_real_server_negotiates_the_extended_clipboard ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_real_server_reports_its_lock_key_state ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_real_server_sends_a_cursor_shape ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test a_wrong_password_fails_clearly ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test an_idle_resize_completes_without_any_input ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test growing_the_window_fills_the_new_area_on_a_real_server ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test one_client_adopts_a_resize_another_client_asked_for ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test resizing_the_terminal_reshapes_the_real_desktop ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test the_desktop_is_redrawn_in_full_after_a_resize ... ignored, needs the desktop container: make desktop
[INFO] [stdout] test tigervnc_grants_the_terminals_exact_pixel_size ... ignored, needs the desktop container: make desktop
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/perf.rs (/opt/rustwide/target/release/deps/perf-668dba6c90536f70)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test full_screen_compose_throughput ... ignored, timing, not a pass/fail assertion
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pty.rs (/opt/rustwide/target/release/deps/pty-f025fe63e69ef006)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test focus_reporting_is_enabled_so_held_keys_can_be_released ... ok
[INFO] [stdout] test a_resize_relayouts_and_releases_the_old_images ... ok
[INFO] [stdout] test pixels_travel_through_shared_memory_when_the_terminal_offers_it ... ok
[INFO] [stdout] test a_terminal_without_shared_memory_gets_compressed_base64 ... ok
[INFO] [stdout] test print_caps_reports_both_geometry_sources_and_flags_a_mismatch ... ok
[INFO] [stdout] test a_terminal_that_stops_reading_does_not_wedge_the_client ... ok
[INFO] [stdout] test refuses_a_terminal_without_graphics_without_touching_the_screen ... ok
[INFO] [stdout] test growing_the_window_does_not_leave_stale_status_lines ... ok
[INFO] [stdout] test shared_memory_is_the_default_when_the_terminal_answered_for_it ... ok
[INFO] [stdout] test only_dirty_tiles_are_retransmitted ... ok
[INFO] [stdout] test renders_frames_and_restores_the_terminal ... ok
[INFO] [stdout] test probes_before_touching_the_screen ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/resize.rs (/opt/rustwide/target/release/deps/resize-16858c2cc0b0041a)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test a_drag_is_still_coalesced_into_a_few_requests ... ignored, wall-clock sensitive: unreliable on shared CI runners
[INFO] [stdout] test a_server_that_cannot_resize_is_scaled_instead ... ok
[INFO] [stdout] test a_refused_resize_falls_back_and_says_why ... ok
[INFO] [stdout] test view_only_still_asks_for_the_terminals_size ... ok
[INFO] [stdout] test negotiates_the_terminals_exact_pixel_size ... ok
[INFO] [stdout] test asks_for_the_new_size_when_the_terminal_is_resized ... ok
[INFO] [stdout] test a_forwarded_resize_is_picked_up_when_it_lands ... ok
[INFO] [stdout] test a_resize_goes_out_while_the_server_is_idle ... ok
[INFO] [stdout] test a_single_resize_is_acted_on_at_once ... ok
[INFO] [stdout] test a_server_that_snaps_to_its_own_size_does_not_cause_a_request_loop ... ok
[INFO] [stderr]      Running tests/updates.rs (/opt/rustwide/target/release/deps/updates-d5db0ffe7b92e5e2)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test the_cursor_shape_is_requested_and_drawn_locally ... ignored, wall-clock sensitive: unreliable on shared CI runners
[INFO] [stdout] test requests_the_encodings_it_can_actually_decode ... ok
[INFO] [stdout] test a_server_fence_is_echoed_with_the_request_bit_cleared ... ok
[INFO] [stdout] test growing_the_desktop_re_enables_continuous_updates_for_the_new_area ... ok
[INFO] [stdout] test the_round_trip_is_measured_with_a_fence_once_frames_are_pushed ... ok
[INFO] [stdout] test view_only_leaves_the_cursor_to_the_server ... ok
[INFO] [stdout] test keeps_at_most_one_update_request_in_flight ... ok
[INFO] [stdout] test no_fence_support_means_no_round_trip_figure_rather_than_a_wrong_one ... ok
[INFO] [stdout] test continuous_updates_are_enabled_and_stop_the_request_traffic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.27s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc", kill_on_drop: false }`
[INFO] [stdout] 031fe0c4b78a956fa0ea6e583d86cbf6f2ca9466192734698954c4ebc3c27dcc
