[INFO] fetching crate pdf-dump 0.12.6... [INFO] testing pdf-dump-0.12.6 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate pdf-dump 0.12.6 into /workspace/builds/worker-2-tc1/source [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate pdf-dump 0.12.6 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate pdf-dump 0.12.6 [INFO] tweaked toml for crates.io crate pdf-dump 0.12.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate pdf-dump 0.12.6 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate pdf-dump 0.12.6 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lopdf v0.36.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 76686fd5baed3b92e06d3959d1a720e03bdaddb7b68fd42d6cdeaa83b8eefc10 [INFO] running `Command { std: "docker" "start" "-a" "76686fd5baed3b92e06d3959d1a720e03bdaddb7b68fd42d6cdeaa83b8eefc10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "76686fd5baed3b92e06d3959d1a720e03bdaddb7b68fd42d6cdeaa83b8eefc10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76686fd5baed3b92e06d3959d1a720e03bdaddb7b68fd42d6cdeaa83b8eefc10", kill_on_drop: false }` [INFO] [stdout] 76686fd5baed3b92e06d3959d1a720e03bdaddb7b68fd42d6cdeaa83b8eefc10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ef2ce6b95fe1b673e8e1ade78cab89811cde7a57441323a8ced09fdb51e94cd3 [INFO] running `Command { std: "docker" "start" "-a" "ef2ce6b95fe1b673e8e1ade78cab89811cde7a57441323a8ced09fdb51e94cd3", kill_on_drop: false }` [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling tinyvec v1.9.0 [INFO] [stderr] Compiling anstyle-query v1.1.3 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling anstream v0.6.19 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-padding v0.3.3 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling clap_builder v4.5.40 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling rand v0.9.1 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling nom_locate v5.0.0 [INFO] [stderr] Compiling ecb v0.1.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling cbc v0.1.2 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling weezl v0.1.10 [INFO] [stderr] Compiling jiff v0.2.15 [INFO] [stderr] Compiling rangemap v1.5.1 [INFO] [stderr] Compiling clap v4.5.40 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling lopdf v0.36.0 [INFO] [stderr] Compiling pdf-dump v0.12.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 24s [INFO] running `Command { std: "docker" "inspect" "ef2ce6b95fe1b673e8e1ade78cab89811cde7a57441323a8ced09fdb51e94cd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef2ce6b95fe1b673e8e1ade78cab89811cde7a57441323a8ced09fdb51e94cd3", kill_on_drop: false }` [INFO] [stdout] ef2ce6b95fe1b673e8e1ade78cab89811cde7a57441323a8ced09fdb51e94cd3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 810fa017cf5a8f90da90bfcca158d4335c543c3a6d3c3226ad046c94c9f5cf3b [INFO] running `Command { std: "docker" "start" "-a" "810fa017cf5a8f90da90bfcca158d4335c543c3a6d3c3226ad046c94c9f5cf3b", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling lopdf v0.36.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling pdf-dump v0.12.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 33.88s [INFO] running `Command { std: "docker" "inspect" "810fa017cf5a8f90da90bfcca158d4335c543c3a6d3c3226ad046c94c9f5cf3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "810fa017cf5a8f90da90bfcca158d4335c543c3a6d3c3226ad046c94c9f5cf3b", kill_on_drop: false }` [INFO] [stdout] 810fa017cf5a8f90da90bfcca158d4335c543c3a6d3c3226ad046c94c9f5cf3b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5dfcedda280f64d35d138a86d4dd6ae221ba4b05204a4ae1c2554a174456d0b4 [INFO] running `Command { std: "docker" "start" "-a" "5dfcedda280f64d35d138a86d4dd6ae221ba4b05204a4ae1c2554a174456d0b4", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pdf_dump-829d58c371c50f7a) [INFO] [stdout] [INFO] [stdout] running 888 tests [INFO] [stdout] test annotations::tests::annotations_annots_as_reference ... ok [INFO] [stdout] test annotations::tests::annotations_highlight_type ... ok [INFO] [stdout] test annotations::tests::annotations_json_output ... ok [INFO] [stdout] test annotations::tests::annotations_json_includes_link_fields ... ok [INFO] [stdout] test annotations::tests::annotations_link_gotor_type ... ok [INFO] [stdout] test annotations::tests::annotations_link_launch_type ... ok [INFO] [stdout] test annotations::tests::annotations_link_uri_type_and_target ... ok [INFO] [stdout] test annotations::tests::annotations_link_goto_type ... ok [INFO] [stdout] test annotations::tests::annotations_missing_rect ... ok [INFO] [stdout] test annotations::tests::annotations_multiple_on_same_page ... ok [INFO] [stdout] test annotations::tests::annotations_missing_subtype ... ok [INFO] [stdout] test annotations::tests::annotations_no_annotations ... ok [INFO] [stdout] test annotations::tests::annotations_link_unknown_action ... ok [INFO] [stdout] test annotations::tests::annotations_link_named_type ... ok [INFO] [stdout] test annotations::tests::annotations_non_link_has_no_link_type ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_count_no_outlines ... ok [INFO] [stdout] test annotations::tests::annotations_page_filter ... ok [INFO] [stdout] test annotations::tests::annotations_page_range_filter ... ok [INFO] [stdout] test annotations::tests::annotations_text_annotation ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_cycle_detection ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_json_nested_children ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_count_function ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_nested_children ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_no_outlines ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_json_no_outlines ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_siblings ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_json_output ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_no_dest_no_action ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_missing_title ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_with_unknown_action ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_with_dest_array ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_with_uri_action ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_with_goto_action ... ok [INFO] [stdout] test embedded::tests::embedded_files_basic ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_with_named_dest ... ok [INFO] [stdout] test bookmarks::tests::bookmarks_with_string_dest ... ok [INFO] [stdout] test embedded::tests::embedded_files_missing_ef ... ok [INFO] [stdout] test embedded::tests::embedded_files_missing_params_size ... ok [INFO] [stdout] test embedded::tests::embedded_files_json_structure_with_file ... ok [INFO] [stdout] test embedded::tests::embedded_files_missing_mime_type ... ok [INFO] [stdout] test embedded::tests::embedded_files_non_reference_value_skipped ... ok [INFO] [stdout] test embedded::tests::embedded_files_print ... ok [INFO] [stdout] test embedded::tests::embedded_files_json ... ok [INFO] [stdout] test embedded::tests::embedded_files_no_names ... ok [INFO] [stdout] test embedded::tests::embedded_files_print_with_file ... ok [INFO] [stdout] test embedded::tests::embedded_files_uf_fallback_to_f ... ok [INFO] [stdout] test find_text::tests::find_text_context_shown ... ok [INFO] [stdout] test find_text::tests::find_text_empty_pattern ... ok [INFO] [stdout] test find_text::tests::find_text_case_insensitive ... ok [INFO] [stdout] test find_text::tests::find_text_json_multiple_pages ... ok [INFO] [stdout] test find_text::tests::find_text_json_output ... ok [INFO] [stdout] test find_text::tests::find_text_json_no_matches ... ok [INFO] [stdout] test find_text::tests::find_text_multiple_matches_on_same_page ... ok [INFO] [stdout] test find_text::tests::find_text_multiple_pages ... ok [INFO] [stdout] test find_text::tests::find_text_page_filter_nonexistent_page ... ok [INFO] [stdout] test find_text::tests::find_text_no_matches ... ok [INFO] [stdout] test fonts::tests::collect_fonts_by_subtype_only ... ok [INFO] [stdout] test find_text::tests::find_text_page_range_filter ... ok [INFO] [stdout] test find_text::tests::find_text_singular_plural ... ok [INFO] [stdout] test fonts::tests::collect_fonts_cid_font_subtypes ... ok [INFO] [stdout] test fonts::tests::collect_fonts_encoding_as_dict_shows_dash ... ok [INFO] [stdout] test fonts::tests::collect_fonts_detects_embedded ... ok [INFO] [stdout] test find_text::tests::find_text_with_page_filter ... ok [INFO] [stdout] test fonts::tests::collect_fonts_embedded_fontfile3_opentype ... ok [INFO] [stdout] test fonts::tests::collect_fonts_font_in_stream_object ... ok [INFO] [stdout] test fonts::tests::collect_fonts_fontdescriptor_without_fontfile ... ok [INFO] [stdout] test fonts::tests::collect_fonts_embedded_fontfile_type1 ... ok [INFO] [stdout] test fonts::tests::collect_fonts_missing_subtype_defaults_to_dash ... ok [INFO] [stdout] test fonts::tests::collect_fonts_mmtype1 ... ok [INFO] [stdout] test find_text::tests::find_text_single_match ... ok [INFO] [stdout] test fonts::tests::collect_fonts_no_fontdescriptor_means_not_embedded ... ok [INFO] [stdout] test fonts::tests::collect_fonts_encoding_as_reference ... ok [INFO] [stdout] test fonts::tests::collect_fonts_no_fonts_in_doc ... ok [INFO] [stdout] test fonts::tests::collect_fonts_finds_typed_font ... ok [INFO] [stdout] test fonts::tests::collect_fonts_non_font_subtype_ignored ... ok [INFO] [stdout] test fonts::tests::collect_fonts_sorted_by_object_id ... ok [INFO] [stdout] test fonts::tests::collect_fonts_type0_composite ... ok [INFO] [stdout] test fonts::tests::collect_fonts_without_basefont ... ok [INFO] [stdout] test fonts::tests::fonts_encoding_differences_truncated ... ok [INFO] [stdout] test fonts::tests::fonts_first_last_char_widths ... ok [INFO] [stdout] test fonts::tests::fonts_cid_system_info ... ok [INFO] [stdout] test fonts::tests::fonts_encoding_differences_via_reference ... ok [INFO] [stdout] test fonts::tests::fonts_encoding_differences_small ... ok [INFO] [stdout] test fonts::tests::fonts_json_cid_system_info ... ok [INFO] [stdout] test fonts::tests::fonts_to_unicode_absent ... ok [INFO] [stdout] test fonts::tests::fonts_json_includes_diagnostics ... ok [INFO] [stdout] test fonts::tests::fonts_no_diagnostics_for_simple_font ... ok [INFO] [stdout] test fonts::tests::fonts_to_unicode_present ... ok [INFO] [stdout] test fonts::tests::fonts_json_omits_absent_diagnostics ... ok [INFO] [stdout] test fonts::tests::fonts_text_output_shows_diagnostics ... ok [INFO] [stdout] test fonts::tests::fonts_widths_as_reference ... ok [INFO] [stdout] test fonts::tests::print_fonts_json_embedded_null_when_not_embedded ... ok [INFO] [stdout] test fonts::tests::print_fonts_text_output ... ok [INFO] [stdout] test fonts::tests::print_fonts_json_embedded_object_when_embedded ... ok [INFO] [stdout] test forms::tests::forms_deeply_nested_hierarchy ... ok [INFO] [stdout] test fonts::tests::print_fonts_json_produces_valid_json ... ok [INFO] [stdout] test forms::tests::forms_empty_fields ... ok [INFO] [stdout] test forms::tests::forms_field_missing_name ... ok [INFO] [stdout] test forms::tests::forms_field_missing_type ... ok [INFO] [stdout] test forms::tests::forms_inline_acroform ... ok [INFO] [stdout] test forms::tests::forms_field_missing_value ... ok [INFO] [stdout] test forms::tests::forms_json_no_acroform ... ok [INFO] [stdout] test forms::tests::forms_flags_preserved ... ok [INFO] [stdout] test forms::tests::forms_hierarchical_fields ... ok [INFO] [stdout] test forms::tests::forms_need_appearances_false ... ok [INFO] [stdout] test forms::tests::forms_json_structure ... ok [INFO] [stdout] test forms::tests::forms_no_acroform ... ok [INFO] [stdout] test forms::tests::forms_json_structure_complete ... ok [INFO] [stdout] test forms::tests::forms_page_mapping ... ok [INFO] [stdout] test annotations::tests::annotations_link_annotation ... ok [INFO] [stdout] test forms::tests::forms_shows_fields ... ok [INFO] [stdout] test helpers::tests::format_color_space_unknown_type_shows_dash ... ok [INFO] [stdout] test helpers::tests::format_color_space_array_with_unknown_item ... ok [INFO] [stdout] test helpers::tests::format_color_space_name ... ok [INFO] [stdout] test helpers::tests::format_color_space_reference_in_array ... ok [INFO] [stdout] test helpers::tests::format_dict_value_boolean ... ok [INFO] [stdout] test forms::tests::forms_value_types ... ok [INFO] [stdout] test helpers::tests::format_dict_value_dictionary ... ok [INFO] [stdout] test helpers::tests::format_dict_value_name ... ok [INFO] [stdout] test helpers::tests::format_dict_value_null ... ok [INFO] [stdout] test helpers::tests::format_dict_value_real ... ok [INFO] [stdout] test helpers::tests::format_dict_value_reference ... ok [INFO] [stdout] test helpers::tests::format_dict_value_nested_array ... ok [INFO] [stdout] test helpers::tests::format_dict_value_integer ... ok [INFO] [stdout] test helpers::tests::format_dict_value_stream ... ok [INFO] [stdout] test helpers::tests::format_dict_value_string ... ok [INFO] [stdout] test helpers::tests::format_filter_array_with_unknown_item ... ok [INFO] [stdout] test helpers::tests::format_filter_array ... ok [INFO] [stdout] test helpers::tests::format_filter_name ... ok [INFO] [stdout] test helpers::tests::format_filter_unknown_type_shows_dash ... ok [INFO] [stdout] test helpers::tests::format_operation_name_and_int ... ok [INFO] [stdout] test helpers::tests::format_operation_no_operands ... ok [INFO] [stdout] test helpers::tests::format_operation_reference ... ok [INFO] [stdout] test helpers::tests::format_operation_string_tj ... ok [INFO] [stdout] test helpers::tests::format_operation_tj_array ... ok [INFO] [stdout] test helpers::tests::object_type_label_dictionary_with_type ... ok [INFO] [stdout] test helpers::tests::object_type_label_integer ... ok [INFO] [stdout] test helpers::tests::object_type_label_dictionary_without_type ... ok [INFO] [stdout] test helpers::tests::object_type_label_null ... ok [INFO] [stdout] test helpers::tests::object_type_label_stream_without_type ... ok [INFO] [stdout] test helpers::tests::object_type_label_stream_with_type ... ok [INFO] [stdout] test helpers::tests::walk_name_tree_cycle_protection ... ok [INFO] [stdout] test helpers::tests::walk_name_tree_empty ... ok [INFO] [stdout] test helpers::tests::walk_name_tree_leaf_only ... ok [INFO] [stdout] test helpers::tests::walk_number_tree_empty ... ok [INFO] [stdout] test helpers::tests::walk_number_tree_leaf_only ... ok [INFO] [stdout] test helpers::tests::walk_number_tree_cycle_protection ... ok [INFO] [stdout] test images::tests::collect_images_colorspace_as_broken_reference ... ok [INFO] [stdout] test images::tests::collect_images_colorspace_as_reference_resolved ... ok [INFO] [stdout] test helpers::tests::walk_name_tree_with_kids ... ok [INFO] [stdout] test helpers::tests::walk_number_tree_with_kids ... ok [INFO] [stdout] test images::tests::collect_images_dctdecode_filter ... ok [INFO] [stdout] test images::tests::collect_images_filter_array ... ok [INFO] [stdout] test images::tests::collect_images_finds_image_stream ... ok [INFO] [stdout] test images::tests::collect_images_icc_color_space ... ok [INFO] [stdout] test images::tests::collect_images_missing_width_height_bpc_defaults_to_zero ... ok [INFO] [stdout] test images::tests::collect_images_multiple_images ... ok [INFO] [stdout] test images::tests::collect_images_no_colorspace_defaults_to_dash ... ok [INFO] [stdout] test images::tests::collect_images_no_images ... ok [INFO] [stdout] test images::tests::collect_images_no_filter_defaults_to_dash ... ok [INFO] [stdout] test images::tests::collect_images_sorted_by_object_id ... ok [INFO] [stdout] test images::tests::print_images_text_output ... ok [INFO] [stdout] test images::tests::print_images_json_all_fields_present ... ok [INFO] [stdout] test images::tests::print_images_json_produces_valid_json ... ok [INFO] [stdout] test inspect::tests::classify_font_by_subtype_only ... ok [INFO] [stdout] test inspect::tests::classify_font_cid_font_type0 ... ok [INFO] [stdout] test inspect::tests::classify_font_cid_font_type2 ... ok [INFO] [stdout] test inspect::tests::classify_font_encoding_as_reference ... ok [INFO] [stdout] test inspect::tests::classify_font_inline_font_descriptor ... ok [INFO] [stdout] test images::tests::collect_images_device_cmyk_color_space ... ok [INFO] [stdout] test inspect::tests::classify_font_not_embedded ... ok [INFO] [stdout] test inspect::tests::classify_font_unresolvable_font_descriptor ... ok [INFO] [stdout] test inspect::tests::classify_font_with_embedded_fontfile ... ok [INFO] [stdout] test inspect::tests::classify_font_with_embedded_fontfile2 ... ok [INFO] [stdout] test inspect::tests::classify_font_no_font_descriptor ... ok [INFO] [stdout] test images::tests::collect_images_dict_not_stream ... ok [INFO] [stdout] test inspect::tests::classify_font_with_firstchar_lastchar ... ok [INFO] [stdout] test inspect::tests::classify_font_with_tounicode ... ok [INFO] [stdout] test inspect::tests::classify_font_without_tounicode ... ok [INFO] [stdout] test inspect::tests::classify_image_without_colorspace ... ok [INFO] [stdout] test inspect::tests::classify_image_with_only_width ... ok [INFO] [stdout] test inspect::tests::classify_object_action ... ok [INFO] [stdout] test inspect::tests::classify_image_without_dimensions ... ok [INFO] [stdout] test inspect::tests::classify_object_array ... ok [INFO] [stdout] test inspect::tests::classify_object_annotation ... ok [INFO] [stdout] test inspect::tests::classify_object_catalog ... ok [INFO] [stdout] test inspect::tests::classify_object_boolean ... ok [INFO] [stdout] test inspect::tests::classify_object_embedded_font_program_cidfonttype0c ... ok [INFO] [stdout] test inspect::tests::classify_object_encoding ... ok [INFO] [stdout] test inspect::tests::classify_object_embedded_font_program_opentype ... ok [INFO] [stdout] test inspect::tests::classify_object_font ... ok [INFO] [stdout] test inspect::tests::classify_object_ext_gstate ... ok [INFO] [stdout] test inspect::tests::classify_object_form_xobject ... ok [INFO] [stdout] test inspect::tests::classify_object_generic_dict ... ok [INFO] [stdout] test inspect::tests::classify_object_font_descriptor ... ok [INFO] [stdout] test inspect::tests::classify_object_generic_stream ... ok [INFO] [stdout] test inspect::tests::classify_object_font_heuristic_widths_firstchar ... ok [INFO] [stdout] test inspect::tests::classify_object_integer ... ok [INFO] [stdout] test inspect::tests::classify_object_metadata_stream ... ok [INFO] [stdout] test inspect::tests::classify_object_image ... ok [INFO] [stdout] test inspect::tests::classify_object_mmtype1_font ... ok [INFO] [stdout] test inspect::tests::classify_object_name ... ok [INFO] [stdout] test inspect::tests::classify_object_null ... ok [INFO] [stdout] test inspect::tests::classify_object_obj_stream ... ok [INFO] [stdout] test inspect::tests::classify_object_real ... ok [INFO] [stdout] test inspect::tests::classify_object_page ... ok [INFO] [stdout] test inspect::tests::classify_font_no_basefont ... ok [INFO] [stdout] test inspect::tests::classify_object_pages_tree ... ok [INFO] [stdout] test inspect::tests::classify_object_string ... ok [INFO] [stdout] test inspect::tests::classify_object_reference ... ok [INFO] [stdout] test inspect::tests::classify_object_type3_font ... ok [INFO] [stdout] test inspect::tests::classify_object_xref_stream ... ok [INFO] [stdout] test inspect::tests::find_page_associations_finds_direct_ref ... ok [INFO] [stdout] test inspect::tests::find_page_associations_multiple_pages ... ok [INFO] [stdout] test inspect::tests::find_page_associations_no_association ... ok [INFO] [stdout] test inspect::tests::find_page_associations_via_resource_ref ... ok [INFO] [stdout] test inspect::tests::print_info_integer_object ... ok [INFO] [stdout] test inspect::tests::print_info_json_integer_object ... ok [INFO] [stdout] test inspect::tests::print_info_json_metadata_stream ... ok [INFO] [stdout] test inspect::tests::print_info_json_object_not_found ... ok [INFO] [stdout] test inspect::tests::print_info_json_valid ... ok [INFO] [stdout] test inspect::tests::print_info_json_multiple_page_associations ... ok [INFO] [stdout] test inspect::tests::print_info_json_with_page_associations ... ok [INFO] [stdout] test inspect::tests::print_info_object_not_found ... ok [INFO] [stdout] test inspect::tests::print_info_shows_reverse_refs ... ok [INFO] [stdout] test inspect::tests::print_info_page_associations_text ... ok [INFO] [stdout] test inspect::tests::print_info_shows_forward_refs ... ok [INFO] [stdout] test inspect::tests::print_info_shows_role_and_details ... ok [INFO] [stdout] test layers::tests::layers_empty_ocgs ... ok [INFO] [stdout] test layers::tests::layers_collects_ocgs ... ok [INFO] [stdout] test layers::tests::layers_default_state ... ok [INFO] [stdout] test layers::tests::layers_json_includes_generation_number ... ok [INFO] [stdout] test layers::tests::layers_no_d_config_defaults_base_state_on ... ok [INFO] [stdout] test layers::tests::layers_no_ocproperties ... ok [INFO] [stdout] test layers::tests::layers_non_reference_items_in_ocgs_array_skipped ... ok [INFO] [stdout] test layers::tests::layers_ocg_object_missing_from_doc_skipped ... ok [INFO] [stdout] test layers::tests::layers_ocgs_array_via_reference ... ok [INFO] [stdout] test layers::tests::layers_ocg_on_multiple_pages ... ok [INFO] [stdout] test layers::tests::layers_ocproperties_via_reference ... ok [INFO] [stdout] test layers::tests::layers_print_no_layers_shows_zero_count_no_header ... ok [INFO] [stdout] test layers::tests::layers_page_references ... ok [INFO] [stdout] test layers::tests::layers_resources_inherited_from_parent ... ok [INFO] [stdout] test layers::tests::layers_print_shows_multiple_page_numbers ... ok [INFO] [stdout] test layers::tests::layers_properties_entry_non_ocg_not_counted ... ok [INFO] [stdout] test layers::tests::layers_text_output ... ok [INFO] [stdout] test layers::tests::layers_unnamed_ocg ... ok [INFO] [stdout] test object::tests::collect_reachable_ids_from_trailer ... ok [INFO] [stdout] test object::tests::collect_reachable_ids_cycle_safe ... ok [INFO] [stdout] test object::tests::collect_reachable_ids_multi_hop ... ok [INFO] [stdout] test object::tests::collect_reachable_ids_via_array ... ok [INFO] [stdout] test object::tests::collect_reachable_ids_via_stream_dict ... ok [INFO] [stdout] test object::tests::deref_json_adds_resolved ... ok [INFO] [stdout] test object::tests::deref_false_no_expansion ... ok [INFO] [stdout] test object::tests::deref_stream_summary ... ok [INFO] [stdout] test object::tests::deref_json_no_recursive_deref ... ok [INFO] [stdout] test object::tests::deref_shows_reference_summary ... ok [INFO] [stdout] test object::tests::hex_mode_binary_stream ... ok [INFO] [stdout] test object::tests::hex_mode_json_shows_content_hex ... ok [INFO] [stdout] test object::tests::hex_mode_json_text_stream_uses_content_not_hex ... ok [INFO] [stdout] test layers::tests::layers_base_state_off_with_on_override ... ok [INFO] [stdout] test object::tests::hex_mode_text_stream_unaffected ... ok [INFO] [stdout] test object::tests::hex_mode_with_truncate ... ok [INFO] [stdout] test layers::tests::layers_json_output ... ok [INFO] [stdout] test object::tests::hex_mode_without_decode_no_hex ... ok [INFO] [stdout] test object::tests::hex_mode_json_with_truncate ... ok [INFO] [stdout] test object::tests::json_binary_stream_truncate_no_hex_shows_content_truncated ... ok [INFO] [stdout] test object::tests::json_binary_stream_no_hex_shows_content_binary ... ok [INFO] [stdout] test object::tests::object_to_json_array ... ok [INFO] [stdout] test object::tests::multi_object_json_wraps_in_array ... ok [INFO] [stdout] test object::tests::object_to_json_boolean ... ok [INFO] [stdout] test object::tests::multi_object_missing_reports_error_in_json ... ok [INFO] [stdout] test object::tests::object_to_json_dictionary ... ok [INFO] [stdout] test object::tests::object_to_json_integer ... ok [INFO] [stdout] test object::tests::object_to_json_name ... ok [INFO] [stdout] test object::tests::object_to_json_null ... ok [INFO] [stdout] test object::tests::object_to_json_real ... ok [INFO] [stdout] test object::tests::object_to_json_stream ... ok [INFO] [stdout] test object::tests::object_to_json_reference ... ok [INFO] [stdout] test object::tests::object_to_json_stream_no_decode ... ok [INFO] [stdout] test object::tests::object_to_json_stream_no_decode_warning ... ok [INFO] [stdout] test object::tests::object_to_json_stream_unsupported_filter_warning ... ok [INFO] [stdout] test object::tests::object_to_json_stream_with_decode ... ok [INFO] [stdout] test object::tests::object_to_json_stream_pipeline_partial_failure_warning ... ok [INFO] [stdout] test object::tests::object_to_json_stream_decode_warning ... ok [INFO] [stdout] test object::tests::object_to_json_stream_with_decode_binary ... ok [INFO] [stdout] test object::tests::print_content_data_ascii_no_truncation ... ok [INFO] [stdout] test object::tests::object_to_json_stream_with_decode_binary_truncated ... ok [INFO] [stdout] test object::tests::multi_object_plain_output ... ok [INFO] [stdout] test object::tests::object_to_json_string ... ok [INFO] [stdout] test object::tests::print_content_data_ascii_not_truncated_even_when_flag_set ... ok [INFO] [stdout] test object::tests::print_content_data_binary_101_bytes_with_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_binary_short_with_truncation_enabled ... ok [INFO] [stdout] test object::tests::print_content_data_binary_truncated ... ok [INFO] [stdout] test object::tests::print_content_data_description_propagated ... ok [INFO] [stdout] test object::tests::print_content_data_empty_content ... ok [INFO] [stdout] test object::tests::print_content_data_hex_without_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_hex_with_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_indent_str_used ... ok [INFO] [stdout] test object::tests::print_content_data_is_contents_invalid_stream_falls_back ... ok [INFO] [stdout] test object::tests::print_content_data_is_contents_indent_str_used ... ok [INFO] [stdout] test object::tests::print_content_data_is_contents_parses_operations ... ok [INFO] [stdout] test object::tests::print_content_data_truncate_custom_50 ... ok [INFO] [stdout] test object::tests::print_content_data_truncate_larger_than_stream ... ok [INFO] [stdout] test object::tests::print_content_data_truncate_zero ... ok [INFO] [stdout] test object::tests::print_content_data_truncate_none_no_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_truncate_one ... ok [INFO] [stdout] test object::tests::print_content_data_warning_with_hex_and_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_warning_with_hex_mode ... ok [INFO] [stdout] test object::tests::print_content_data_warning_with_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_without_warning ... ok [INFO] [stdout] test object::tests::print_content_data_with_warning ... ok [INFO] [stdout] test object::tests::print_object_array ... ok [INFO] [stdout] test object::tests::print_object_array_mixed_types ... ok [INFO] [stdout] test object::tests::print_object_array_with_references_collects_child_refs ... ok [INFO] [stdout] test object::tests::print_object_array_of_arrays ... ok [INFO] [stdout] test object::tests::print_object_boolean ... ok [INFO] [stdout] test object::tests::print_object_contents_key_propagates_is_contents ... ok [INFO] [stdout] test object::tests::print_object_contents_key_with_array_of_refs ... ok [INFO] [stdout] test object::tests::print_object_contents_key_with_non_reference_value ... ok [INFO] [stdout] test object::tests::print_object_dict_in_array ... ok [INFO] [stdout] test object::tests::print_object_empty_array ... ok [INFO] [stdout] test object::tests::print_object_dictionary ... ok [INFO] [stdout] test object::tests::print_object_empty_name ... ok [INFO] [stdout] test object::tests::print_object_empty_dictionary ... ok [INFO] [stdout] test object::tests::print_object_empty_string ... ok [INFO] [stdout] test object::tests::print_object_integer ... ok [INFO] [stdout] test object::tests::print_object_is_contents_propagated_to_array_ref ... ok [INFO] [stdout] test object::tests::print_object_integer_zero ... ok [INFO] [stdout] test object::tests::print_object_name_non_utf8 ... ok [INFO] [stdout] test object::tests::print_object_multiple_refs_in_dict ... ok [INFO] [stdout] test object::tests::print_object_name ... ok [INFO] [stdout] test object::tests::print_object_nested_dictionary ... ok [INFO] [stdout] test object::tests::print_object_negative_integer ... ok [INFO] [stdout] test object::tests::print_object_name_with_special_chars ... ok [INFO] [stdout] test object::tests::print_object_null ... ok [INFO] [stdout] test object::tests::print_object_real ... ok [INFO] [stdout] test object::tests::print_object_real_negative ... ok [INFO] [stdout] test object::tests::print_object_real_large ... ok [INFO] [stdout] test object::tests::print_object_reference_nonzero_generation ... ok [INFO] [stdout] test object::tests::print_object_reference_visited ... ok [INFO] [stdout] test object::tests::print_object_reference_populates_child_refs ... ok [INFO] [stdout] test object::tests::print_object_stream_dict_entries_printed ... ok [INFO] [stdout] test object::tests::print_object_stream_dict_with_reference_collects_child_ref ... ok [INFO] [stdout] test object::tests::print_object_stream_no_decode ... ok [INFO] [stdout] test object::tests::print_object_stream_with_decode ... ok [INFO] [stdout] test object::tests::print_object_string ... ok [INFO] [stdout] test object::tests::print_object_string_hex_format ... ok [INFO] [stdout] test object::tests::print_object_string_non_utf8 ... ok [INFO] [stdout] test object::tests::print_object_zero_real ... ok [INFO] [stdout] test object::tests::print_single_object_dict_does_not_follow_refs ... ok [INFO] [stdout] test object::tests::print_single_object_integer ... ok [INFO] [stdout] test object::tests::print_single_object_json_produces_valid_json ... ok [INFO] [stdout] test object::tests::print_single_object_stream_with_decode ... ok [INFO] [stdout] test object::tests::print_stream_content_corrupt_flatedecode_not_contents ... ok [INFO] [stdout] test object::tests::print_object_stream_with_flatedecode_and_decode_flag ... ok [INFO] [stdout] test object::tests::print_stream_content_corrupt_shows_warning ... ok [INFO] [stdout] test object::tests::print_stream_content_description_shows_decoded_for_flatedecode ... ok [INFO] [stdout] test object::tests::print_stream_content_description_shows_raw_for_no_filter ... ok [INFO] [stdout] test object::tests::print_stream_content_flatedecode ... ok [INFO] [stdout] test object::tests::print_stream_content_flatedecode_is_contents ... ok [INFO] [stdout] test object::tests::print_stream_content_is_contents_parses ... ok [INFO] [stdout] test object::tests::print_stream_content_no_filter ... ok [INFO] [stdout] test object::tests::print_stream_content_unsupported_filter_shows_warning ... ok [INFO] [stdout] test object::tests::print_stream_content_with_truncation ... ok [INFO] [stdout] test object::tests::print_content_data_binary_exactly_100_bytes_with_truncation ... ok [INFO] [stdout] test object::tests::raw_json_binary_hex ... ok [INFO] [stdout] test object::tests::raw_does_not_parse_content_stream ... ok [INFO] [stdout] test object::tests::print_stream_content_successful_decode_no_warning ... ok [INFO] [stdout] test object::tests::raw_json_binary_hex_truncate ... ok [INFO] [stdout] test object::tests::print_content_data_binary_no_truncation ... ok [INFO] [stdout] test object::tests::raw_json_binary_stream ... ok [INFO] [stdout] test object::tests::raw_json_text_stream ... ok [INFO] [stdout] test object::tests::raw_on_non_stream_is_noop ... ok [INFO] [stdout] test object::tests::raw_shows_compressed_bytes ... ok [INFO] [stdout] test object::tests::raw_text_stream_shows_content ... ok [INFO] [stdout] test object::tests::raw_with_hex ... ok [INFO] [stdout] test object::tests::raw_with_truncate ... ok [INFO] [stdout] test object::tests::single_object_json_backward_compat ... ok [INFO] [stdout] test operators::tests::operators_empty_page ... ok [INFO] [stdout] test operators::tests::operators_get_page_operations_direct ... ok [INFO] [stdout] test operators::tests::operators_get_page_operations_no_content ... ok [INFO] [stdout] test operators::tests::operators_json_has_operator_and_operands ... ok [INFO] [stdout] test operators::tests::operators_json_no_warnings_key_when_clean ... ok [INFO] [stdout] test operators::tests::operators_json_structure ... ok [INFO] [stdout] test operators::tests::operators_shows_operations ... ok [INFO] [stdout] test operators::tests::operators_multiple_pages ... ok [INFO] [stdout] test operators::tests::operators_json_page_filter ... ok [INFO] [stdout] test operators::tests::operators_page_filter_excludes ... ok [INFO] [stdout] test operators::tests::operators_syntax_error_in_stream ... ok [INFO] [stdout] test operators::tests::operators_with_page_filter ... ok [INFO] [stdout] test page_info::tests::garbled_text_at_exactly_50_percent_boundary ... ok [INFO] [stdout] test page_info::tests::garbled_text_cid_warning_empty_text ... ok [INFO] [stdout] test page_info::tests::garbled_text_detection_cid_warning ... ok [INFO] [stdout] test page_info::tests::garbled_text_encoding_warning ... ok [INFO] [stdout] test page_info::tests::garbled_text_detection_clean ... ok [INFO] [stdout] test page_info::tests::garbled_text_detection_empty ... ok [INFO] [stdout] test page_info::tests::garbled_text_detection_mostly_non_ascii ... ok [INFO] [stdout] test page_info::tests::garbled_text_tounicode_warning ... ok [INFO] [stdout] test page_info::tests::garbled_text_unicode_chars ... ok [INFO] [stdout] test page_info::tests::page_info_json_has_resources ... ok [INFO] [stdout] test page_info::tests::page_info_json_structure ... ok [INFO] [stdout] test page_info::tests::page_info_json_text_extractable_false ... ok [INFO] [stdout] test page_info::tests::page_info_json_value_invalid_page ... ok [INFO] [stdout] test page_info::tests::page_info_json_with_rotation ... ok [INFO] [stdout] test page_info::tests::page_info_multiple_annotation_subtypes ... ok [INFO] [stdout] test page_info::tests::page_info_no_content_streams ... ok [INFO] [stdout] test page_info::tests::page_info_multiple_content_streams ... ok [INFO] [stdout] test page_info::tests::page_info_range ... ok [INFO] [stdout] test page_info::tests::page_info_shows_content_streams ... ok [INFO] [stdout] test page_info::tests::page_info_shows_font_detail ... ok [INFO] [stdout] test page_info::tests::page_info_shows_fonts ... ok [INFO] [stdout] test page_info::tests::page_info_shows_media_box ... ok [INFO] [stdout] test page_info::tests::page_info_text_preview ... ok [INFO] [stdout] test page_info::tests::page_info_text_stream_pluralization ... ok [INFO] [stdout] test page_info::tests::page_info_with_annotations ... ok [INFO] [stdout] test page_info::tests::page_info_with_ext_gstate ... ok [INFO] [stdout] test page_labels::tests::format_page_label_decimal ... ok [INFO] [stdout] test page_info::tests::page_info_with_crop_box ... ok [INFO] [stdout] test page_info::tests::page_info_with_rotation ... ok [INFO] [stdout] test page_info::tests::page_info_with_xobjects ... ok [INFO] [stdout] test page_labels::tests::format_page_label_alpha ... ok [INFO] [stdout] test page_labels::tests::int_to_roman_basic ... ok [INFO] [stdout] test page_labels::tests::format_page_label_prefix_only ... ok [INFO] [stdout] test page_labels::tests::format_page_label_roman ... ok [INFO] [stdout] test page_labels::tests::int_to_alpha_basic ... ok [INFO] [stdout] test page_labels::tests::page_labels_json ... ok [INFO] [stdout] test page_labels::tests::page_labels_no_labels ... ok [INFO] [stdout] test page_labels::tests::page_labels_print_no_labels ... ok [INFO] [stdout] test page_labels::tests::page_labels_roman_then_decimal ... ok [INFO] [stdout] test page_labels::tests::page_labels_with_prefix ... ok [INFO] [stdout] test refs::tests::collect_refs_deeply_nested ... ok [INFO] [stdout] test refs::tests::collect_refs_direct_reference ... ok [INFO] [stdout] test refs::tests::collect_refs_in_array ... ok [INFO] [stdout] test refs::tests::collect_refs_in_dict ... ok [INFO] [stdout] test refs::tests::collect_refs_in_stream_dict ... ok [INFO] [stdout] test refs::tests::collect_refs_mixed_containers_dict_array_ref ... ok [INFO] [stdout] test refs::tests::collect_refs_primitive_types_return_empty ... ok [INFO] [stdout] test refs::tests::collect_refs_multiple_paths_same_object ... ok [INFO] [stdout] test refs::tests::collect_refs_nested_dict ... ok [INFO] [stdout] test refs::tests::collect_refs_no_match ... ok [INFO] [stdout] test refs::tests::collect_refs_non_matching_reference_ignored ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_array_in_dict ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_from_bare_array ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_from_dict ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_from_stream ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_no_refs ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_scalar_object ... ok [INFO] [stdout] test resources::tests::collect_resources_color_space_broken_reference ... ok [INFO] [stdout] test resources::tests::collect_resources_inline_font ... ok [INFO] [stdout] test resources::tests::collect_resources_no_resources ... ok [INFO] [stdout] test resources::tests::collect_resources_sorts_by_name ... ok [INFO] [stdout] test resources::tests::collect_resources_with_color_spaces_array ... ok [INFO] [stdout] test resources::tests::collect_resources_with_color_spaces_name ... ok [INFO] [stdout] test resources::tests::collect_resources_with_color_spaces_reference ... ok [INFO] [stdout] test resources::tests::collect_resources_with_ext_gstate ... ok [INFO] [stdout] test resources::tests::collect_resources_with_fonts ... ok [INFO] [stdout] test resources::tests::collect_resources_with_xobjects ... ok [INFO] [stdout] test refs::tests::collect_refs_with_paths_nested_array_in_array ... ok [INFO] [stdout] test resources::tests::entries_to_json_empty ... ok [INFO] [stdout] test resources::tests::entries_to_json_with_object_id ... ok [INFO] [stdout] test resources::tests::entries_to_json_without_object_id ... ok [INFO] [stdout] test resources::tests::font_detail_empty_dict ... ok [INFO] [stdout] test resources::tests::font_detail_from_stream_object ... ok [INFO] [stdout] test resources::tests::font_detail_full_info ... ok [INFO] [stdout] test resources::tests::font_detail_missing_basefont ... ok [INFO] [stdout] test resources::tests::font_detail_nonexistent_object ... ok [INFO] [stdout] test resources::tests::resolve_resources_cycle_detection ... ok [INFO] [stdout] test resources::tests::resolve_resources_direct_on_page ... ok [INFO] [stdout] test resources::tests::resolve_resources_inherited_from_parent ... ok [INFO] [stdout] test resources::tests::resolve_resources_missing_entirely ... ok [INFO] [stdout] test resources::tests::resolve_resources_nonexistent_page ... ok [INFO] [stdout] test resources::tests::resolve_resources_via_reference ... ok [INFO] [stdout] test resources::tests::xobject_detail_form ... ok [INFO] [stdout] test resources::tests::xobject_detail_image ... ok [INFO] [stdout] test resources::tests::xobject_detail_image_missing_dimensions ... ok [INFO] [stdout] test resources::tests::xobject_detail_missing_subtype ... ok [INFO] [stdout] test resources::tests::xobject_detail_non_stream_object ... ok [INFO] [stdout] test resources::tests::xobject_detail_nonexistent ... ok [INFO] [stdout] test search::tests::object_matches_and_logic ... ok [INFO] [stdout] test search::tests::object_matches_and_logic_partial_fail ... ok [INFO] [stdout] test search::tests::object_matches_has_key ... ok [INFO] [stdout] test search::tests::object_matches_has_key_missing ... ok [INFO] [stdout] test search::tests::object_matches_key_equals_non_matching_type ... ok [INFO] [stdout] test search::tests::object_matches_key_equals_string_value ... ok [INFO] [stdout] test search::tests::object_matches_key_value ... ok [INFO] [stdout] test search::tests::object_matches_key_value_case_insensitive ... ok [INFO] [stdout] test search::tests::object_matches_non_dict_returns_false ... ok [INFO] [stdout] test search::tests::object_matches_regex_combined_with_other ... ok [INFO] [stdout] test search::tests::object_matches_regex_key_name ... ok [INFO] [stdout] test search::tests::object_matches_regex_name_value ... ok [INFO] [stdout] test search::tests::object_matches_regex_no_match ... ok [INFO] [stdout] test search::tests::object_matches_regex_case_flag ... ok [INFO] [stdout] test search::tests::object_matches_regex_stream_content ... ok [INFO] [stdout] test search::tests::object_matches_value_contains_no_match ... ok [INFO] [stdout] test search::tests::object_matches_stream ... ok [INFO] [stdout] test search::tests::object_matches_value_contains ... ok [INFO] [stdout] test search::tests::object_matches_value_contains_string_object ... ok [INFO] [stdout] test search::tests::parse_search_expr_empty_parts_skipped ... ok [INFO] [stdout] test search::tests::parse_search_expr_empty_value_fails ... ok [INFO] [stdout] test search::tests::parse_search_expr_has_key ... ok [INFO] [stdout] test search::tests::parse_search_expr_key_case_insensitive ... ok [INFO] [stdout] test search::tests::parse_search_expr_key_value ... ok [INFO] [stdout] test search::tests::parse_search_expr_multiple ... ok [INFO] [stdout] test search::tests::parse_search_expr_multiple_with_whitespace ... ok [INFO] [stdout] test search::tests::parse_search_expr_no_equals_fails ... ok [INFO] [stdout] test search::tests::parse_search_expr_only_commas_fails ... ok [INFO] [stdout] test search::tests::parse_search_expr_regex_case_insensitive ... ok [INFO] [stdout] test search::tests::parse_search_expr_regex_invalid ... ok [INFO] [stdout] test search::tests::parse_search_expr_value_case_insensitive ... ok [INFO] [stdout] test search::tests::parse_search_expr_value_contains ... ok [INFO] [stdout] test search::tests::object_matches_regex_string_value ... ok [INFO] [stdout] test search::tests::parse_search_expr_whitespace_trimmed ... ok [INFO] [stdout] test search::tests::parse_search_expr_regex ... ok [INFO] [stdout] test search::tests::parse_search_stream_condition ... ok [INFO] [stdout] test search::tests::search_objects_finds_match ... ok [INFO] [stdout] test search::tests::search_objects_json_no_matches ... ok [INFO] [stdout] test search::tests::search_objects_json_produces_valid_json ... ok [INFO] [stdout] test search::tests::search_objects_no_match ... ok [INFO] [stdout] test search::tests::search_objects_summary_mode ... ok [INFO] [stdout] test search::tests::search_stream_and_key_combined ... ok [INFO] [stdout] test search::tests::search_stream_contains_case_insensitive ... ok [INFO] [stdout] test search::tests::search_stream_contains_matches ... ok [INFO] [stdout] test search::tests::search_stream_no_match ... ok [INFO] [stdout] test search::tests::search_stream_on_dict_returns_false ... ok [INFO] [stdout] test security::tests::algorithm_name_unknown_version ... ok [INFO] [stdout] test security::tests::algorithm_name_v0_undocumented ... ok [INFO] [stdout] test security::tests::algorithm_name_v2_custom_length ... ok [INFO] [stdout] test security::tests::algorithm_name_v2_default_length ... ok [INFO] [stdout] test security::tests::algorithm_name_v3_unpublished ... ok [INFO] [stdout] test security::tests::collect_security_v2_custom_length ... ok [INFO] [stdout] test security::tests::decode_permissions_all_denied ... ok [INFO] [stdout] test security::tests::encrypt_dict_inline_in_trailer ... ok [INFO] [stdout] test security::tests::encrypt_dict_via_xref_stream_fallback ... ok [INFO] [stdout] test security::tests::extract_int_after_key_basic ... ok [INFO] [stdout] test security::tests::extract_int_after_key_missing ... ok [INFO] [stdout] test security::tests::extract_int_after_key_negative ... ok [INFO] [stdout] test security::tests::extract_int_after_key_newline_whitespace ... ok [INFO] [stdout] test security::tests::extract_int_after_key_positive_sign ... ok [INFO] [stdout] test security::tests::extract_int_after_key_sign_only_no_digits ... ok [INFO] [stdout] test security::tests::extract_int_after_key_with_spaces ... ok [INFO] [stdout] test security::tests::parse_encrypt_from_raw_file_nonexistent_path ... ok [INFO] [stdout] test security::tests::print_security_shows_encrypt_object_number ... ok [INFO] [stdout] test security::tests::security_encrypted_v1 ... ok [INFO] [stdout] test security::tests::security_encrypted_v4 ... ok [INFO] [stdout] test security::tests::security_encrypted_v5 ... ok [INFO] [stdout] test security::tests::security_json_output ... ok [INFO] [stdout] test security::tests::security_json_value_unencrypted ... ok [INFO] [stdout] test security::tests::security_permissions_all_allowed ... ok [INFO] [stdout] test security::tests::security_permissions_decode ... ok [INFO] [stdout] test security::tests::security_print_encrypted ... ok [INFO] [stdout] test security::tests::parse_encrypt_from_raw_file_not_found ... ok [INFO] [stdout] test security::tests::security_unencrypted ... ok [INFO] [stdout] test security::tests::parse_encrypt_from_raw_file_with_tempfile ... ok [INFO] [stdout] test stream::tests::decode_ascii85_empty_input ... ok [INFO] [stdout] test stream::tests::decode_ascii85_basic ... ok [INFO] [stdout] test stream::tests::decode_ascii85_empty_with_prefix ... ok [INFO] [stdout] test stream::tests::decode_ascii85_four_char_group ... ok [INFO] [stdout] test stream::tests::decode_ascii85_invalid_char ... ok [INFO] [stdout] test stream::tests::decode_ascii85_multiple_z ... ok [INFO] [stdout] test stream::tests::decode_ascii85_no_eod_marker ... ok [INFO] [stdout] test stream::tests::decode_ascii85_partial_group ... ok [INFO] [stdout] test stream::tests::decode_ascii85_stream ... ok [INFO] [stdout] test stream::tests::decode_ascii85_three_char_group ... ok [INFO] [stdout] test stream::tests::decode_ascii85_with_prefix ... ok [INFO] [stdout] test stream::tests::decode_ascii85_with_whitespace ... ok [INFO] [stdout] test stream::tests::decode_ascii85_z_shortcut ... ok [INFO] [stdout] test stream::tests::decode_asciihex_basic ... ok [INFO] [stdout] test stream::tests::decode_asciihex_empty_input ... ok [INFO] [stdout] test stream::tests::decode_asciihex_empty_no_marker ... ok [INFO] [stdout] test stream::tests::decode_asciihex_invalid_char ... ok [INFO] [stdout] test stream::tests::decode_asciihex_mixed_case ... ok [INFO] [stdout] test stream::tests::decode_asciihex_no_eod_marker ... ok [INFO] [stdout] test stream::tests::decode_asciihex_odd_digits ... ok [INFO] [stdout] test stream::tests::decode_asciihex_single_byte ... ok [INFO] [stdout] test stream::tests::decode_asciihex_stream ... ok [INFO] [stdout] test stream::tests::decode_asciihex_uppercase ... ok [INFO] [stdout] test stream::tests::decode_asciihex_with_whitespace ... ok [INFO] [stdout] test stream::tests::decode_lzw_corrupt_data_returns_error ... ok [INFO] [stdout] test stream::tests::decode_lzw_single_byte_input ... ok [INFO] [stdout] test stream::tests::decode_lzw_repeated_data ... ok [INFO] [stdout] test stream::tests::decode_lzw_stream_unsupported_returns_error_or_data ... ok [INFO] [stdout] test stream::tests::decode_lzw_stream_via_decode_stream ... ok [INFO] [stdout] test stream::tests::decode_run_length_empty_input ... ok [INFO] [stdout] test stream::tests::decode_run_length_eod_marker ... ok [INFO] [stdout] test stream::tests::decode_run_length_literal_run ... ok [INFO] [stdout] test stream::tests::decode_run_length_mixed ... ok [INFO] [stdout] test stream::tests::decode_run_length_repeat_run ... ok [INFO] [stdout] test stream::tests::decode_run_length_stream_via_decode_stream ... ok [INFO] [stdout] test stream::tests::decode_run_length_truncated_literal ... ok [INFO] [stdout] test stream::tests::decode_run_length_truncated_repeat ... ok [INFO] [stdout] test stream::tests::decode_stream_array_with_unsupported_filter ... ok [INFO] [stdout] test stream::tests::decode_stream_ccittfaxdecode_unsupported ... ok [INFO] [stdout] test stream::tests::decode_stream_empty_content_no_filter ... ok [INFO] [stdout] test stream::tests::decode_stream_corrupt_flatedecode ... ok [INFO] [stdout] test stream::tests::decode_stream_empty_filter_array ... ok [INFO] [stdout] test stream::tests::decode_stream_filter_array_all_non_name ... ok [INFO] [stdout] test stream::tests::decode_stream_filter_array_with_non_name_elements ... ok [INFO] [stdout] test stream::tests::decode_stream_filter_is_integer_ignored ... ok [INFO] [stdout] test stream::tests::decode_stream_flatedecode_empty_payload ... ok [INFO] [stdout] test embedded::tests::embedded_files_none ... ok [INFO] [stdout] test helpers::tests::format_color_space_array ... ok [INFO] [stdout] test stream::tests::decode_stream_jpxdecode_unsupported ... ok [INFO] [stdout] test helpers::tests::format_dict_value_array ... ok [INFO] [stdout] test stream::tests::decode_stream_large_content ... ok [INFO] [stdout] test stream::tests::decode_stream_flatedecode_name ... ok [INFO] [stdout] test stream::tests::decode_stream_no_filter_no_warning ... ok [INFO] [stdout] test stream::tests::decode_stream_no_filter ... ok [INFO] [stdout] test stream::tests::decode_stream_flatedecode_in_array ... ok [INFO] [stdout] test search::tests::object_matches_value_contains_non_string_values_skipped ... ok [INFO] [stdout] test stream::tests::decode_stream_multiple_filters_pipeline ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_corrupt_at_second_stage ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_stops_on_unsupported ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_ascii85_then_lzw ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_lzw_then_asciihex ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_stops_on_failure ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_asciihex_then_flatedecode ... ok [INFO] [stdout] test stream::tests::decode_stream_pipeline_unsupported_in_middle ... ok [INFO] [stdout] test stream::tests::decode_stream_valid_flatedecode_no_warning ... ok [INFO] [stdout] test stream::tests::decode_uses_format_operation_not_debug ... ok [INFO] [stdout] test stream::tests::flatedecode_size_limit_returns_error ... ok [INFO] [stdout] test stream::tests::format_hex_dump_all_non_printable ... ok [INFO] [stdout] test stream::tests::format_hex_dump_17_bytes_two_lines ... ok [INFO] [stdout] test stream::tests::format_hex_dump_exactly_32_bytes_two_full_lines ... ok [INFO] [stdout] test stream::tests::format_hex_dump_exactly_8_bytes ... ok [INFO] [stdout] test stream::tests::format_hex_dump_exactly_9_bytes ... ok [INFO] [stdout] test stream::tests::format_hex_dump_full_line ... ok [INFO] [stdout] test stream::tests::decode_stream_triple_pipeline_asciihex_flate_ascii85 ... ok [INFO] [stdout] test stream::tests::decode_stream_unknown_filter ... ok [INFO] [stdout] test stream::tests::format_hex_dump_ascii_repr ... ok [INFO] [stdout] test stream::tests::format_hex_dump_empty ... ok [INFO] [stdout] test stream::tests::format_hex_dump_large_offset ... ok [INFO] [stdout] test stream::tests::format_hex_dump_high_bytes_show_as_dots ... ok [INFO] [stdout] test stream::tests::format_hex_dump_mixed_printable_and_non ... ok [INFO] [stdout] test stream::tests::format_hex_dump_partial_line ... ok [INFO] [stdout] test stream::tests::get_filter_names_array_of_names ... ok [INFO] [stdout] test stream::tests::format_hex_dump_space_is_printable ... ok [INFO] [stdout] test stream::tests::get_filter_names_mixed_array ... ok [INFO] [stdout] test stream::tests::format_hex_dump_multi_line ... ok [INFO] [stdout] test stream::tests::get_filter_names_single_name ... ok [INFO] [stdout] test stream::tests::get_filter_names_no_filter_key ... ok [INFO] [stdout] test stream::tests::get_filter_names_non_name_filter ... ok [INFO] [stdout] test stream::tests::is_binary_stream_del_char ... ok [INFO] [stdout] test stream::tests::is_binary_stream_control_chars ... ok [INFO] [stdout] test stream::tests::is_binary_stream_all_allowed_types_combined ... ok [INFO] [stdout] test stream::tests::is_binary_stream_escape_char ... ok [INFO] [stdout] test stream::tests::is_binary_stream_ascii_with_whitespace_and_punctuation ... ok [INFO] [stdout] test stream::tests::is_binary_stream_empty ... ok [INFO] [stdout] test stream::tests::is_binary_stream_mixed ... ok [INFO] [stdout] test stream::tests::is_binary_stream_high_bit ... ok [INFO] [stdout] test stream::tests::is_binary_stream_single_null_among_ascii ... ok [INFO] [stdout] test stream::tests::is_binary_stream_tab_only ... ok [INFO] [stdout] test stream::tests::is_binary_stream_punctuation_only ... ok [INFO] [stdout] test stream::tests::is_binary_stream_unit_separator ... ok [INFO] [stdout] test stream::tests::is_binary_stream_tilde_is_punctuation ... ok [INFO] [stdout] test stream::tests::is_binary_stream_pure_ascii ... ok [INFO] [stdout] test stream::tests::lzw_size_limit_returns_error ... ok [INFO] [stdout] test structure::tests::count_struct_elems_empty ... ok [INFO] [stdout] test stream::tests::is_binary_stream_whitespace_only ... ok [INFO] [stdout] test structure::tests::structure_alt_text ... ok [INFO] [stdout] test structure::tests::count_struct_elems_nested ... ok [INFO] [stdout] test structure::tests::structure_collects_tree ... ok [INFO] [stdout] test stream::tests::lzw_normal_size_succeeds ... ok [INFO] [stdout] test structure::tests::structure_empty_tree ... ok [INFO] [stdout] test structure::tests::structure_cycle_detection ... ok [INFO] [stdout] test structure::tests::structure_depth_limit_0 ... ok [INFO] [stdout] test structure::tests::structure_depth_limit_1 ... ok [INFO] [stdout] test structure::tests::structure_deep_nesting_three_levels ... ok [INFO] [stdout] test structure::tests::structure_k_as_array ... ok [INFO] [stdout] test structure::tests::structure_inline_struct_element ... ok [INFO] [stdout] test structure::tests::structure_json_with_depth_limit ... ok [INFO] [stdout] test structure::tests::structure_json_with_title_and_alt ... ok [INFO] [stdout] test structure::tests::structure_json_output ... ok [INFO] [stdout] test structure::tests::structure_mcid_in_dict_form ... ok [INFO] [stdout] test structure::tests::structure_mark_info_false ... ok [INFO] [stdout] test structure::tests::structure_no_k_key ... ok [INFO] [stdout] test structure::tests::structure_multiple_children_at_same_level ... ok [INFO] [stdout] test structure::tests::structure_mcid_in_array_with_dict_form ... ok [INFO] [stdout] test structure::tests::structure_no_struct_tree_root ... ok [INFO] [stdout] test structure::tests::structure_role_as_non_name_type ... ok [INFO] [stdout] test structure::tests::structure_object_id_in_text_output ... ok [INFO] [stdout] test structure::tests::structure_page_refs ... ok [INFO] [stdout] test structure::tests::structure_print_empty_tree_with_mark_info_true ... ok [INFO] [stdout] test structure::tests::structure_text_output ... ok [INFO] [stdout] test summary::tests::metadata_info_catalog_page_layout_name ... ok [INFO] [stdout] test summary::tests::metadata_info_empty_doc ... ok [INFO] [stdout] test summary::tests::metadata_info_with_info_and_catalog ... ok [INFO] [stdout] test summary::tests::overview_json_shows_encrypted_via_encryption_state ... ok [INFO] [stdout] test summary::tests::overview_shows_encrypted_via_encryption_state ... ok [INFO] [stdout] test summary::tests::overview_shows_not_encrypted_when_no_encrypt ... ok [INFO] [stdout] test summary::tests::overview_shows_object_type_breakdown ... ok [INFO] [stdout] test summary::tests::overview_json_includes_object_types_and_stream_stats ... ok [INFO] [stdout] test summary::tests::print_list_json_produces_valid_json ... ok [INFO] [stdout] test summary::tests::overview_shows_stream_filters ... ok [INFO] [stdout] test summary::tests::overview_skips_decoded_bytes_by_default ... ok [INFO] [stdout] test summary::tests::print_list_dict_shows_type_label ... ok [INFO] [stdout] test summary::tests::print_list_json_includes_detail ... ok [INFO] [stdout] test summary::tests::print_list_multiple_objects_sorted ... ok [INFO] [stdout] test summary::tests::print_list_shows_version_and_count ... ok [INFO] [stdout] test summary::tests::print_list_stream_shows_bytes_and_filter ... ok [INFO] [stdout] test summary::tests::summary_detail_boolean ... ok [INFO] [stdout] test summary::tests::summary_detail_dict_notable_non_name_non_array ... ok [INFO] [stdout] test summary::tests::summary_detail_dict_with_basefont ... ok [INFO] [stdout] test summary::tests::summary_detail_dict_with_mediabox ... ok [INFO] [stdout] test summary::tests::summary_detail_dict_with_subtype ... ok [INFO] [stdout] test summary::tests::summary_detail_integer ... ok [INFO] [stdout] test summary::tests::summary_detail_mediabox_with_mixed_types ... ok [INFO] [stdout] test summary::tests::summary_detail_mediabox_with_reals ... ok [INFO] [stdout] test summary::tests::summary_detail_null ... ok [INFO] [stdout] test summary::tests::summary_detail_stream ... ok [INFO] [stdout] test summary::tests::summary_detail_stream_no_filter ... ok [INFO] [stdout] test search::tests::parse_search_expr_empty_fails ... ok [INFO] [stdout] test summary::tests::summary_detail_stream_with_filter ... ok [INFO] [stdout] test text::tests::extract_text_contents_ref_to_non_stream ... ok [INFO] [stdout] test text::tests::extract_text_contents_array_of_refs ... ok [INFO] [stdout] test security::tests::security_print_unencrypted ... ok [INFO] [stdout] test text::tests::extract_text_double_quote_operator ... ok [INFO] [stdout] test text::tests::extract_text_empty_stream ... ok [INFO] [stdout] test text::tests::extract_text_multiple_bt_blocks ... ok [INFO] [stdout] test text::tests::extract_text_no_contents ... ok [INFO] [stdout] test text::tests::extract_text_non_dictionary_page ... ok [INFO] [stdout] test text::tests::extract_text_td_newline ... ok [INFO] [stdout] test text::tests::extract_text_td_positive_real_ty_no_newline ... ok [INFO] [stdout] test text::tests::extract_text_td_positive_ty_no_newline ... ok [INFO] [stdout] test text::tests::extract_text_td_real_operand ... ok [INFO] [stdout] test summary::tests::summary_detail_dict_keys_only ... ok [INFO] [stdout] test text::tests::extract_text_td_uppercase ... ok [INFO] [stdout] test text::tests::extract_text_td_zero_ty_no_newline ... ok [INFO] [stdout] test text::tests::extract_text_tj_array ... ok [INFO] [stdout] test text::tests::extract_text_tj ... ok [INFO] [stdout] test text::tests::print_text_all_pages ... ok [INFO] [stdout] test text::tests::extract_text_tj_array_spacing ... ok [INFO] [stdout] test text::tests::extract_text_tj_small_negative_no_space ... ok [INFO] [stdout] test text::tests::extract_text_quote_operator ... ok [INFO] [stdout] test tree::tests::dot_basic_output ... ok [INFO] [stdout] test text::tests::extract_text_flatedecode_content_stream ... ok [INFO] [stdout] test tree::tests::dot_depth_limiting ... ok [INFO] [stdout] test tree::tests::dot_empty_tree ... ok [INFO] [stdout] test text::tests::print_text_json_produces_valid_json ... ok [INFO] [stdout] test text::tests::print_text_json_with_page_filter ... ok [INFO] [stdout] test text::tests::text_with_page_range ... ok [INFO] [stdout] test tree::tests::dot_revisited_nodes ... ok [INFO] [stdout] test stream::tests::flatedecode_normal_size_succeeds ... ok [INFO] [stdout] test text::tests::extract_text_tstar ... ok [INFO] [stdout] test tree::tests::escape_dot_quotes_and_backslash ... ok [INFO] [stdout] test tree::tests::tree_depth_zero_shows_only_trailer_refs ... ok [INFO] [stdout] test tree::tests::tree_depth_limit_respected ... ok [INFO] [stdout] test tree::tests::tree_json_depth_limit ... ok [INFO] [stdout] test tree::tests::tree_node_label_array ... ok [INFO] [stdout] test tree::tests::tree_json_missing_object_shows_status ... ok [INFO] [stdout] test tree::tests::tree_json_output_valid ... ok [INFO] [stdout] test tree::tests::tree_missing_object_shows_missing ... ok [INFO] [stdout] test tree::tests::tree_node_label_annot ... ok [INFO] [stdout] test tree::tests::tree_json_visited_status ... ok [INFO] [stdout] test tree::tests::tree_node_label_boolean_false ... ok [INFO] [stdout] test tree::tests::tree_node_label_boolean_true ... ok [INFO] [stdout] test tree::tests::tree_node_label_catalog ... ok [INFO] [stdout] test tree::tests::tree_node_label_custom_type ... ok [INFO] [stdout] test tree::tests::tree_node_label_integer ... ok [INFO] [stdout] test tree::tests::tree_node_label_dict_no_type ... ok [INFO] [stdout] test tree::tests::tree_node_label_empty_array ... ok [INFO] [stdout] test tree::tests::tree_node_label_empty_dict ... ok [INFO] [stdout] test tree::tests::tree_node_label_encoding ... ok [INFO] [stdout] test tree::tests::tree_node_label_font ... ok [INFO] [stdout] test tree::tests::tree_node_label_name ... ok [INFO] [stdout] test tree::tests::tree_node_label_page ... ok [INFO] [stdout] test tree::tests::tree_node_label_negative_integer ... ok [INFO] [stdout] test tree::tests::tree_node_label_pages ... ok [INFO] [stdout] test tree::tests::tree_node_label_null ... ok [INFO] [stdout] test tree::tests::tree_node_label_real ... ok [INFO] [stdout] test tree::tests::tree_node_label_reference ... ok [INFO] [stdout] test tree::tests::tree_node_label_stream ... ok [INFO] [stdout] test tree::tests::tree_node_label_stream_with_type ... ok [INFO] [stdout] test tree::tests::tree_node_label_string ... ok [INFO] [stdout] test tree::tests::tree_node_label_xobject ... ok [INFO] [stdout] test tree::tests::tree_visited_nodes_show_visited ... ok [INFO] [stdout] test types::tests::args_find_text_is_doc_mode ... ok [INFO] [stdout] test types::tests::args_json_modifier_alone_is_default ... ok [INFO] [stdout] test types::tests::detail_sub_ordering ... ok [INFO] [stdout] test types::tests::detail_sub_sorting ... ok [INFO] [stdout] test types::tests::doc_mode_ordering ... ok [INFO] [stdout] test types::tests::detail_sub_equality ... ok [INFO] [stdout] test types::tests::doc_mode_detail_sub_ordering_within_detail ... ok [INFO] [stdout] test types::tests::doc_mode_json_key_all_variants ... ok [INFO] [stdout] test types::tests::args_page_modifier_alone_is_default ... ok [INFO] [stdout] test types::tests::doc_mode_label_all_variants ... ok [INFO] [stdout] test types::tests::doc_mode_sorting ... ok [INFO] [stdout] test types::tests::dump_config_construction ... ok [INFO] [stdout] test types::tests::page_spec_contains ... ok [INFO] [stdout] test types::tests::page_spec_contains_boundary ... ok [INFO] [stdout] test types::tests::page_spec_pages ... ok [INFO] [stdout] test types::tests::page_spec_parse_double_dash ... ok [INFO] [stdout] test types::tests::page_spec_parse_invalid ... ok [INFO] [stdout] test types::tests::dump_config_defaults_style ... ok [INFO] [stdout] test types::tests::dump_config_is_copy ... ok [INFO] [stdout] test types::tests::page_spec_parse_range ... ok [INFO] [stdout] test types::tests::page_spec_error_messages ... ok [INFO] [stdout] test types::tests::page_spec_parse_negative_like_string ... ok [INFO] [stdout] test types::tests::page_spec_parse_whitespace ... ok [INFO] [stdout] test types::tests::page_spec_range_pages_large ... ok [INFO] [stdout] test types::tests::page_spec_parse_same_start_end_range ... ok [INFO] [stdout] test types::tests::page_spec_single_contains_only_self ... ok [INFO] [stdout] test types::tests::page_spec_parse_single ... ok [INFO] [stdout] test types::tests::page_spec_parse_single_page_boundary ... ok [INFO] [stdout] test types::tests::page_spec_single_pages_returns_one_element ... ok [INFO] [stdout] test types::tests::parse_object_spec_large_numbers ... ok [INFO] [stdout] test types::tests::parse_object_spec_large_range ... ok [INFO] [stdout] test types::tests::parse_object_spec_deduplicates ... ok [INFO] [stdout] test types::tests::parse_object_spec_mixed ... ok [INFO] [stdout] test types::tests::parse_object_spec_invalid ... ok [INFO] [stdout] test types::tests::parse_object_spec_multiple ... ok [INFO] [stdout] test types::tests::parse_object_spec_leading_comma ... ok [INFO] [stdout] test types::tests::parse_object_spec_only_commas ... ok [INFO] [stdout] test types::tests::parse_object_spec_range ... ok [INFO] [stdout] test types::tests::parse_object_spec_single ... ok [INFO] [stdout] test types::tests::parse_object_spec_single_element_range ... ok [INFO] [stdout] test types::tests::parse_object_spec_sorts ... ok [INFO] [stdout] test types::tests::parse_object_spec_trailing_comma ... ok [INFO] [stdout] test types::tests::parse_object_spec_non_numeric_in_range ... ok [INFO] [stdout] test types::tests::parse_object_spec_zero ... ok [INFO] [stdout] test types::tests::parse_object_spec_whitespace ... ok [INFO] [stdout] test types::tests::parse_object_spec_overlap_deduped ... ok [INFO] [stdout] test types::tests::parse_object_spec_reversed_range_error ... ok [INFO] [stdout] test types::tests::resolve_mode_list_without_search_is_doc_mode ... ok [INFO] [stdout] test types::tests::resolve_mode_multiple_doc_modes ... ok [INFO] [stdout] test types::tests::resolve_mode_all_doc_modes_at_once ... ok [INFO] [stdout] test types::tests::resolve_mode_no_flags_returns_default ... ok [INFO] [stdout] test types::tests::resolve_mode_multiple_details ... ok [INFO] [stdout] test types::tests::resolve_mode_detail_mixed_with_doc_modes ... ok [INFO] [stdout] test types::tests::resolve_mode_multiple_standalone_error ... ok [INFO] [stdout] test tree::tests::tree_basic_output ... ok [INFO] [stdout] test types::tests::resolve_mode_object_invalid_spec_error ... ok [INFO] [stdout] test types::tests::resolve_mode_object_with_multi_spec ... ok [INFO] [stdout] test tree::tests::tree_depth_two_shows_three_levels ... ok [INFO] [stdout] test types::tests::resolve_mode_single_doc_mode ... ok [INFO] [stdout] test types::tests::resolve_mode_single_detail ... ok [INFO] [stdout] test types::tests::resolve_mode_standalone_extract_stream ... ok [INFO] [stdout] test types::tests::resolve_mode_standalone_object ... ok [INFO] [stdout] test types::tests::resolve_mode_standalone_plus_doc_mode_error ... ok [INFO] [stdout] test types::tests::resolve_mode_standalone_search ... ok [INFO] [stdout] test types::tests::resolve_mode_standalone_inspect ... ok [INFO] [stdout] test validate::tests::check_broken_references_detects_broken ... ok [INFO] [stdout] test validate::tests::check_broken_references_valid ... ok [INFO] [stdout] test validate::tests::check_page_tree_correct_count ... ok [INFO] [stdout] test validate::tests::check_page_tree_count_mismatch ... ok [INFO] [stdout] test validate::tests::check_required_keys_valid_catalog ... ok [INFO] [stdout] test validate::tests::check_required_keys_catalog_missing_pages ... ok [INFO] [stdout] test validate::tests::check_unreachable_all_reachable ... ok [INFO] [stdout] test validate::tests::check_stream_lengths_correct ... ok [INFO] [stdout] test validate::tests::check_stream_lengths_no_length_key_no_issue ... ok [INFO] [stdout] test validate::tests::check_stream_lengths_mismatch ... ok [INFO] [stdout] test types::tests::resolve_mode_search_with_list_modifier ... ok [INFO] [stdout] test validate::tests::check_stream_lengths_zero_length_correct ... ok [INFO] [stdout] test validate::tests::check_unreachable_multiple_orphans ... ok [INFO] [stdout] test validate::tests::check_unreachable_objects_finds_orphans ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_nested_array ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_in_stream_dict ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_in_array ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_multiple_in_one_object ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_primitives_return_empty ... ok [INFO] [stdout] test validate::tests::collect_xref_stream_ids_empty_for_no_xref ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_valid_ref_not_reported ... ok [INFO] [stdout] test validate::tests::collect_broken_refs_nested_dict ... ok [INFO] [stdout] test validate::tests::collect_xref_stream_ids_finds_xref ... ok [INFO] [stdout] test validate::tests::page_has_media_box_cycle_guard ... ok [INFO] [stdout] test validate::tests::page_has_media_box_inherited_three_levels ... ok [INFO] [stdout] test validate::tests::page_has_media_box_non_dict_object ... ok [INFO] [stdout] test validate::tests::page_has_media_box_missing ... ok [INFO] [stdout] test validate::tests::page_has_media_box_inherited ... ok [INFO] [stdout] test validate::tests::page_has_media_box_nonexistent_parent ... ok [INFO] [stdout] test validate::tests::page_has_media_box_direct ... ok [INFO] [stdout] test validate::tests::print_validation_json_structure ... ok [INFO] [stdout] test validate::tests::print_validation_shows_errors_and_summary ... ok [INFO] [stdout] test validate::tests::validate_duplicate_objects ... ok [INFO] [stdout] test validate::tests::validate_font_firstchar_without_lastchar ... ok [INFO] [stdout] test validate::tests::validate_empty_doc_reports_missing_root ... ok [INFO] [stdout] test validate::tests::print_validation_no_issues ... ok [INFO] [stdout] test validate::tests::validate_content_stream_valid ... ok [INFO] [stdout] test validate::tests::validate_content_stream_invalid ... ok [INFO] [stdout] test validate::tests::print_validation_json_produces_valid_json ... ok [INFO] [stdout] test validate::tests::validate_font_missing_basefont ... ok [INFO] [stdout] test validate::tests::validate_page_tree_cycle ... ok [INFO] [stdout] test validate::tests::validate_font_valid ... ok [INFO] [stdout] test validate::tests::validate_font_widths_mismatch ... ok [INFO] [stdout] test validate::tests::validate_name_tree_no_names_or_kids ... ok [INFO] [stdout] test validate::tests::validate_name_tree_odd_names ... ok [INFO] [stdout] test validate::tests::validate_no_duplicate_objects ... ok [INFO] [stdout] test validate::tests::validate_pdf_mixed_issues ... ok [INFO] [stdout] test validate::tests::xref_stream_with_removed_encrypt_not_reported ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 888 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pdf_dump-0c70dbde985bce80) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-54e7b116473073d4) [INFO] [stdout] [INFO] [stdout] running 83 tests [INFO] [stdout] test corrupt_pdf_file_fails_gracefully ... ok [INFO] [stdout] test depth_with_page_unlimited ... ok [INFO] [stdout] test annotations_on_pdf_with_link ... ok [INFO] [stdout] test bookmarks_no_outlines_says_no_bookmarks ... ok [INFO] [stdout] test annotations_with_page_filter ... ok [INFO] [stdout] test extract_corrupt_stream_shows_warning_on_stderr ... ok [INFO] [stdout] test depth_with_page_still_works ... ok [INFO] [stdout] test bookmarks_and_fonts_mutual_exclusion ... ok [INFO] [stdout] test extract_object_prints_success_message ... ok [INFO] [stdout] test extract_stream_object_writes_file ... ok [INFO] [stdout] test extract_uncompressed_stream ... ok [INFO] [stdout] test extract_nonexistent_object_fails ... ok [INFO] [stdout] test fonts_json ... ok [INFO] [stdout] test help_flag_prints_usage ... ok [INFO] [stdout] test bookmarks_on_pdf_with_outlines ... ok [INFO] [stdout] test hex_flag_json_mode ... ok [INFO] [stdout] test images_lists_images ... ok [INFO] [stdout] test fonts_mutually_exclusive ... ok [INFO] [stdout] test images_no_images ... ok [INFO] [stdout] test hex_flag_with_decode_streams ... ok [INFO] [stdout] test json_object_mode ... ok [INFO] [stdout] test json_page_mode ... ok [INFO] [stdout] test json_text_with_page_filter ... ok [INFO] [stdout] test json_list_mode ... ok [INFO] [stdout] test images_json ... ok [INFO] [stdout] test fonts_lists_fonts ... ok [INFO] [stdout] test no_arguments_shows_error ... ok [INFO] [stdout] test nonexistent_pdf_file_fails_gracefully ... ok [INFO] [stdout] test list_with_two_page_pdf ... ok [INFO] [stdout] test object_flag_prints_single_object ... ok [INFO] [stdout] test list_flag_shows_object_table ... ok [INFO] [stdout] test output_without_extract_object_fails ... ok [INFO] [stdout] test object_flag_short_form ... ok [INFO] [stdout] test extract_non_stream_object_fails ... ok [INFO] [stdout] test page_flag_nonexistent_page_fails ... ok [INFO] [stdout] test object_and_page_flags_fails ... ok [INFO] [stdout] test page_flag_shows_page_content ... ok [INFO] [stdout] test page_flag_with_decode_streams_still_works ... ok [INFO] [stdout] test page_range_text ... ok [INFO] [stdout] test object_flag_nonexistent_object_fails ... ok [INFO] [stdout] test page_zero_fails ... ok [INFO] [stdout] test list_flag_short_form ... ok [INFO] [stdout] test page_zero_rejected ... ok [INFO] [stdout] test page_invalid_range_rejected ... ok [INFO] [stdout] test pipeline_asciihex_flate_decode_integration ... ok [INFO] [stdout] test pipeline_asciihex_flate_json ... ok [INFO] [stdout] test search_finds_fonts ... ok [INFO] [stdout] test search_has_key ... ok [INFO] [stdout] test search_multiple_conditions_json ... ok [INFO] [stdout] test page_2_dump_shows_page_2 ... ok [INFO] [stdout] test search_multiple_and_conditions ... ok [INFO] [stdout] test object_mode_with_decode_streams ... ok [INFO] [stdout] test page_range_dump ... ok [INFO] [stdout] test search_bad_expression_fails ... ok [INFO] [stdout] test text_extracts_from_multiple_pages ... ok [INFO] [stdout] test search_with_list ... ok [INFO] [stdout] test text_extracts_hello ... ok [INFO] [stdout] test text_mutually_exclusive_with_list ... ok [INFO] [stdout] test text_nonexistent_page_fails ... ok [INFO] [stdout] test search_value_expression ... ok [INFO] [stdout] test search_no_matches ... ok [INFO] [stdout] test text_with_json ... ok [INFO] [stdout] test search_with_json ... ok [INFO] [stdout] test text_with_page_filter ... ok [INFO] [stdout] test tree_depth_one_shows_root_children_only ... ok [INFO] [stdout] test tree_dot_produces_valid_dot ... ok [INFO] [stdout] test text_page_2_only ... ok [INFO] [stdout] test tree_dot_with_depth_limit ... ok [INFO] [stdout] test tree_json_valid_structure ... ok [INFO] [stdout] test search_with_list_json ... ok [INFO] [stdout] test tree_json_depth_zero ... ok [INFO] [stdout] test search_with_decode_streams ... ok [INFO] [stdout] test tree_mutually_exclusive ... ok [INFO] [stdout] test tree_with_stream_object ... ok [INFO] [stdout] test tree_json_with_broken_reference ... ok [INFO] [stdout] test version_flag_prints_version ... ok [INFO] [stdout] test truncate_with_hex_flag ... ok [INFO] [stdout] test tree_shows_reference_tree ... ok [INFO] [stdout] test tree_with_depth_limit ... ok [INFO] [stdout] test validate_json ... ok [INFO] [stdout] test validate_mutually_exclusive ... ok [INFO] [stdout] test validate_minimal_pdf ... ok [INFO] [stdout] test tree_with_broken_reference ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 83 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/lopdf_canary.rs (/opt/rustwide/target/debug/deps/lopdf_canary-a6255af12b434a4f) [INFO] [stdout] running 5 tests [INFO] [stdout] test lopdf_puts_xref_streams_in_objects_for_external_pdfs ... ok [INFO] [stdout] test lopdf_removes_encrypt_from_trailer ... ok [INFO] [stdout] test lopdf_removes_encrypt_dict_object ... ok [INFO] [stdout] test lopdf_populates_encryption_state ... ok [INFO] [stdout] test lopdf_puts_xref_streams_in_objects_after_encrypted_round_trip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests pdf_dump [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5dfcedda280f64d35d138a86d4dd6ae221ba4b05204a4ae1c2554a174456d0b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5dfcedda280f64d35d138a86d4dd6ae221ba4b05204a4ae1c2554a174456d0b4", kill_on_drop: false }` [INFO] [stdout] 5dfcedda280f64d35d138a86d4dd6ae221ba4b05204a4ae1c2554a174456d0b4