[INFO] fetching crate xa11y-core 0.15.2...
[INFO] testing xa11y-core-0.15.2 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate xa11y-core 0.15.2 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate xa11y-core 0.15.2
[INFO] finished tweaking crates.io crate xa11y-core 0.15.2
[INFO] tweaked toml for crates.io crate xa11y-core 0.15.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate xa11y-core 0.15.2 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate xa11y-core 0.15.2 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.100.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-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325
[INFO] running `Command { std: "docker" "start" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", 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" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", 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" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling xa11y-core v0.15.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.13s
[INFO] running `Command { std: "docker" "inspect" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", 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" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling xa11y-core v0.15.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.52s
[INFO] running `Command { std: "docker" "inspect" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", 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" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/xa11y-core/3105cb2dc9a47834/out/xa11y_core-3105cb2dc9a47834)
[INFO] [stdout] 
[INFO] [stdout] running 294 tests
[INFO] [stdout] test app::tests::foreground_with_propagates_real_focus_errors_and_fails_fast ... ok
[INFO] [stdout] test app::tests::foreground_with_returns_selector_not_matched_when_nothing_focused ... ok
[INFO] [stdout] test app::tests::app_as_element_is_root ... ok
[INFO] [stdout] test app::tests::app_dump_contains_application_root ... ok
[INFO] [stdout] test app::tests::app_tree_returns_application_root ... ok
[INFO] [stdout] test app::tests::find_with_matches_by_predicate ... ok
[INFO] [stdout] test app::tests::by_name_with_rejects_double_quote_in_name ... ok
[INFO] [stdout] test app::tests::find_with_no_match_returns_selector_not_matched ... ok
[INFO] [stdout] test app::tests::focused_is_deprecated_alias_for_is_foreground ... ok
[INFO] [stdout] test app::tests::find_with_predicate_sees_focused_flag ... ok
[INFO] [stdout] test app::tests::list_with_propagates_real_focus_errors ... ok
[INFO] [stdout] test app::tests::locator_re_resolves_when_the_matching_window_changes ... ok
[INFO] [stdout] test app::tests::windows_can_list_native_dialog_without_adding_an_app_tree_root ... ok
[INFO] [stdout] test app::tests::list_with_tags_none_when_shared_pid_has_no_active_window ... ok
[INFO] [stdout] test app::tests::try_find_with_propagates_predicate_error_and_fails_fast ... ok
[INFO] [stdout] test app::tests::windows_keep_distinct_windows_with_duplicate_titles ... ok
[INFO] [stdout] test app::tests::windows_keep_provider_reported_invisible_windows_discoverable ... ok
[INFO] [stdout] test app::tests::windows_on_mock_returns_main_window_child ... ok
[INFO] [stdout] test app::tests::windows_rejects_non_application_elements ... ok
[INFO] [stdout] test app::tests::windows_with_lists_both_windows_of_shared_pid ... ok
[INFO] [stdout] test app::tests::windows_with_deduplicates_a_window_reported_by_two_entries ... ok
[INFO] [stdout] test app::tests::windows_with_merges_windows_of_same_pid_application_entries ... ok
[INFO] [stdout] test app::tests::windows_with_skips_the_pid_merge_for_single_entry_providers ... ok
[INFO] [stdout] test app::tests::app_tree_max_depth_one_stops_at_direct_children ... ok
[INFO] [stdout] test app::tests::list_with_leaves_apps_untagged_when_nothing_focused ... ok
[INFO] [stdout] test app::tests::perform_action_window_verbs_match_the_typed_verbs ... ok
[INFO] [stdout] test element::rect_scale_tests::fractional_scale_rounds_to_nearest ... ok
[INFO] [stdout] test element::rect_scale_tests::scale_one_is_identity ... ok
[INFO] [stdout] test config::tests::parse_accepts_integers_floats_and_zero ... ok
[INFO] [stdout] test config::tests::parse_rejects_non_numeric_negative_and_non_finite ... ok
[INFO] [stdout] test element::rect_scale_tests::bad_scale_degrades_to_identity ... ok
[INFO] [stdout] test app::tests::closed_window_leaves_windows_enumeration ... ok
[INFO] [stdout] test app::tests::app_tree_max_depth_zero_has_no_children ... ok
[INFO] [stdout] test app::tests::closed_window_stale_handle_is_dead ... ok
[INFO] [stdout] test element::rect_scale_tests::to_logical_divides_all_fields ... ok
[INFO] [stdout] test element::tests::enter_fullscreen_then_restore_roundtrip_updates_state ... ok
[INFO] [stdout] test element::tests::fullscreen_minimize_sequence_keeps_every_step_honest ... ok
[INFO] [stdout] test app::tests::list_with_collapses_shared_pid_registrations_into_one_process ... ok
[INFO] [stdout] test element::tests::move_to_records_coordinate_payload ... ok
[INFO] [stdout] test element::rect_scale_tests::negative_origin_scales_correctly ... ok
[INFO] [stdout] test element::rect_scale_tests::round_trip_preserves_within_one_px ... ok
[INFO] [stdout] test element::rect_scale_tests::to_physical_multiplies_all_fields ... ok
[INFO] [stdout] test element::tests::minimize_then_restore_roundtrip_updates_state ... ok
[INFO] [stdout] test element::tests::select_text_records_range ... ok
[INFO] [stdout] test element::tests::locator_actions_desugar_to_element_actions ... ok
[INFO] [stdout] test element::tests::locator_validation_runs_before_auto_wait ... ok
[INFO] [stdout] test element::tests::perform_action_records_arbitrary_name ... ok
[INFO] [stdout] test element::tests::resize_to_records_size_payload ... ok
[INFO] [stdout] test element::tests::window_verbs_record_correct_name ... ok
[INFO] [stdout] test element::tests::resize_to_rejects_zero_dimensions ... ok
[INFO] [stdout] test app::tests::list_with_tags_foreground_app_as_foreground ... ok
[INFO] [stdout] test element::tests::set_numeric_value_rejects_non_finite ... ok
[INFO] [stdout] test element::tests::set_value_records_text_payload ... ok
[INFO] [stdout] test element::tests::state_set_payload_without_window_fields_still_deserializes ... ok
[INFO] [stdout] test element::tests::select_text_rejects_inverted_range ... ok
[INFO] [stdout] test element::tests::set_numeric_value_records_payload ... ok
[INFO] [stdout] test element::tests::type_text_records_payload ... ok
[INFO] [stdout] test element::tests::window_verbs_reject_dialogs_without_window_signals ... ok
[INFO] [stdout] test element::tests::window_verbs_reject_non_window_targets ... ok
[INFO] [stdout] test error::tests::bare_timeout_renders_duration_only ... ok
[INFO] [stdout] test error::tests::diagnose_on_unsupported_variant_is_a_documented_no_op ... ok
[INFO] [stdout] test input::point_scale_tests::anchor_center_of_logical_bounds_scales_to_physical ... ok
[INFO] [stdout] test error::tests::empty_diagnosis_is_normalized_away ... ok
[INFO] [stdout] test app::tests::try_find_with_ok_false_keeps_polling_then_times_out ... ok
[INFO] [stdout] test event_provider::tests::wait_for_short_circuits_on_disconnect ... ok
[INFO] [stdout] test input::point_scale_tests::physical_to_logical_is_inverse ... ok
[INFO] [stdout] test input::point_scale_tests::bad_scale_degrades_to_identity ... ok
[INFO] [stdout] test error::tests::diagnosed_not_matched_renders_candidates_and_scope ... ok
[INFO] [stdout] test input::point_scale_tests::scale_one_is_identity ... ok
[INFO] [stdout] test input::point_scale_tests::logical_to_physical_scales ... ok
[INFO] [stdout] test error::tests::diagnosis_accessor_round_trips ... ok
[INFO] [stdout] test event_provider::tests::subscription_iter_terminates_on_disconnect ... ok
[INFO] [stdout] test locator::tests::auto_wait_zero_timeout_performs_single_attempt ... ok
[INFO] [stdout] test locator::tests::auto_wait_zero_timeout_fails_fast_on_missing_element ... ok
[INFO] [stdout] test locator::tests::child_distributes_over_clauses ... ok
[INFO] [stdout] test locator::tests::group_count_dedups_overlapping_clauses ... ok
[INFO] [stdout] test locator::tests::group_count_returns_union_size_across_clauses ... ok
[INFO] [stdout] test locator::tests::exists_stays_cheap_and_unenriched ... ok
[INFO] [stdout] test locator::tests::group_element_returns_first_match_in_document_order ... ok
[INFO] [stdout] test locator::tests::group_elements_returned_in_document_order ... ok
[INFO] [stdout] test locator::tests::group_exists_false_when_no_clause_matches ... ok
[INFO] [stdout] test locator::tests::group_exists_true_when_any_clause_matches ... ok
[INFO] [stdout] test locator::tests::descendant_after_group_then_another_group_cross_products ... ok
[INFO] [stdout] test locator::tests::group_fresh_handles_descendant_chain_resolves ... ok
[INFO] [stdout] test locator::tests::group_fresh_handles_elements_in_document_order ... ok
[INFO] [stdout] test locator::tests::element_miss_diagnosis_includes_candidates_and_scope_dump ... ok
[INFO] [stdout] test locator::tests::group_fresh_handles_count_matches_stable_handles ... ok
[INFO] [stdout] test locator::tests::group_single_clause_behaves_identically ... ok
[INFO] [stdout] test element::tests::nullary_actions_record_correct_name ... ok
[INFO] [stdout] test error::tests::diagnosed_timeout_renders_condition_selector_and_last_observed ... ok
[INFO] [stdout] test input::point_scale_tests::corner_anchors_stay_inside_half_open_bounds ... ok
[INFO] [stdout] test locator::tests::group_nth_picks_across_full_union ... ok
[INFO] [stdout] test locator::tests::locator_dump_renders_selector_subtree ... ok
[INFO] [stdout] test locator::tests::locator_dump_max_depth_zero_is_one_line ... ok
[INFO] [stdout] test locator::tests::group_fresh_handles_exists_true_when_any_clause_matches ... ok
[INFO] [stdout] test locator::tests::locator_fullscreen_minimize_sequence_uses_the_enabled_only_gate ... ok
[INFO] [stdout] test locator::tests::group_fresh_handles_nth_picks_across_full_union ... ok
[INFO] [stdout] test locator::tests::group_fresh_handles_three_clauses_doc_order ... ok
[INFO] [stdout] test app::tests::app_dump_max_depth_zero_is_one_line ... ok
[INFO] [stdout] test locator::tests::locator_resize_to_rejects_zero_before_auto_wait ... ok
[INFO] [stdout] test locator::tests::locator_tree_no_match_returns_selector_not_matched ... ok
[INFO] [stdout] test locator::tests::locator_tree_respects_max_depth ... ok
[INFO] [stdout] test app::tests::foreground_with_resolves_and_tags_the_foreground_app ... ok
[INFO] [stdout] test locator::tests::locator_dump_does_not_auto_wait ... ok
[INFO] [stdout] test locator::tests::locator_tree_returns_subtree_rooted_at_match ... ok
[INFO] [stdout] test locator::tests::list_apps_returns_mock_application_root ... ok
[INFO] [stdout] test event_provider::tests::recv_timeout_status_distinguishes_timeout_and_disconnect ... ok
[INFO] [stdout] test locator::tests::descendant_distributes_over_clauses ... ok
[INFO] [stdout] test locator::tests::wait_detached_zero_timeout_succeeds_when_already_absent ... ok
[INFO] [stdout] test locator::tests::wait_visible_zero_timeout_performs_single_check ... ok
[INFO] [stdout] test locator::tests::truncate_lines_caps_and_counts ... ok
[INFO] [stdout] test locator::tests::visible_gated_verb_still_blocks_on_offscreen_element ... ok
[INFO] [stdout] test locator::tests::window_verbs_act_on_minimized_invisible_window ... ok
[INFO] [stdout] test role::tests::all_roles_roundtrip ... ok
[INFO] [stdout] test role::tests::scroll_thumb_roundtrips ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_badge_that_falls_off_the_image_is_clipped_not_a_skip ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_badge_wider_than_the_room_to_its_right_is_right_aligned ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_badge_sits_outside_the_box_so_it_cannot_cover_the_element ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_badge_falls_inside_the_box_only_when_nothing_outside_is_on_image ... ok
[INFO] [stdout] test locator::tests::nth_miss_diagnosis_reports_match_count ... ok
[INFO] [stdout] test locator::tests::perform_action_keeps_the_visible_gate_for_non_window_names ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_badge_with_no_room_above_drops_below_the_box ... ok
[INFO] [stdout] test locator::tests::perform_action_routes_window_verbs_through_the_enabled_only_gate ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_badge_with_no_room_above_or_below_goes_beside_the_box ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_straddling_the_bottom_edge_is_clipped_not_moved ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_straddling_the_left_edge_is_clipped_not_moved ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_in_the_image_corner_still_gets_a_readable_badge ... ok
[INFO] [stdout] test locator::tests::rootless_group_matches_match_app_scoped_search ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_colliding_badge_moves_to_another_corner ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_pixel_buffer_that_disagrees_with_the_dimensions_is_an_error ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_straddling_the_right_edge_is_clipped_not_moved ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_tag_with_no_drawable_glyph_gets_no_badge ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_tag_is_drawn_at_twice_the_stroke_unit_so_it_is_legible_at_1x ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_zero_sized_image_draws_nothing_and_skips_everything ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_straddling_the_top_edge_is_clipped_not_moved ... ok
[INFO] [stdout] test screenshot::annotate::tests::badge_spot_prefers_sitting_on_top_of_the_box_top_edge ... ok
[INFO] [stdout] test screenshot::annotate::tests::annotate_never_mutates_the_receiver ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_tag_glyph_renders_in_the_contrasting_foreground ... ok
[INFO] [stdout] test screenshot::annotate::tests::no_annotations_returns_an_identical_copy ... ok
[INFO] [stdout] test screenshot::annotate::tests::origin_translates_the_rect_into_capture_space ... ok
[INFO] [stdout] test screenshot::annotate::tests::rects_outside_the_image_are_reported_not_clamped ... ok
[INFO] [stdout] test screenshot::annotate::tests::relative_luminance_matches_the_wcag_endpoints ... ok
[INFO] [stdout] test screenshot::annotate::tests::foreground_picks_black_on_light_and_white_on_dark ... ok
[INFO] [stdout] test screenshot::annotate::tests::scale_converts_logical_coordinates_and_thickens_the_stroke ... ok
[INFO] [stdout] test screenshot::annotate::tests::smaller_boxes_draw_on_top_of_larger_ones ... ok
[INFO] [stdout] test screenshot::annotate::tests::stroke_lands_on_the_box_edges_and_nowhere_else ... ok
[INFO] [stdout] test screenshot::annotate::tests::tag_for_group_boundaries_roll_over_like_spreadsheet_columns ... ok
[INFO] [stdout] test screenshot::annotate::tests::tag_for_letters_the_group_and_numbers_the_index ... ok
[INFO] [stdout] test screenshot::annotate::tests::tag_for_reads_zero_as_one_since_every_index_is_one_based ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_thinner_than_the_stroke_is_drawn_solid ... ok
[INFO] [stdout] test screenshot::annotate::tests::every_palette_colour_clears_wcag_aa_against_its_foreground ... ok
[INFO] [stdout] test screenshot::annotate::tests::tag_for_never_produces_a_separator_that_could_be_lost ... ok
[INFO] [stdout] test screenshot::annotate::tests::identical_rects_are_both_drawn_never_deduplicated ... ok
[INFO] [stdout] test screenshot::annotate::tests::new_takes_the_first_palette_colour_and_color_overrides_it ... ok
[INFO] [stdout] test screenshot::legend::tests::an_annotated_summarises_its_capture_rather_than_dumping_the_pixels ... ok
[INFO] [stdout] test screenshot::legend::tests::an_entrys_tag_is_derived_from_its_group_and_index ... ok
[INFO] [stdout] test locator::tests::scroll_into_view_acts_on_offscreen_element ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_larger_than_the_image_shows_only_its_interior ... ok
[INFO] [stdout] test screenshot::legend::tests::a_serialized_omission_reason_matches_its_string_spelling ... ok
[INFO] [stdout] test screenshot::annotate::tests::zero_area_rects_are_skipped ... ok
[INFO] [stdout] test screenshot::annotate::tests::a_box_swallowing_the_capture_still_draws_its_badge ... ok
[INFO] [stdout] test screenshot::mapping_tests::a_desktop_rect_crossing_mixed_dpi_displays_returns_two_image_rects ... ok
[INFO] [stdout] test screenshot::legend::tests::an_omission_keeps_the_selector_that_would_reach_its_element ... ok
[INFO] [stdout] test screenshot::legend::tests::omission_reasons_spell_themselves_in_snake_case ... ok
[INFO] [stdout] test screenshot::mapping_tests::crop_and_resize_update_the_mapping_for_actual_returned_pixels ... ok
[INFO] [stdout] test screenshot::mapping_tests::cropped_rectangles_are_clipped_and_nonuniform_resize_preserves_origin ... ok
[INFO] [stdout] test screenshot::mapping_tests::negative_origin_and_fractional_scale_round_trip ... ok
[INFO] [stdout] test screenshot::mapping_tests::odd_pixel_crop_preserves_the_original_transform ... ok
[INFO] [stdout] test screenshot::mapping_tests::single_pixel_hidpi_crop_keeps_a_mapping ... ok
[INFO] [stdout] test screenshot::mapping_tests::stale_layout_is_rejected_before_a_point_is_returned_for_input ... ok
[INFO] [stdout] test selector::tests::bare_wildcard_matches_every_node ... ok
[INFO] [stdout] test selector::tests::chain_combinator_handles_trailing_whitespace ... ok
[INFO] [stdout] test selector::tests::chain_combinator_distributes_left_side ... ok
[INFO] [stdout] test selector::tests::checked_filter_reads_struct_field_end_to_end ... ok
[INFO] [stdout] test selector::tests::bare_wildcard_respects_limit ... ok
[INFO] [stdout] test selector::tests::chain_combinator_cross_products_groups ... ok
[INFO] [stdout] test selector::tests::custom_filter_reads_from_raw_end_to_end ... ok
[INFO] [stdout] test selector::tests::chain_combinator_round_trips_through_parser ... ok
[INFO] [stdout] test selector::tests::chain_combinator_ignores_commas_in_quotes ... ok
[INFO] [stdout] test selector::tests::chain_combinator_preserves_attribute_filters_in_groups ... ok
[INFO] [stdout] test selector::tests::enabled_filter_reads_struct_field_end_to_end ... ok
[INFO] [stdout] test selector::tests::group_match_combinator_per_clause ... ok
[INFO] [stdout] test selector::tests::group_match_dedup_overlapping_clauses ... ok
[INFO] [stdout] test selector::tests::group_fetches_each_parent_once_across_clauses ... ok
[INFO] [stdout] test selector::tests::group_match_empty_group_clauses_returns_empty ... ok
[INFO] [stdout] test selector::tests::group_match_fresh_handles_combinator_per_clause ... ok
[INFO] [stdout] test selector::tests::group_match_fresh_handles_limit_truncates_in_document_order ... ok
[INFO] [stdout] test selector::tests::group_match_attribute_only_clauses_against_tree ... ok
[INFO] [stdout] test selector::tests::group_match_fresh_handles_overlapping_clauses_dedup ... ok
[INFO] [stdout] test selector::tests::group_match_clause_with_no_role_and_filter ... ok
[INFO] [stdout] test selector::tests::group_match_limit_truncates_in_document_order ... ok
[INFO] [stdout] test selector::tests::group_match_no_matches_returns_empty ... ok
[INFO] [stdout] test selector::tests::group_match_max_depth_zero_returns_top_level_only ... ok
[INFO] [stdout] test selector::tests::group_match_three_clauses_doc_order ... ok
[INFO] [stdout] test selector::tests::group_match_single_clause_matches_single_path ... ok
[INFO] [stdout] test selector::tests::group_match_works_with_fresh_handles_per_walk ... ok
[INFO] [stdout] test selector::tests::parse_adjacent_nth_is_error ... ok
[INFO] [stdout] test screenshot::annotate::tests::extreme_coordinates_scales_and_dimensions_do_not_panic ... ok
[INFO] [stdout] test selector::tests::parse_attr_single_quote ... ok
[INFO] [stdout] test selector::tests::group_match_union_in_document_order ... ok
[INFO] [stdout] test selector::tests::parse_bare_wildcard ... ok
[INFO] [stdout] test selector::tests::parse_contains ... ok
[INFO] [stdout] test selector::tests::group_match_with_scoped_root ... ok
[INFO] [stdout] test selector::tests::parse_child_combinator ... ok
[INFO] [stdout] test selector::tests::nth_on_non_last_segment_filters_during_traversal ... ok
[INFO] [stdout] test selector::tests::parse_attr_exact ... ok
[INFO] [stdout] test selector::tests::parse_empty_error ... ok
[INFO] [stdout] test selector::tests::parse_complex ... ok
[INFO] [stdout] test selector::tests::parse_contains_single_quote ... ok
[INFO] [stdout] test selector::tests::parse_ends_with ... ok
[INFO] [stdout] test selector::tests::parse_group_combinator_per_clause ... ok
[INFO] [stdout] test selector::tests::parse_group_empty_error ... ok
[INFO] [stdout] test selector::tests::parse_group_mixed_attribute_clauses ... ok
[INFO] [stdout] test selector::tests::parse_group_multiple_quoted_commas_in_one_clause ... ok
[INFO] [stdout] test selector::tests::parse_group_propagates_clause_errors ... ok
[INFO] [stdout] test selector::tests::parse_descendant_combinator ... ok
[INFO] [stdout] test selector::tests::parse_group_role_only_then_attribute_only ... ok
[INFO] [stdout] test selector::tests::parse_group_single_clause_matches_selector_parse ... ok
[INFO] [stdout] test selector::tests::parse_group_quoted_comma_kept_in_value ... ok
[INFO] [stdout] test selector::tests::parse_group_nth_per_clause ... ok
[INFO] [stdout] test selector::tests::parse_group_attribute_only_clauses ... ok
[INFO] [stdout] test selector::tests::parse_group_large_count ... ok
[INFO] [stdout] test selector::tests::parse_group_trailing_whitespace_is_tolerated ... ok
[INFO] [stdout] test selector::tests::parse_group_two_clauses ... ok
[INFO] [stdout] test selector::tests::parse_nth ... ok
[INFO] [stdout] test selector::tests::parse_role_and_attr ... ok
[INFO] [stdout] test selector::tests::parse_group_whitespace_tolerance ... ok
[INFO] [stdout] test selector::tests::parse_nth_zero_error ... ok
[INFO] [stdout] test selector::tests::parse_group_unterminated_quote_propagates_error ... ok
[INFO] [stdout] test selector::tests::parse_wildcard_as_combinator_target ... ok
[INFO] [stdout] test selector::tests::parse_role_only ... ok
[INFO] [stdout] test selector::tests::parse_wildcard_as_intermediate_segment ... ok
[INFO] [stdout] test selector::tests::parse_wildcard_glued_to_role_is_error ... ok
[INFO] [stdout] test selector::tests::parse_role_and_attr_single_quote ... ok
[INFO] [stdout] test selector::tests::paths_are_stable_across_repeated_walks ... ok
[INFO] [stdout] test selector::tests::paths_match_dfs_indices_from_root ... ok
[INFO] [stdout] test selector::tests::parse_wildcard_in_alternation_group ... ok
[INFO] [stdout] test selector::tests::parse_wildcard_with_filters_and_nth ... ok
[INFO] [stdout] test selector::tests::parse_starts_with ... ok
[INFO] [stdout] test selector::tests::paths_with_combinator_chain_extend_through_phase2 ... ok
[INFO] [stdout] test selector::tests::resolve_active_reflects_state ... ok
[INFO] [stdout] test selector::tests::resolve_expanded_tri_state ... ok
[INFO] [stdout] test selector::tests::platform_role_does_not_match_non_role_string_fields ... ok
[INFO] [stdout] test selector::tests::resolve_bool_states_always_present ... ok
[INFO] [stdout] test selector::tests::resolve_checked_tri_state ... ok
[INFO] [stdout] test selector::tests::resolve_min_value_matches_json_number_format ... ok
[INFO] [stdout] test selector::tests::resolve_description_reads_struct_field ... ok
[INFO] [stdout] test selector::tests::parse_unknown_role_is_platform_role ... ok
[INFO] [stdout] test selector::tests::resolve_max_value_matches_json_number_format ... ok
[INFO] [stdout] test selector::tests::platform_role_matches_allowlisted_keys ... ok
[INFO] [stdout] test selector::tests::resolve_bounds_formats_as_json_object ... ok
[INFO] [stdout] test selector::tests::resolve_role_reads_struct_field ... ok
[INFO] [stdout] test selector::tests::resolve_numeric_value_nan_is_none ... ok
[INFO] [stdout] test selector::tests::resolve_name_reads_struct_field ... ok
[INFO] [stdout] test selector::tests::resolve_stable_id_reads_struct_field ... ok
[INFO] [stdout] test selector::tests::split_top_level_commas_basic ... ok
[INFO] [stdout] test selector::tests::resolve_numeric_value_matches_json_number_format ... ok
[INFO] [stdout] test selector::tests::resolve_unknown_key_falls_back_to_raw ... ok
[INFO] [stdout] test selector::tests::resolve_value_reads_struct_field ... ok
[INFO] [stdout] test selector::tests::resolve_window_states_tri_state ... ok
[INFO] [stdout] test selector::tests::split_top_level_commas_ignores_quoted_commas ... ok
[INFO] [stdout] test selector::tests::wildcard_child_returns_all_children_of_anchor ... ok
[INFO] [stdout] test selector::tests::wildcard_in_group_dedups_against_overlapping_clause ... ok
[INFO] [stdout] test shell::tests::by_kind_with_propagates_enumeration_failures_and_fails_fast ... ok
[INFO] [stdout] test selector::tests::wildcard_intermediate_segment_skips_one_generation ... ok
[INFO] [stdout] test shell::tests::children_and_as_element_expose_the_surface_root ... ok
[INFO] [stdout] test shell::tests::by_kind_with_refuses_ambiguity_immediately ... ok
[INFO] [stdout] test shell::tests::by_kind_with_resolves_a_unique_surface ... ok
[INFO] [stdout] test selector::tests::split_top_level_commas_nested_quotes ... ok
[INFO] [stdout] test shell::tests::list_with_falls_back_to_the_kind_for_an_unnamed_root ... ok
[INFO] [stdout] test shell::tests::by_kind_with_reports_the_surfaces_that_were_present ... ok
[INFO] [stdout] test shell::tests::every_variant_is_in_all ... ok
[INFO] [stdout] test shell::tests::list_with_propagates_enumeration_failures ... ok
[INFO] [stdout] test shell::tests::list_with_returns_the_mock_fixture_surfaces ... ok
[INFO] [stdout] test shell::tests::list_with_stamps_the_kind_onto_the_root ... ok
[INFO] [stdout] test shell::tests::locator_is_rooted_at_the_surface ... ok
[INFO] [stdout] test text::tests::empty_string ... ok
[INFO] [stdout] test selector::tests::split_top_level_commas_unicode_around_commas ... ok
[INFO] [stdout] test selector::tests::wildcard_matches_any_element ... ok
[INFO] [stdout] test text::tests::lrm_stripped ... ok
[INFO] [stdout] test text::tests::no_allocation_path_returns_equal ... ok
[INFO] [stdout] test text::tests::non_bidi_format_chars_preserved ... ok
[INFO] [stdout] test text::tests::opt_some_stripped ... ok
[INFO] [stdout] test shell::tests::surface_tree_and_dump_are_rooted_at_the_surface ... ok
[INFO] [stdout] test text::tests::all_bidi_controls_stripped ... ok
[INFO] [stdout] test text::tests::unaffected_text_unchanged ... ok
[INFO] [stdout] test text::tests::opt_none ... ok
[INFO] [stdout] test shell::tests::all_kinds_roundtrip ... ok
[INFO] [stdout] test screenshot::mapping_tests::issue_425_equal_dpi_secondary_maps_inside_full_capture ... ok
[INFO] [stdout] test locator::tests::action_timeout_diagnosis_names_action_and_blocking_state ... ok
[INFO] [stdout] test locator::tests::wait_visible_timeout_diagnosis_never_matched ... ok
[INFO] [stdout] test locator::tests::wait_visible_timeout_diagnosis_matched_but_invisible ... ok
[INFO] [stdout] test locator::tests::scroll_into_view_still_requires_enabled ... ok
[INFO] [stdout] test config::tests::global_default_precedence_and_locator_integration ... ok
[INFO] [stderr]    Doc-tests xa11y_core
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 294 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/input.rs - input::InputSim (line 583) ... ignored
[INFO] [stdout] test src/input.rs - input::Key (line 257) ... ignored
[INFO] [stdout] test src/input.rs - input::Keyboard<'_>::chord (line 743) ... ignored
[INFO] [stdout] test src/locator.rs - locator::Locator (line 122) ... ignored
[INFO] [stdout] test src/shell.rs - shell (line 19) - compile ... ok
[INFO] [stdout] test src/element.rs - element::ElementData (line 84) ... ok
[INFO] [stdout] test src/error.rs - error::Diagnosis (line 49) ... ok
[INFO] [stdout] test src/screenshot/annotate.rs - screenshot::annotate::tag_for (line 119) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325", kill_on_drop: false }`
[INFO] [stdout] 73cf632b6a4ce972f3ebe6c9fe198e1cb168dca0e3fae2edacdc42b05c6c2325
