[INFO] fetching crate pdfplumber-core 0.2.0... [INFO] testing pdfplumber-core-0.2.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate pdfplumber-core 0.2.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate pdfplumber-core 0.2.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate pdfplumber-core 0.2.0 [INFO] tweaked toml for crates.io crate pdfplumber-core 0.2.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate pdfplumber-core 0.2.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate pdfplumber-core 0.2.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c0ddc14594b9233cc37ff71a90f19919efe883e1b9adcb28d21e494985f888ff [INFO] running `Command { std: "docker" "start" "-a" "c0ddc14594b9233cc37ff71a90f19919efe883e1b9adcb28d21e494985f888ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c0ddc14594b9233cc37ff71a90f19919efe883e1b9adcb28d21e494985f888ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0ddc14594b9233cc37ff71a90f19919efe883e1b9adcb28d21e494985f888ff", kill_on_drop: false }` [INFO] [stdout] c0ddc14594b9233cc37ff71a90f19919efe883e1b9adcb28d21e494985f888ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dcff7a2edb9cd209d549af9ac9873c1f331cef7a6429b6c54c6db3f88534533e [INFO] running `Command { std: "docker" "start" "-a" "dcff7a2edb9cd209d549af9ac9873c1f331cef7a6429b6c54c6db3f88534533e", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling pdfplumber-core v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.07s [INFO] running `Command { std: "docker" "inspect" "dcff7a2edb9cd209d549af9ac9873c1f331cef7a6429b6c54c6db3f88534533e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dcff7a2edb9cd209d549af9ac9873c1f331cef7a6429b6c54c6db3f88534533e", kill_on_drop: false }` [INFO] [stdout] dcff7a2edb9cd209d549af9ac9873c1f331cef7a6429b6c54c6db3f88534533e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 540dc792c4cb791adb2fffee013d521e55dd9fcc075bb56b38faeeadf8fa3bac [INFO] running `Command { std: "docker" "start" "-a" "540dc792c4cb791adb2fffee013d521e55dd9fcc075bb56b38faeeadf8fa3bac", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling pdfplumber-core v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.66s [INFO] running `Command { std: "docker" "inspect" "540dc792c4cb791adb2fffee013d521e55dd9fcc075bb56b38faeeadf8fa3bac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "540dc792c4cb791adb2fffee013d521e55dd9fcc075bb56b38faeeadf8fa3bac", kill_on_drop: false }` [INFO] [stdout] 540dc792c4cb791adb2fffee013d521e55dd9fcc075bb56b38faeeadf8fa3bac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 33f58742d7765d77d99f5d9f237da9af7b6bf526d042dbf6ef7b83d2d6651db4 [INFO] running `Command { std: "docker" "start" "-a" "33f58742d7765d77d99f5d9f237da9af7b6bf526d042dbf6ef7b83d2d6651db4", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pdfplumber_core-e656c94ead0e9d3c) [INFO] [stdout] [INFO] [stdout] running 651 tests [INFO] [stdout] test annotation::tests::annotation_clone_and_eq ... ok [INFO] [stdout] test annotation::tests::annotation_type_from_unknown_subtype ... ok [INFO] [stdout] test annotation::tests::annotation_with_no_optional_fields ... ok [INFO] [stdout] test annotation::tests::annotation_with_all_fields ... ok [INFO] [stdout] test annotation::tests::annotation_type_from_known_subtypes ... ok [INFO] [stdout] test bookmark::tests::bookmark_without_destination ... ok [INFO] [stdout] test dedupe::tests::test_color_as_extra_attr ... ok [INFO] [stdout] test dedupe::tests::test_custom_tolerance ... ok [INFO] [stdout] test dedupe::tests::test_default_options ... ok [INFO] [stdout] test dedupe::tests::test_different_text_not_deduped ... ok [INFO] [stdout] test dedupe::tests::test_different_font_not_deduped ... ok [INFO] [stdout] test dedupe::tests::test_different_size_not_deduped ... ok [INFO] [stdout] test dedupe::tests::test_empty_extra_attrs ... ok [INFO] [stdout] test bookmark::tests::bookmark_with_all_fields ... ok [INFO] [stdout] test dedupe::tests::test_empty_input ... ok [INFO] [stdout] test dedupe::tests::test_mixed_chars_only_duplicates_removed ... ok [INFO] [stdout] test dedupe::tests::test_multiple_duplicates_keep_first ... ok [INFO] [stdout] test dedupe::tests::test_non_overlapping_chars_preserved ... ok [INFO] [stdout] test dedupe::tests::test_overlapping_identical_chars_deduped ... ok [INFO] [stdout] test dedupe::tests::test_single_char ... ok [INFO] [stdout] test edges::tests::test_derive_edges_empty_inputs ... ok [INFO] [stdout] test edges::tests::test_derive_edges_lines_only ... ok [INFO] [stdout] test edges::tests::test_derive_edges_mixed ... ok [INFO] [stdout] test edges::tests::test_derive_edges_multiple_rects ... ok [INFO] [stdout] test bookmark::tests::bookmark_nested_levels ... ok [INFO] [stdout] test edges::tests::test_edge_from_curve_diagonal_chord ... ok [INFO] [stdout] test edges::tests::test_derive_edges_rects_only ... ok [INFO] [stdout] test edges::tests::test_derive_edges_curves_only ... ok [INFO] [stdout] test bookmark::tests::bookmark_clone_and_eq ... ok [INFO] [stdout] test edges::tests::test_edge_construction_and_field_access ... ok [INFO] [stdout] test edges::tests::test_edge_from_curve_vertical_chord ... ok [INFO] [stdout] test edges::tests::test_edge_from_diagonal_line ... ok [INFO] [stdout] test edges::tests::test_edge_from_horizontal_line ... ok [INFO] [stdout] test edges::tests::test_edges_from_rect_bottom ... ok [INFO] [stdout] test edges::tests::test_edge_from_vertical_line ... ok [INFO] [stdout] test edges::tests::test_edge_from_curve_horizontal_chord ... ok [INFO] [stdout] test edges::tests::test_edges_from_rect_top ... ok [INFO] [stdout] test encoding::tests::all_encodings_have_space ... ok [INFO] [stdout] test edges::tests::test_edge_source_variants ... ok [INFO] [stdout] test edges::tests::test_edges_from_rect_left ... ok [INFO] [stdout] test edges::tests::test_edges_from_rect_count ... ok [INFO] [stdout] test edges::tests::test_edges_from_rect_right ... ok [INFO] [stdout] test encoding::tests::ascii_range_consistent_except_standard ... ok [INFO] [stdout] test encoding::tests::font_encoding_apply_differences_incrementally ... ok [INFO] [stdout] test encoding::tests::font_encoding_decode_bytes ... ok [INFO] [stdout] test encoding::tests::font_encoding_differences_override ... ok [INFO] [stdout] test encoding::tests::font_encoding_from_custom_table ... ok [INFO] [stdout] test encoding::tests::mac_expert_fractions ... ok [INFO] [stdout] test encoding::tests::font_encoding_from_standard ... ok [INFO] [stdout] test encoding::tests::mac_expert_undefined_codes ... ok [INFO] [stdout] test encoding::tests::mac_expert_space_and_basic ... ok [INFO] [stdout] test encoding::tests::mac_roman_decode_bytes ... ok [INFO] [stdout] test encoding::tests::font_encoding_differences_fill_undefined ... ok [INFO] [stdout] test encoding::tests::mac_roman_extended_characters ... ok [INFO] [stdout] test encoding::tests::mac_expert_superscripts_subscripts ... ok [INFO] [stdout] test encoding::tests::mac_roman_ascii_printable ... ok [INFO] [stdout] test encoding::tests::resolver_decode_bytes ... ok [INFO] [stdout] test encoding::tests::resolver_decode_bytes_with_undefined ... ok [INFO] [stdout] test encoding::tests::resolver_default_only ... ok [INFO] [stdout] test encoding::tests::mac_roman_special_symbols ... ok [INFO] [stdout] test encoding::tests::resolver_to_unicode_highest_priority ... ok [INFO] [stdout] test encoding::tests::resolver_to_unicode_multi_char ... ok [INFO] [stdout] test encoding::tests::standard_ascii_letters ... ok [INFO] [stdout] test encoding::tests::standard_diacritics ... ok [INFO] [stdout] test encoding::tests::standard_differs_from_ascii ... ok [INFO] [stdout] test encoding::tests::standard_extended_characters ... ok [INFO] [stdout] test encoding::tests::standard_undefined_ranges ... ok [INFO] [stdout] test encoding::tests::standard_encoding_quote_marks_differ ... ok [INFO] [stdout] test encoding::tests::resolver_full_chain ... ok [INFO] [stdout] test encoding::tests::resolver_font_encoding_over_default ... ok [INFO] [stdout] test encoding::tests::win_ansi_ascii_printable ... ok [INFO] [stdout] test encoding::tests::win_ansi_decode_bytes ... ok [INFO] [stdout] test encoding::tests::win_ansi_decode_bytes_with_extended ... ok [INFO] [stdout] test encoding::tests::win_ansi_decode_bytes_with_undefined ... ok [INFO] [stdout] test encoding::tests::win_ansi_extended_characters ... ok [INFO] [stdout] test encoding::tests::win_ansi_undefined_codes ... ok [INFO] [stdout] test encoding::tests::win_ansi_latin_extended ... ok [INFO] [stdout] test error::tests::extract_options_clone ... ok [INFO] [stdout] test error::tests::extract_options_custom_values ... ok [INFO] [stdout] test error::tests::extract_options_default_values ... ok [INFO] [stdout] test error::tests::extract_result_map_preserves_warnings ... ok [INFO] [stdout] test error::tests::pdf_error_implements_std_error ... ok [INFO] [stdout] test error::tests::pdf_error_font_error_creation ... ok [INFO] [stdout] test error::tests::pdf_error_interpreter_error_creation ... ok [INFO] [stdout] test error::tests::extract_result_collect_multiple_warnings ... ok [INFO] [stdout] test error::tests::extract_result_with_warnings ... ok [INFO] [stdout] test error::tests::extract_result_ok_no_warnings ... ok [INFO] [stdout] test error::tests::pdf_error_clone_and_eq ... ok [INFO] [stdout] test error::tests::pdf_error_invalid_password ... ok [INFO] [stdout] test error::tests::pdf_error_invalid_password_clone_and_eq ... ok [INFO] [stdout] test error::tests::pdf_error_io_error_creation ... ok [INFO] [stdout] test error::tests::pdf_error_password_required ... ok [INFO] [stdout] test error::tests::pdf_error_parse_error_creation ... ok [INFO] [stdout] test error::tests::pdf_error_other ... ok [INFO] [stdout] test error::tests::pdf_error_password_required_clone_and_eq ... ok [INFO] [stdout] test error::tests::warning_new_with_description_only ... ok [INFO] [stdout] test error::tests::pdf_error_from_io_error ... ok [INFO] [stdout] test error::tests::pdf_error_resource_limit_exceeded ... ok [INFO] [stdout] test error::tests::warning_on_page ... ok [INFO] [stdout] test error::tests::warning_with_full_context ... ok [INFO] [stdout] test error::tests::warning_display_with_all_fields ... ok [INFO] [stdout] test error::tests::warning_clone_and_eq ... ok [INFO] [stdout] test error::tests::warning_with_operator_context_clone_and_eq ... ok [INFO] [stdout] test form_field::tests::field_type_from_pdf_name_signature ... ok [INFO] [stdout] test form_field::tests::field_type_from_pdf_name_button ... ok [INFO] [stdout] test form_field::tests::field_type_from_pdf_name_choice ... ok [INFO] [stdout] test form_field::tests::field_type_as_pdf_name ... ok [INFO] [stdout] test form_field::tests::form_field_clone_and_eq ... ok [INFO] [stdout] test form_field::tests::field_type_from_pdf_name_unknown ... ok [INFO] [stdout] test error::tests::warning_with_operator_context ... ok [INFO] [stdout] test form_field::tests::form_field_signature ... ok [INFO] [stdout] test form_field::tests::field_type_from_pdf_name_text ... ok [INFO] [stdout] test form_field::tests::field_type_display ... ok [INFO] [stdout] test form_field::tests::form_field_dropdown_with_options ... ok [INFO] [stdout] test form_field::tests::form_field_checkbox ... ok [INFO] [stdout] test form_field::tests::form_field_text_with_value ... ok [INFO] [stdout] test form_field::tests::form_field_with_flags ... ok [INFO] [stdout] test form_field::tests::form_field_with_no_value ... ok [INFO] [stdout] test geometry::tests::test_bbox_new ... ok [INFO] [stdout] test geometry::tests::test_bbox_zero_size ... ok [INFO] [stdout] test geometry::tests::test_bbox_union ... ok [INFO] [stdout] test geometry::tests::test_ctm_concat_two_translations ... ok [INFO] [stdout] test geometry::tests::test_ctm_default_is_identity ... ok [INFO] [stdout] test geometry::tests::test_ctm_transform_identity ... ok [INFO] [stdout] test geometry::tests::test_ctm_transform_scaling ... ok [INFO] [stdout] test geometry::tests::test_ctm_identity ... ok [INFO] [stdout] test geometry::tests::test_ctm_transform_translation ... ok [INFO] [stdout] test geometry::tests::test_ctm_transform_scale_and_translate ... ok [INFO] [stdout] test geometry::tests::test_bbox_dimensions ... ok [INFO] [stdout] test geometry::tests::test_ctm_concat_identity ... ok [INFO] [stdout] test geometry::tests::test_ctm_concat_scale_then_translate ... ok [INFO] [stdout] test geometry::tests::test_orientation_clone_copy ... ok [INFO] [stdout] test geometry::tests::test_orientation_variants ... ok [INFO] [stdout] test geometry::tests::test_point_new ... ok [INFO] [stdout] test html::tests::test_escape_html_angle_brackets ... ok [INFO] [stdout] test html::tests::test_block_dominant_size ... ok [INFO] [stdout] test html::tests::test_bold_font_detection ... ok [INFO] [stdout] test html::tests::test_detect_bullet_list ... ok [INFO] [stdout] test html::tests::test_detect_no_list ... ok [INFO] [stdout] test html::tests::test_detect_numbered_list ... ok [INFO] [stdout] test html::tests::test_escape_html_ampersand ... ok [INFO] [stdout] test html::tests::test_escape_html_combined ... ok [INFO] [stdout] test html::tests::test_escape_html_quotes ... ok [INFO] [stdout] test html::tests::test_heading_h2 ... ok [INFO] [stdout] test html::tests::test_heading_h1 ... ok [INFO] [stdout] test html::tests::test_heading_zero_median ... ok [INFO] [stdout] test html::tests::test_heading_html_escapes_content ... ok [INFO] [stdout] test html::tests::test_heading_h3 ... ok [INFO] [stdout] test html::tests::test_html_options_default ... ok [INFO] [stdout] test html::tests::test_no_heading_normal_size ... ok [INFO] [stdout] test html::tests::test_median_font_size_empty ... ok [INFO] [stdout] test html::tests::test_render_empty_input ... ok [INFO] [stdout] test html::tests::test_italic_font_detection ... ok [INFO] [stdout] test html::tests::test_paragraph_html_wrapping ... ok [INFO] [stdout] test html::tests::test_median_font_size_single ... ok [INFO] [stdout] test html::tests::test_render_heading_and_paragraph ... ok [INFO] [stdout] test html::tests::test_render_bold_italic_combined ... ok [INFO] [stdout] test html::tests::test_render_simple_paragraph ... ok [INFO] [stdout] test html::tests::test_render_heading_detection ... ok [INFO] [stdout] test html::tests::test_render_unordered_list ... ok [INFO] [stdout] test html::tests::test_render_with_table ... ok [INFO] [stdout] test html::tests::test_table_to_html_empty ... ok [INFO] [stdout] test html::tests::test_table_single_row ... ok [INFO] [stdout] test html::tests::test_render_line_with_emphasis ... ok [INFO] [stdout] test html::tests::test_heading_h4 ... ok [INFO] [stdout] test html::tests::test_render_list_items_as_html ... ok [INFO] [stdout] test html::tests::test_render_ordered_list ... ok [INFO] [stdout] test html::tests::test_table_to_html_simple ... ok [INFO] [stdout] test html::tests::test_table_to_html_escapes_html ... ok [INFO] [stdout] test html::tests::test_table_to_html_with_none_cells ... ok [INFO] [stdout] test hyperlink::tests::hyperlink_clone_and_eq ... ok [INFO] [stdout] test hyperlink::tests::hyperlink_with_goto_dest ... ok [INFO] [stdout] test images::tests::test_image_content_clone_eq ... ok [INFO] [stdout] test images::tests::test_image_format_clone_eq ... ok [INFO] [stdout] test images::tests::test_image_construction_and_field_access ... ok [INFO] [stdout] test images::tests::test_image_format_extension ... ok [INFO] [stdout] test hyperlink::tests::hyperlink_with_uri ... ok [INFO] [stdout] test images::tests::test_image_bbox ... ok [INFO] [stdout] test images::tests::test_image_content_construction ... ok [INFO] [stdout] test images::tests::test_image_content_raw_format ... ok [INFO] [stdout] test images::tests::test_image_from_ctm_scale_and_translate ... ok [INFO] [stdout] test images::tests::test_image_from_ctm_simple_placement ... ok [INFO] [stdout] test images::tests::test_image_from_ctm_different_page_height ... ok [INFO] [stdout] test images::tests::test_image_from_ctm_translation_only ... ok [INFO] [stdout] test layout::tests::test_blocks_to_text_empty ... ok [INFO] [stdout] test images::tests::test_image_metadata_default ... ok [INFO] [stdout] test layout::tests::test_blocks_to_text_single_block_multi_line ... ok [INFO] [stdout] test images::tests::test_image_from_ctm_identity ... ok [INFO] [stdout] test images::tests::test_image_from_ctm_no_metadata ... ok [INFO] [stdout] test layout::tests::test_blocks_to_text_single_block_single_line ... ok [INFO] [stdout] test layout::tests::test_blocks_to_text_two_blocks ... ok [INFO] [stdout] test layout::tests::test_cluster_lines_block_bbox ... ok [INFO] [stdout] test layout::tests::test_cluster_lines_single_block ... ok [INFO] [stdout] test layout::tests::test_cluster_lines_two_blocks ... ok [INFO] [stdout] test layout::tests::test_cluster_line_bbox_is_union ... ok [INFO] [stdout] test layout::tests::test_cluster_words_same_line ... ok [INFO] [stdout] test layout::tests::test_cluster_words_slight_y_variation ... ok [INFO] [stdout] test layout::tests::test_cluster_lines_empty ... ok [INFO] [stdout] test layout::tests::test_cluster_single_word ... ok [INFO] [stdout] test layout::tests::test_cluster_empty_words ... ok [INFO] [stdout] test layout::tests::test_cluster_three_lines ... ok [INFO] [stdout] test layout::tests::test_cluster_words_sorted_left_to_right_within_line ... ok [INFO] [stdout] test layout::tests::test_end_to_end_mixed_blocks ... ok [INFO] [stdout] test layout::tests::test_end_to_end_two_column_layout ... ok [INFO] [stdout] test layout::tests::test_end_to_end_single_column ... ok [INFO] [stdout] test layout::tests::test_cluster_words_different_lines ... ok [INFO] [stdout] test layout::tests::test_sort_single_column_top_to_bottom ... ok [INFO] [stdout] test layout::tests::test_reading_order_top_to_bottom_left_to_right ... ok [INFO] [stdout] test layout::tests::test_sort_single_block_unchanged ... ok [INFO] [stdout] test layout::tests::test_sort_two_columns ... ok [INFO] [stdout] test layout::tests::test_split_lines_with_column_gap ... ok [INFO] [stdout] test layout::tests::test_text_options_default ... ok [INFO] [stdout] test layout::tests::test_words_to_text_multi_line ... ok [INFO] [stdout] test layout::tests::test_words_to_text_empty ... ok [INFO] [stdout] test markdown::tests::test_block_dominant_size ... ok [INFO] [stdout] test layout::tests::test_words_to_text_single_line ... ok [INFO] [stdout] test markdown::tests::test_bold_font_detection ... ok [INFO] [stdout] test layout::tests::test_split_lines_no_columns ... ok [INFO] [stdout] test markdown::tests::test_detect_bullet_asterisk ... ok [INFO] [stdout] test layout::tests::test_text_options_layout_true ... ok [INFO] [stdout] test markdown::tests::test_detect_bullet_dash ... ok [INFO] [stdout] test layout::tests::test_split_lines_single_word_line ... ok [INFO] [stdout] test markdown::tests::test_detect_bullet_unicode ... ok [INFO] [stdout] test markdown::tests::test_detect_heading_h2 ... ok [INFO] [stdout] test markdown::tests::test_detect_heading_h3 ... ok [INFO] [stdout] test markdown::tests::test_detect_heading_h4 ... ok [INFO] [stdout] test markdown::tests::test_detect_heading_zero_median ... ok [INFO] [stdout] test markdown::tests::test_detect_no_heading_normal_size ... ok [INFO] [stdout] test markdown::tests::test_detect_numbered_list_dot ... ok [INFO] [stdout] test markdown::tests::test_detect_numbered_list_multi_digit ... ok [INFO] [stdout] test markdown::tests::test_detect_no_list_empty ... ok [INFO] [stdout] test markdown::tests::test_detect_numbered_list_paren ... ok [INFO] [stdout] test markdown::tests::test_detect_heading_h1 ... ok [INFO] [stdout] test markdown::tests::test_italic_font_detection ... ok [INFO] [stdout] test markdown::tests::test_markdown_options_default ... ok [INFO] [stdout] test markdown::tests::test_detect_heading_zero_font_size ... ok [INFO] [stdout] test markdown::tests::test_median_font_size_empty ... ok [INFO] [stdout] test markdown::tests::test_median_font_size_even_count ... ok [INFO] [stdout] test markdown::tests::test_median_font_size_ignores_zero_size ... ok [INFO] [stdout] test markdown::tests::test_median_font_size_single ... ok [INFO] [stdout] test markdown::tests::test_median_font_size_odd_count ... ok [INFO] [stdout] test markdown::tests::test_render_elements_heading_and_paragraph ... ok [INFO] [stdout] test markdown::tests::test_detect_no_list_normal_text ... ok [INFO] [stdout] test markdown::tests::test_render_with_emphasis ... ok [INFO] [stdout] test markdown::tests::test_render_simple_paragraph ... ok [INFO] [stdout] test markdown::tests::test_render_elements_list ... ok [INFO] [stdout] test markdown::tests::test_render_elements_numbered_list ... ok [INFO] [stdout] test markdown::tests::test_render_heading_detection ... ok [INFO] [stdout] test markdown::tests::test_render_empty_input ... ok [INFO] [stdout] test markdown::tests::test_table_to_gfm_escapes_pipe ... ok [INFO] [stdout] test markdown::tests::test_table_to_gfm_newline_in_cell ... ok [INFO] [stdout] test markdown::tests::test_render_with_table ... ok [INFO] [stdout] test markdown::tests::test_render_list_items ... ok [INFO] [stdout] test markdown::tests::test_table_to_gfm_empty_rows ... ok [INFO] [stdout] test markdown::tests::test_table_to_gfm_simple ... ok [INFO] [stdout] test markdown::tests::test_table_to_gfm_single_row ... ok [INFO] [stdout] test metadata::tests::default_metadata_is_empty ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_dash_pattern ... ok [INFO] [stdout] test metadata::tests::metadata_clone_and_eq ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_fill_alpha ... ok [INFO] [stdout] test metadata::tests::metadata_with_partial_fields ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_none_fields_preserve_state ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_multiple_fields ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_sequential ... ok [INFO] [stdout] test markdown::tests::test_table_to_gfm_with_none_cells ... ok [INFO] [stdout] test metadata::tests::metadata_with_all_fields ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_stroke_alpha ... ok [INFO] [stdout] test painting::tests::test_apply_ext_gstate_line_width ... ok [INFO] [stdout] test painting::tests::test_close_and_stroke_includes_closepath ... ok [INFO] [stdout] test painting::tests::test_close_fill_and_stroke ... ok [INFO] [stdout] test painting::tests::test_close_fill_even_odd_and_stroke ... ok [INFO] [stdout] test painting::tests::test_cmyk_black_to_rgb ... ok [INFO] [stdout] test painting::tests::test_cmyk_to_rgb ... ok [INFO] [stdout] test painting::tests::test_cmyk_white_to_rgb ... ok [INFO] [stdout] test painting::tests::test_color_clone ... ok [INFO] [stdout] test painting::tests::test_color_black ... ok [INFO] [stdout] test painting::tests::test_color_cmyk ... ok [INFO] [stdout] test painting::tests::test_color_default_is_black ... ok [INFO] [stdout] test painting::tests::test_color_other ... ok [INFO] [stdout] test painting::tests::test_color_gray ... ok [INFO] [stdout] test painting::tests::test_color_rgb ... ok [INFO] [stdout] test painting::tests::test_d_operator_propagates_to_painted_path ... ok [INFO] [stdout] test painting::tests::test_d_operator_sets_dash ... ok [INFO] [stdout] test painting::tests::test_d_operator_with_phase ... ok [INFO] [stdout] test painting::tests::test_dash_pattern_complex ... ok [INFO] [stdout] test painting::tests::test_dash_pattern_new ... ok [INFO] [stdout] test painting::tests::test_end_path_clears_builder ... ok [INFO] [stdout] test painting::tests::test_dash_pattern_default_is_solid ... ok [INFO] [stdout] test painting::tests::test_ext_gstate_default_is_all_none ... ok [INFO] [stdout] test painting::tests::test_end_path_returns_none ... ok [INFO] [stdout] test painting::tests::test_ext_gstate_font_override ... ok [INFO] [stdout] test painting::tests::test_fill_and_stroke_captures_custom_gs ... ok [INFO] [stdout] test painting::tests::test_fill_captures_path ... ok [INFO] [stdout] test painting::tests::test_dash_pattern_solid ... ok [INFO] [stdout] test painting::tests::test_fill_and_stroke ... ok [INFO] [stdout] test painting::tests::test_fill_even_odd_and_stroke ... ok [INFO] [stdout] test painting::tests::test_fill_even_odd_uses_even_odd_rule ... ok [INFO] [stdout] test painting::tests::test_fill_produces_fill_only ... ok [INFO] [stdout] test painting::tests::test_fill_rule_default ... ok [INFO] [stdout] test painting::tests::test_fill_clears_builder ... ok [INFO] [stdout] test painting::tests::test_fill_path_with_curves ... ok [INFO] [stdout] test painting::tests::test_graphics_state_default ... ok [INFO] [stdout] test painting::tests::test_gray_black_to_rgb ... ok [INFO] [stdout] test painting::tests::test_gray_to_rgb ... ok [INFO] [stdout] test painting::tests::test_gray_white_to_rgb ... ok [INFO] [stdout] test painting::tests::test_gs_operator_dash_propagates_to_paint ... ok [INFO] [stdout] test painting::tests::test_gs_operator_line_width_propagates_to_paint ... ok [INFO] [stdout] test painting::tests::test_other_to_rgb_returns_none ... ok [INFO] [stdout] test painting::tests::test_gs_operator_opacity_propagates_to_paint ... ok [INFO] [stdout] test painting::tests::test_multiple_paints_independent ... ok [INFO] [stdout] test painting::tests::test_paint_then_build_new_path ... ok [INFO] [stdout] test painting::tests::test_stroke_captures_graphics_state ... ok [INFO] [stdout] test painting::tests::test_stroke_captures_alpha ... ok [INFO] [stdout] test painting::tests::test_rgb_to_rgb_identity ... ok [INFO] [stdout] test painting::tests::test_set_dash_pattern_back_to_solid ... ok [INFO] [stdout] test painting::tests::test_stroke_captures_path_segments ... ok [INFO] [stdout] test painting::tests::test_stroke_captures_dash_pattern ... ok [INFO] [stdout] test painting::tests::test_stroke_path_with_curves ... ok [INFO] [stdout] test painting::tests::test_set_dash_pattern ... ok [INFO] [stdout] test painting::tests::test_stroke_default_gs_has_solid_dash_and_full_alpha ... ok [INFO] [stdout] test path::tests::test_combined_path_triangle ... ok [INFO] [stdout] test painting::tests::test_stroke_produces_stroke_only ... ok [INFO] [stdout] test painting::tests::test_stroke_with_ctm_transformed_path ... ok [INFO] [stdout] test painting::tests::test_stroke_clears_builder ... ok [INFO] [stdout] test path::tests::test_close_path ... ok [INFO] [stdout] test path::tests::test_combined_path_with_curves ... ok [INFO] [stdout] test path::tests::test_ctm_transformed_curve_to_v ... ok [INFO] [stdout] test path::tests::test_ctm_accessor ... ok [INFO] [stdout] test path::tests::test_ctm_transformed_curve_to_y ... ok [INFO] [stdout] test path::tests::test_ctm_close_path_returns_to_transformed_start ... ok [INFO] [stdout] test path::tests::test_ctm_scaling_lineto ... ok [INFO] [stdout] test path::tests::test_ctm_transformed_curveto ... ok [INFO] [stdout] test path::tests::test_ctm_transformed_rectangle ... ok [INFO] [stdout] test path::tests::test_curve_to_v_without_current_point_is_noop ... ok [INFO] [stdout] test path::tests::test_curve_to_y ... ok [INFO] [stdout] test path::tests::test_ctm_translation_moveto ... ok [INFO] [stdout] test path::tests::test_line_to ... ok [INFO] [stdout] test path::tests::test_curve_to ... ok [INFO] [stdout] test path::tests::test_curve_to_v ... ok [INFO] [stdout] test path::tests::test_move_to ... ok [INFO] [stdout] test path::tests::test_new_builder_is_empty ... ok [INFO] [stdout] test repair::tests::repair_options_custom ... ok [INFO] [stdout] test repair::tests::repair_options_default_all_enabled ... ok [INFO] [stdout] test repair::tests::repair_options_display ... ok [INFO] [stdout] test repair::tests::repair_result_default ... ok [INFO] [stdout] test repair::tests::repair_result_new_empty ... ok [INFO] [stdout] test repair::tests::repair_result_with_entries ... ok [INFO] [stdout] test repair::tests::repair_options_clone ... ok [INFO] [stdout] test path::tests::test_rectangle ... ok [INFO] [stdout] test search::tests::empty_chars_returns_empty ... ok [INFO] [stdout] test path::tests::test_rectangle_current_point_at_start ... ok [INFO] [stdout] test search::tests::empty_pattern_returns_empty ... ok [INFO] [stdout] test path::tests::test_multiple_subpaths ... ok [INFO] [stdout] test search::tests::case_sensitive_no_match ... ok [INFO] [stdout] test path::tests::test_set_ctm ... ok [INFO] [stdout] test path::tests::test_move_to_updates_subpath_start ... ok [INFO] [stdout] test search::tests::invalid_regex_returns_empty ... ok [INFO] [stdout] test search::tests::multiline_match_bbox ... ok [INFO] [stdout] test search::tests::no_matches_returns_empty ... ok [INFO] [stdout] test search::tests::multi_word_match_bbox ... ok [INFO] [stdout] test search::tests::page_number_in_result ... ok [INFO] [stdout] test search::tests::multiple_matches ... ok [INFO] [stdout] test shapes::tests::test_classify_orientation_horizontal ... ok [INFO] [stdout] test search::tests::search_options_defaults ... ok [INFO] [stdout] test search::tests::simple_string_search ... ok [INFO] [stdout] test shapes::tests::test_classify_orientation_diagonal ... ok [INFO] [stdout] test search::tests::case_insensitive_search ... ok [INFO] [stdout] test shapes::tests::test_curve_construction_and_field_access ... ok [INFO] [stdout] test shapes::tests::test_classify_orientation_vertical ... ok [INFO] [stdout] test shapes::tests::test_curve_captures_graphics_state ... ok [INFO] [stdout] test shapes::tests::test_curve_extraction_simple ... ok [INFO] [stdout] test shapes::tests::test_curve_bbox ... ok [INFO] [stdout] test shapes::tests::test_diagonal_line_extraction ... ok [INFO] [stdout] test shapes::tests::test_empty_path_produces_nothing ... ok [INFO] [stdout] test shapes::tests::test_fill_only_does_not_produce_lines ... ok [INFO] [stdout] test shapes::tests::test_curve_with_ctm_transform ... ok [INFO] [stdout] test shapes::tests::test_horizontal_line_extraction ... ok [INFO] [stdout] test shapes::tests::test_curve_fill_only ... ok [INFO] [stdout] test shapes::tests::test_end_path_produces_nothing ... ok [INFO] [stdout] test shapes::tests::test_line_with_custom_width_and_color ... ok [INFO] [stdout] test shapes::tests::test_line_construction_and_field_access ... ok [INFO] [stdout] test shapes::tests::test_multiple_subpaths_lines ... ok [INFO] [stdout] test shapes::tests::test_multiple_curves_in_subpath ... ok [INFO] [stdout] test shapes::tests::test_mixed_line_and_curve_subpath ... ok [INFO] [stdout] test shapes::tests::test_non_rect_closed_path_produces_lines ... ok [INFO] [stdout] test shapes::tests::test_multiple_subpaths_rect_and_line ... ok [INFO] [stdout] test shapes::tests::test_path_with_curves_no_rect_detection ... ok [INFO] [stdout] test shapes::tests::test_non_axis_aligned_quadrilateral_produces_lines ... ok [INFO] [stdout] test shapes::tests::test_rect_from_four_line_closed_path ... ok [INFO] [stdout] test shapes::tests::test_rect_from_re_operator ... ok [INFO] [stdout] test shapes::tests::test_rect_construction_and_field_access ... ok [INFO] [stdout] test shapes::tests::test_rect_width_and_height ... ok [INFO] [stdout] test shapes::tests::test_rect_fill_and_stroke ... ok [INFO] [stdout] test search::tests::regex_case_insensitive ... ok [INFO] [stdout] test search::tests::regex_search ... ok [INFO] [stdout] test shapes::tests::test_rect_with_ctm_scale ... ok [INFO] [stdout] test shapes::tests::test_single_moveto_produces_nothing ... ok [INFO] [stdout] test shapes::tests::test_y_flip ... ok [INFO] [stdout] test signature::tests::signature_info_clone_and_eq ... ok [INFO] [stdout] test signature::tests::signature_info_signed ... ok [INFO] [stdout] test signature::tests::signature_info_unsigned ... ok [INFO] [stdout] test struct_tree::tests::struct_element_empty_mcids ... ok [INFO] [stdout] test struct_tree::tests::struct_element_heading_types ... ok [INFO] [stdout] test struct_tree::tests::struct_element_nested_tree ... ok [INFO] [stdout] test shapes::tests::test_vertical_line_extraction ... ok [INFO] [stdout] test struct_tree::tests::struct_element_with_all_fields ... ok [INFO] [stdout] test struct_tree::tests::struct_element_no_page_index ... ok [INFO] [stdout] test signature::tests::signature_info_partial_metadata ... ok [INFO] [stdout] test struct_tree::tests::struct_element_clone ... ok [INFO] [stdout] test struct_tree::tests::struct_element_basic_creation ... ok [INFO] [stdout] test struct_tree::tests::struct_element_with_children ... ok [INFO] [stdout] test svg::tests::test_debug_tablefinder_svg_no_tables ... ok [INFO] [stdout] test svg::tests::test_debug_tablefinder_svg_selective_show ... ok [INFO] [stdout] test svg::tests::test_draw_cells_correct_coordinates ... ok [INFO] [stdout] test svg::tests::test_draw_chars_adds_rect_elements ... ok [INFO] [stdout] test svg::tests::test_debug_tablefinder_svg_with_table ... ok [INFO] [stdout] test svg::tests::test_draw_chars_empty_slice ... ok [INFO] [stdout] test svg::tests::test_draw_chars_correct_coordinates ... ok [INFO] [stdout] test svg::tests::test_draw_cells_adds_rect_elements_with_dashed_style ... ok [INFO] [stdout] test svg::tests::test_draw_edges_adds_line_elements ... ok [INFO] [stdout] test svg::tests::test_draw_intersections_adds_circle_elements ... ok [INFO] [stdout] test svg::tests::test_draw_intersections_correct_coordinates ... ok [INFO] [stdout] test svg::tests::test_draw_intersections_empty_slice ... ok [INFO] [stdout] test svg::tests::test_draw_style_cells_default ... ok [INFO] [stdout] test svg::tests::test_draw_lines_correct_coordinates ... ok [INFO] [stdout] test svg::tests::test_draw_style_lines_default ... ok [INFO] [stdout] test svg::tests::test_draw_lines_adds_line_elements ... ok [INFO] [stdout] test svg::tests::test_draw_style_intersections_default ... ok [INFO] [stdout] test svg::tests::test_draw_style_chars_default ... ok [INFO] [stdout] test svg::tests::test_draw_style_rects_default ... ok [INFO] [stdout] test svg::tests::test_draw_style_tables_default ... ok [INFO] [stdout] test svg::tests::test_draw_style_to_svg_style_full ... ok [INFO] [stdout] test svg::tests::test_draw_style_default ... ok [INFO] [stdout] test svg::tests::test_draw_style_to_svg_style_no_fill ... ok [INFO] [stdout] test svg::tests::test_draw_rects_adds_rect_elements ... ok [INFO] [stdout] test svg::tests::test_empty_draw_no_overlays ... ok [INFO] [stdout] test svg::tests::test_style_customization ... ok [INFO] [stdout] test svg::tests::test_svg_debug_options_selective ... ok [INFO] [stdout] test svg::tests::test_svg_has_correct_dimensions_default ... ok [INFO] [stdout] test svg::tests::test_draw_tables_adds_cell_rects ... ok [INFO] [stdout] test svg::tests::test_svg_has_correct_dimensions_with_explicit_size ... ok [INFO] [stdout] test svg::tests::test_svg_coordinate_system_top_left_origin ... ok [INFO] [stdout] test svg::tests::test_svg_debug_options_default ... ok [INFO] [stdout] test svg::tests::test_svg_default_options ... ok [INFO] [stdout] test svg::tests::test_svg_generation_simple_page ... ok [INFO] [stdout] test svg::tests::test_svg_has_correct_dimensions_with_scale ... ok [INFO] [stdout] test svg::tests::test_svg_has_correct_viewbox ... ok [INFO] [stdout] test svg::tests::test_svg_small_page ... ok [INFO] [stdout] test svg::tests::test_svg_with_mixed_objects ... ok [INFO] [stdout] test table::tests::test_accuracy_no_cells ... ok [INFO] [stdout] test table::tests::test_accuracy_all_empty ... ok [INFO] [stdout] test svg::tests::test_svg_has_page_boundary_rect ... ok [INFO] [stdout] test table::tests::test_accuracy_half_empty ... ok [INFO] [stdout] test table::tests::test_accuracy_all_cells_filled ... ok [INFO] [stdout] test svg::tests::test_svg_valid_markup ... ok [INFO] [stdout] test table::tests::test_accuracy_whitespace_only_treated_as_empty ... ok [INFO] [stdout] test table::tests::test_cell_with_text ... ok [INFO] [stdout] test table::tests::test_cell_without_text ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_3x3_grid ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_empty ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_single_table_columns_ordered ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_single_table_rows_ordered ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_single_column ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_single_table_2x2 ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_two_separate_tables ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_single_cell ... ok [INFO] [stdout] test table::tests::test_explicit_2x2_grid ... ok [INFO] [stdout] test table::tests::test_explicit_edge_source_is_explicit ... ok [INFO] [stdout] test table::tests::test_explicit_grid_detection ... ok [INFO] [stdout] test table::tests::test_explicit_lines_construction ... ok [INFO] [stdout] test table::tests::test_cells_to_tables_single_row ... ok [INFO] [stdout] test table::tests::test_explicit_lines_empty ... ok [INFO] [stdout] test table::tests::test_explicit_lines_to_edges_basic ... ok [INFO] [stdout] test table::tests::test_explicit_lines_to_edges_both_empty ... ok [INFO] [stdout] test table::tests::test_explicit_lines_to_edges_empty_horizontal ... ok [INFO] [stdout] test path::tests::test_multiple_subpaths_close_returns_to_latest_start ... ok [INFO] [stdout] test table::tests::test_explicit_strategy_no_explicit_lines ... ok [INFO] [stdout] test table::tests::test_explicit_lines_to_edges_empty_vertical ... ok [INFO] [stdout] test table::tests::test_extract_text_chars_outside_cell ... ok [INFO] [stdout] test table::tests::test_explicit_unsorted_coordinates ... ok [INFO] [stdout] test table::tests::test_extract_text_center_point_containment ... ok [INFO] [stdout] test table::tests::test_extract_text_center_inside_cell ... ok [INFO] [stdout] test table::tests::test_extract_text_empty_cell ... ok [INFO] [stdout] test table::tests::test_explicit_mixing_with_detected_edges ... ok [INFO] [stdout] test table::tests::test_extract_text_multiple_lines_in_cell ... ok [INFO] [stdout] test table::tests::test_extract_text_two_cells ... ok [INFO] [stdout] test table::tests::test_extract_text_no_cells ... ok [INFO] [stdout] test table::tests::test_explicit_single_line_each ... ok [INFO] [stdout] test table::tests::test_find_tables_debug_no_edges ... ok [INFO] [stdout] test table::tests::test_extract_text_multiple_words_in_cell ... ok [INFO] [stdout] test table::tests::test_extract_text_mixed_empty_and_populated_cells ... ok [INFO] [stdout] test table::tests::test_extract_text_single_word_in_cell ... ok [INFO] [stdout] test table::tests::test_find_tables_debug_returns_intermediate_results ... ok [INFO] [stdout] test table::tests::test_find_tables_debug_struct_fields ... ok [INFO] [stdout] test table::tests::test_intersections_empty_edges ... ok [INFO] [stdout] test table::tests::test_intersections_beyond_tolerance_no_match ... ok [INFO] [stdout] test table::tests::test_intersections_grid_2x2 ... ok [INFO] [stdout] test table::tests::test_intersections_l_intersection_corner ... ok [INFO] [stdout] test table::tests::test_intersections_multiple_h_one_v ... ok [INFO] [stdout] test table::tests::test_intersections_no_duplicate_points ... ok [INFO] [stdout] test table::tests::test_intersections_separate_x_y_tolerance ... ok [INFO] [stdout] test table::tests::test_intersections_simple_cross ... ok [INFO] [stdout] test table::tests::test_intersections_t_intersection ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_4x3_grid ... ok [INFO] [stdout] test table::tests::test_intersections_no_intersection_parallel ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_3x3_grid ... ok [INFO] [stdout] test table::tests::test_intersections_no_intersection_non_overlapping ... ok [INFO] [stdout] test table::tests::test_intersections_ignores_diagonal_edges ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_empty ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_collinear_points ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_irregular_grid ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_partial_grid_with_valid_cells ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_missing_corner ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_text_is_none ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_single_point ... ok [INFO] [stdout] test table::tests::test_intersections_tolerance_based ... ok [INFO] [stdout] test table::tests::test_intersections_tolerance_y_based ... ok [INFO] [stdout] test table::tests::test_join_distant_horizontal_edges_not_merged ... ok [INFO] [stdout] test table::tests::test_join_diagonal_edges_pass_through ... ok [INFO] [stdout] test table::tests::test_join_adjacent_vertical_edges_within_tolerance ... ok [INFO] [stdout] test table::tests::test_join_mixed_orientations ... ok [INFO] [stdout] test table::tests::test_join_groups_by_collinear_position ... ok [INFO] [stdout] test table::tests::test_join_separate_x_y_tolerance ... ok [INFO] [stdout] test table::tests::test_intersections_to_cells_simple_2x2_grid ... ok [INFO] [stdout] test table::tests::test_join_two_overlapping_horizontal_edges ... ok [INFO] [stdout] test table::tests::test_join_two_adjacent_horizontal_edges_within_tolerance ... ok [INFO] [stdout] test table::tests::test_lattice_edge_min_length_filtering ... ok [INFO] [stdout] test table::tests::test_join_two_overlapping_vertical_edges ... ok [INFO] [stdout] test table::tests::test_lattice_edge_min_length_filters_all ... ok [INFO] [stdout] test table::tests::test_join_chain_of_three_horizontal_segments ... ok [INFO] [stdout] test table::tests::test_join_edge_group_empty ... ok [INFO] [stdout] test table::tests::test_lattice_no_intersections ... ok [INFO] [stdout] test table::tests::test_lattice_full_pipeline_snap_and_join ... ok [INFO] [stdout] test table::tests::test_lattice_simple_bordered_table ... ok [INFO] [stdout] test table::tests::test_lattice_empty_edges ... ok [INFO] [stdout] test table::tests::test_join_edge_group_single_edge_unchanged ... ok [INFO] [stdout] test table::tests::test_lattice_strict_excludes_rect_edges ... ok [INFO] [stdout] test table::tests::test_lattice_strict_with_line_edges ... ok [INFO] [stdout] test table::tests::test_lattice_with_rect_edges ... ok [INFO] [stdout] test table::tests::test_min_accuracy_filtering ... ok [INFO] [stdout] test table::tests::test_lattice_strict_mixed_line_and_rect_edges ... ok [INFO] [stdout] test table::tests::test_snap_edges_does_not_merge ... ok [INFO] [stdout] test table::tests::test_snap_edges_empty ... ok [INFO] [stdout] test table::tests::test_snap_edges_diagonal_passed_through ... ok [INFO] [stdout] test table::tests::test_snap_edges_preserves_along_axis_coords ... ok [INFO] [stdout] test table::tests::test_snap_edges_multiple_clusters ... ok [INFO] [stdout] test table::tests::test_snap_edges_single_edge_unchanged ... ok [INFO] [stdout] test table::tests::test_quality_combined ... ok [INFO] [stdout] test table::tests::test_snap_nearby_horizontal_lines ... ok [INFO] [stdout] test table::tests::test_snap_nearby_vertical_lines ... ok [INFO] [stdout] test table::tests::test_snap_edges_zero_tolerance ... ok [INFO] [stdout] test table::tests::test_strategy_copy ... ok [INFO] [stdout] test table::tests::test_snap_edges_separate_x_tolerance ... ok [INFO] [stdout] test table::tests::test_strategy_default_is_lattice ... ok [INFO] [stdout] test table::tests::test_stream_strategy_min_words_horizontal_default ... ok [INFO] [stdout] test table::tests::test_stream_edge_source_is_stream ... ok [INFO] [stdout] test table::tests::test_snap_edges_far_apart_remain_unchanged ... ok [INFO] [stdout] test table::tests::test_table_construction ... ok [INFO] [stdout] test table::tests::test_table_finder_construction ... ok [INFO] [stdout] test table::tests::test_snap_edges_separate_x_y_tolerance ... ok [INFO] [stdout] test table::tests::test_table_finder_custom_settings ... ok [INFO] [stdout] test table::tests::test_stream_strategy_full_pipeline ... ok [INFO] [stdout] test table::tests::test_stream_strategy_with_no_words ... ok [INFO] [stdout] test table::tests::test_snap_edges_mixed_orientations ... ok [INFO] [stdout] test table::tests::test_strategy_variants_are_distinct ... ok [INFO] [stdout] test table::tests::test_table_settings_default_values ... ok [INFO] [stdout] test table::tests::test_table_settings_with_explicit_lines ... ok [INFO] [stdout] test table::tests::test_whitespace_mixed ... ok [INFO] [stdout] test table::tests::test_table_multi_row ... ok [INFO] [stdout] test table::tests::test_table_settings_custom_construction ... ok [INFO] [stdout] test table::tests::test_table_settings_strategy_selection ... ok [INFO] [stdout] test table::tests::test_table_finder_empty_edges ... ok [INFO] [stdout] test table::tests::test_whitespace_all_spaces ... ok [INFO] [stdout] test table::tests::test_whitespace_no_text_cells ... ok [INFO] [stdout] test table::tests::test_whitespace_no_whitespace ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_empty ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_horizontal_top_alignment ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_no_grouping_beyond_tolerance ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_horizontal_bottom_alignment ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_threshold_filtering_horizontal ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_tolerance_grouping ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_threshold_filtering_vertical ... ok [INFO] [stdout] test text::tests::test_char_creation_basic ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_vertical_x0_alignment ... ok [INFO] [stdout] test text::tests::test_char_rotated_text ... ok [INFO] [stdout] test table::tests::test_words_to_edges_stream_vertical_x1_alignment ... ok [INFO] [stdout] test text::tests::test_char_with_colors ... ok [INFO] [stdout] test text::tests::test_is_cjk_chinese ... ok [INFO] [stdout] test text::tests::test_is_cjk_japanese_katakana ... ok [INFO] [stdout] test text::tests::test_is_cjk_japanese_hiragana ... ok [INFO] [stdout] test text::tests::test_is_cjk_korean ... ok [INFO] [stdout] test text::tests::test_is_cjk_text ... ok [INFO] [stdout] test text::tests::test_resolved_color_gray_to_rgb ... ok [INFO] [stdout] test text::tests::test_resolved_color_other_returns_none ... ok [INFO] [stdout] test text::tests::test_resolved_color_cmyk_to_rgb ... ok [INFO] [stdout] test table::tests::test_whitespace_skips_empty_cells ... ok [INFO] [stdout] test text::tests::test_is_cjk_latin ... ok [INFO] [stdout] test text::tests::test_resolved_color_none ... ok [INFO] [stdout] test text::tests::test_resolved_color_rgb_identity ... ok [INFO] [stdout] test unicode_norm::tests::normalize_chars_empty_input ... ok [INFO] [stdout] test unicode_norm::tests::normalize_chars_nfc_composes ... ok [INFO] [stdout] test unicode_norm::tests::normalize_chars_none_preserves_original ... ok [INFO] [stdout] test unicode_norm::tests::normalize_chars_preserves_other_fields ... ok [INFO] [stdout] test unicode_norm::tests::normalize_nfc_composes_characters ... ok [INFO] [stdout] test unicode_norm::tests::normalize_nfkc_decomposes_compatibility_and_composes ... ok [INFO] [stdout] test unicode_norm::tests::normalize_nfd_decomposes_characters ... ok [INFO] [stdout] test unicode_norm::tests::normalize_nfkd_decomposes_compatibility ... ok [INFO] [stdout] test unicode_norm::tests::unicode_norm_default_is_none ... ok [INFO] [stdout] test validation::tests::severity_clone_and_eq ... ok [INFO] [stdout] test validation::tests::validation_issue_display_with_location ... ok [INFO] [stdout] test unicode_norm::tests::normalize_none_returns_unchanged ... ok [INFO] [stdout] test validation::tests::validation_issue_display_without_location ... ok [INFO] [stdout] test validation::tests::validation_issue_clone_and_eq ... ok [INFO] [stdout] test text::tests::test_text_direction_default ... ok [INFO] [stdout] test validation::tests::validation_issue_new ... ok [INFO] [stdout] test unicode_norm::tests::normalize_nfkc_fullwidth_to_ascii ... ok [INFO] [stdout] test validation::tests::severity_display ... ok [INFO] [stdout] test words::tests::test_chinese_text_grouping ... ok [INFO] [stdout] test words::tests::test_chinese_text_with_larger_gap_uses_char_width_tolerance ... ok [INFO] [stdout] test words::tests::test_chinese_text_large_gap_splits ... ok [INFO] [stdout] test validation::tests::validation_issue_with_location ... ok [INFO] [stdout] test words::tests::test_default_options ... ok [INFO] [stdout] test words::tests::test_cjk_transition_to_latin_uses_cjk_tolerance ... ok [INFO] [stdout] test words::tests::test_cjk_with_space_splits ... ok [INFO] [stdout] test words::tests::test_configurable_y_tolerance ... ok [INFO] [stdout] test words::tests::test_configurable_x_tolerance ... ok [INFO] [stdout] test words::tests::test_korean_text_grouping ... ok [INFO] [stdout] test words::tests::test_mixed_cjk_latin_with_gap ... ok [INFO] [stdout] test words::tests::test_multi_line_text ... ok [INFO] [stdout] test words::tests::test_multiline_sorting ... ok [INFO] [stdout] test words::tests::test_multiple_spaces_between_words ... ok [INFO] [stdout] test words::tests::test_overlapping_chars_grouped ... ok [INFO] [stdout] test words::tests::test_keep_blank_chars_true ... ok [INFO] [stdout] test words::tests::test_leading_spaces_ignored ... ok [INFO] [stdout] test words::tests::test_simple_horizontal_text ... ok [INFO] [stdout] test words::tests::test_single_char ... ok [INFO] [stdout] test words::tests::test_empty_chars ... ok [INFO] [stdout] test words::tests::test_split_on_space_char ... ok [INFO] [stdout] test words::tests::test_text_with_small_gap_within_tolerance ... ok [INFO] [stdout] test words::tests::test_trailing_spaces_ignored ... ok [INFO] [stdout] test words::tests::test_unsorted_chars_are_sorted_spatially ... ok [INFO] [stdout] test words::tests::test_japanese_mixed_text ... ok [INFO] [stdout] test words::tests::test_text_with_large_gap ... ok [INFO] [stdout] test words::tests::test_vertical_text_two_columns ... ok [INFO] [stdout] test words::tests::test_vertical_text_with_gap ... ok [INFO] [stdout] test words::tests::test_word_doctop_uses_min_char_doctop ... ok [INFO] [stdout] test words::tests::test_vertical_text_chinese ... ok [INFO] [stdout] test words::tests::test_word_has_doctop_and_direction ... ok [INFO] [stdout] test words::tests::test_word_bbox_is_union_of_char_bboxes ... ok [INFO] [stdout] test words::tests::test_three_words_on_one_line ... ok [INFO] [stdout] test words::tests::test_use_text_flow_preserves_order ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 651 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/serde_roundtrip.rs (/opt/rustwide/target/debug/deps/serde_roundtrip-7fe115a90c8c837c) [INFO] [stderr] Doc-tests pdfplumber_core [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] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/page_object.rs - page_object::PageObject (line 16) ... ignored [INFO] [stdout] test src/struct_tree.rs - struct_tree::StructElement (line 25) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.69s; merged doctests compilation took 0.67s [INFO] running `Command { std: "docker" "inspect" "33f58742d7765d77d99f5d9f237da9af7b6bf526d042dbf6ef7b83d2d6651db4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33f58742d7765d77d99f5d9f237da9af7b6bf526d042dbf6ef7b83d2d6651db4", kill_on_drop: false }` [INFO] [stdout] 33f58742d7765d77d99f5d9f237da9af7b6bf526d042dbf6ef7b83d2d6651db4