Source: pypdf2
Version: 2.12.1-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> py3versions: no X-Python3-Version in control file, using supported versions
> py3versions: no X-Python3-Version in control file, using supported versions
> pytest-3 tests --cov --cov-report term-missing -vv
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0 -- 
> /usr/bin/python3
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: cov-4.1.0
> collecting ... collected 592 items
> 
> tests/test_cmap.py::test_compute_space_width PASSED                      [  
> 0%]
> tests/test_cmap.py::test_parse_to_unicode_process_rg PASSED              [  
> 0%]
> tests/test_cmap.py::test_parse_encoding_advanced_encoding_not_implemented 
> PASSED [  0%]
> tests/test_cmap.py::test_get_font_width_from_default PASSED              [  
> 0%]
> tests/test_cmap.py::test_multiline_bfrange PASSED                        [  
> 0%]
> tests/test_cmap.py::test_bfchar_on_2_chars PASSED                        [  
> 1%]
> tests/test_cmap.py::test_ascii_charset PASSED                            [  
> 1%]
> tests/test_cmap.py::test_iss1370 PASSED                                  [  
> 1%]
> tests/test_cmap.py::test_iss1379 PASSED                                  [  
> 1%]
> tests/test_constants.py::test_slash_prefix PASSED                        [  
> 1%]
> tests/test_encryption.py::test_encryption[unencrypted.pdf-False] PASSED  [  
> 1%]
> tests/test_encryption.py::test_encryption[r2-empty-password.pdf-False] PASSED 
> [  2%]
> tests/test_encryption.py::test_encryption[r3-empty-password.pdf-False] PASSED 
> [  2%]
> tests/test_encryption.py::test_encryption[r2-user-password.pdf-False] PASSED 
> [  2%]
> tests/test_encryption.py::test_encryption[r2-owner-password.pdf-False] PASSED 
> [  2%]
> tests/test_encryption.py::test_encryption[r3-user-password.pdf-False] PASSED 
> [  2%]
> tests/test_encryption.py::test_encryption[r4-user-password.pdf-False] PASSED 
> [  2%]
> tests/test_encryption.py::test_encryption[r4-owner-password.pdf-False] PASSED 
> [  3%]
> tests/test_encryption.py::test_encryption[r4-aes-user-password.pdf-True] 
> PASSED [  3%]
> tests/test_encryption.py::test_encryption[r5-empty-password.pdf-True] PASSED 
> [  3%]
> tests/test_encryption.py::test_encryption[r5-user-password.pdf-True] PASSED [ 
>  3%]
> tests/test_encryption.py::test_encryption[r5-owner-password.pdf-True] PASSED 
> [  3%]
> tests/test_encryption.py::test_encryption[r6-empty-password.pdf-True] PASSED 
> [  3%]
> tests/test_encryption.py::test_encryption[r6-user-password.pdf-True] PASSED [ 
>  4%]
> tests/test_encryption.py::test_encryption[r6-owner-password.pdf-True] PASSED 
> [  4%]
> tests/test_encryption.py::test_both_password[r6-both-passwords.pdf-foo-bar] 
> SKIPPED [  4%]
> tests/test_encryption.py::test_get_page_of_encrypted_file_new_algorithm[crazyones-encrypted-256.pdf-password0]
>  SKIPPED [  4%]
> tests/test_encryption.py::test_get_page_of_encrypted_file_new_algorithm[crazyones-encrypted-256.pdf-password1]
>  SKIPPED [  4%]
> tests/test_encryption.py::test_encryption_merge[names0] SKIPPED (No
> pycryptodome)                                                            [  
> 4%]
> tests/test_encryption.py::test_encrypt_decrypt_class[CryptRC4] PASSED    [  
> 5%]
> tests/test_encryption.py::test_decrypt_not_decrypted_pdf PASSED          [  
> 5%]
> tests/test_encryption.py::test_generate_values PASSED                    [  
> 5%]
> tests/test_filters.py::test_FlateDecode[1-abcdefghijklmnopqrstuvwxyz] PASSED 
> [  5%]
> tests/test_filters.py::test_FlateDecode[1-ABCDEFGHIJKLMNOPQRSTUVWXYZ] PASSED 
> [  5%]
> tests/test_filters.py::test_FlateDecode[1-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
>  PASSED [  5%]
> tests/test_filters.py::test_FlateDecode[1-0123456789] PASSED             [  
> 6%]
> tests/test_filters.py::test_FlateDecode[1-0123456789abcdefABCDEF] PASSED [  
> 6%]
> tests/test_filters.py::test_FlateDecode[1-!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~] 
> PASSED [  6%]
> tests/test_filters.py::test_FlateDecode[1- \t\n\r\x0b\x0c] PASSED        [  
> 6%]
> tests/test_filters.py::test_FlateDecode_unsupported_predictor PASSED     [  
> 6%]
> tests/test_filters.py::test_FlateDecode_decompress_array_params[params0] 
> PASSED [  6%]
> tests/test_filters.py::test_FlateDecode_decompress_array_params[params1] 
> PASSED [  7%]
> tests/test_filters.py::test_FlateDecode_decompress_array_params[a] PASSED [  
> 7%]
> tests/test_filters.py::test_ASCIIHexDecode[empty] PASSED                 [  
> 7%]
> tests/test_filters.py::test_ASCIIHexDecode[ascii_lowercase] PASSED       [  
> 7%]
> tests/test_filters.py::test_ASCIIHexDecode[ascii_uppercase] PASSED       [  
> 7%]
> tests/test_filters.py::test_ASCIIHexDecode[ascii_letters] PASSED         [  
> 7%]
> tests/test_filters.py::test_ASCIIHexDecode[digits] PASSED                [  
> 8%]
> tests/test_filters.py::test_ASCIIHexDecode[digits_whitespace] PASSED     [  
> 8%]
> tests/test_filters.py::test_ASCIIHexDecode[hexdigits] PASSED             [  
> 8%]
> tests/test_filters.py::test_ASCIIHexDecode[whitespace] PASSED            [  
> 8%]
> tests/test_filters.py::test_ASCIIHexDecode_no_eod PASSED                 [  
> 8%]
> tests/test_filters.py::test_ASCII85Decode_with_overflow XFAIL            [  
> 8%]
> tests/test_filters.py::test_ASCII85Decode_five_zero_bytes PASSED         [  
> 9%]
> tests/test_filters.py::test_CCITParameters PASSED                        [  
> 9%]
> tests/test_filters.py::test_CCIT_get_parameters[None-0] PASSED           [  
> 9%]
> tests/test_filters.py::test_CCIT_get_parameters[parameters1-1] PASSED    [  
> 9%]
> tests/test_filters.py::test_CCITTFaxDecode PASSED                        [  
> 9%]
> tests/test_filters.py::test_decompress_zlib_error PASSED                 [  
> 9%]
> tests/test_filters.py::test_lzw_decode_neg1 PASSED                       [ 
> 10%]
> tests/test_filters.py::test_issue_399 PASSED                             [ 
> 10%]
> tests/test_filters.py::test_image_without_imagemagic PASSED              [ 
> 10%]
> tests/test_generic.py::test_float_object_exception PASSED                [ 
> 10%]
> tests/test_generic.py::test_number_object_exception PASSED               [ 
> 10%]
> tests/test_generic.py::test_number_object_no_exception PASSED            [ 
> 10%]
> tests/test_generic.py::test_create_string_object_exception PASSED        [ 
> 11%]
> tests/test_generic.py::test_boolean_object[true-true-4] PASSED           [ 
> 11%]
> tests/test_generic.py::test_boolean_object[false-false-5] PASSED         [ 
> 11%]
> tests/test_generic.py::test_boolean_object_write PASSED                  [ 
> 11%]
> tests/test_generic.py::test_boolean_eq PASSED                            [ 
> 11%]
> tests/test_generic.py::test_boolean_object_exception PASSED              [ 
> 11%]
> tests/test_generic.py::test_array_object_exception PASSED                [ 
> 12%]
> tests/test_generic.py::test_null_object_exception PASSED                 [ 
> 12%]
> tests/test_generic.py::test_indirect_object_premature[] PASSED           [ 
> 12%]
> tests/test_generic.py::test_indirect_object_premature[False] PASSED      [ 
> 12%]
> tests/test_generic.py::test_indirect_object_premature[foo ] PASSED       [ 
> 12%]
> tests/test_generic.py::test_indirect_object_premature[foo  ] PASSED      [ 
> 13%]
> tests/test_generic.py::test_indirect_object_premature[foo bar] PASSED    [ 
> 13%]
> tests/test_generic.py::test_readHexStringFromStream PASSED               [ 
> 13%]
> tests/test_generic.py::test_readHexStringFromStream_exception PASSED     [ 
> 13%]
> tests/test_generic.py::test_readStringFromStream_exception PASSED        [ 
> 13%]
> tests/test_generic.py::test_readStringFromStream_not_in_escapedict_no_digit 
> PASSED [ 13%]
> tests/test_generic.py::test_readStringFromStream_multichar_eol PASSED    [ 
> 14%]
> tests/test_generic.py::test_readStringFromStream_multichar_eol2 PASSED   [ 
> 14%]
> tests/test_generic.py::test_readStringFromStream_excape_digit PASSED     [ 
> 14%]
> tests/test_generic.py::test_readStringFromStream_excape_digit2 PASSED    [ 
> 14%]
> tests/test_generic.py::test_NameObject PASSED                            [ 
> 14%]
> tests/test_generic.py::test_destination_fit_r PASSED                     [ 
> 14%]
> tests/test_generic.py::test_destination_fit_v PASSED                     [ 
> 15%]
> tests/test_generic.py::test_destination_exception PASSED                 [ 
> 15%]
> tests/test_generic.py::test_outline_item_write_to_stream PASSED          [ 
> 15%]
> tests/test_generic.py::test_encode_pdfdocencoding_keyerror PASSED        [ 
> 15%]
> tests/test_generic.py::test_read_object_comment_exception PASSED         [ 
> 15%]
> tests/test_generic.py::test_read_object_empty PASSED                     [ 
> 15%]
> tests/test_generic.py::test_read_object_invalid PASSED                   [ 
> 16%]
> tests/test_generic.py::test_read_object_comment PASSED                   [ 
> 16%]
> tests/test_generic.py::test_ByteStringObject PASSED                      [ 
> 16%]
> tests/test_generic.py::test_DictionaryObject_key_is_no_pdfobject PASSED  [ 
> 16%]
> tests/test_generic.py::test_DictionaryObject_xmp_meta PASSED             [ 
> 16%]
> tests/test_generic.py::test_DictionaryObject_value_is_no_pdfobject PASSED [ 
> 16%]
> tests/test_generic.py::test_DictionaryObject_setdefault_key_is_no_pdfobject 
> PASSED [ 17%]
> tests/test_generic.py::test_DictionaryObject_setdefault_value_is_no_pdfobject 
> PASSED [ 17%]
> tests/test_generic.py::test_DictionaryObject_setdefault_value PASSED     [ 
> 17%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream PASSED     [ 
> 17%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_broken PASSED [ 
> 17%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_unexpected_end 
> PASSED [ 17%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_no_newline
>  PASSED [ 18%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_no_stream_length[True]
>  PASSED [ 18%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_no_stream_length[False]
>  PASSED [ 18%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_stream_valid[True-6-False]
>  PASSED [ 18%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_stream_valid[True-10-False]
>  PASSED [ 18%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_stream_valid[True-4-True]
>  PASSED [ 18%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_stream_valid[False-6-False]
>  PASSED [ 19%]
> tests/test_generic.py::test_DictionaryObject_read_from_stream_stream_stream_valid[False-10-False]
>  PASSED [ 19%]
> tests/test_generic.py::test_RectangleObject PASSED                       [ 
> 19%]
> tests/test_generic.py::test_TextStringObject_exc PASSED                  [ 
> 19%]
> tests/test_generic.py::test_TextStringObject_autodetect_utf16 PASSED     [ 
> 19%]
> tests/test_generic.py::test_remove_child_not_in_tree PASSED              [ 
> 19%]
> tests/test_generic.py::test_remove_child_not_in_that_tree PASSED         [ 
> 20%]
> tests/test_generic.py::test_remove_child_not_found_in_tree PASSED        [ 
> 20%]
> tests/test_generic.py::test_remove_child_found_in_tree PASSED            [ 
> 20%]
> tests/test_generic.py::test_remove_child_in_tree PASSED                  [ 
> 20%]
> tests/test_generic.py::test_dict_read_from_stream PASSED                 [ 
> 20%]
> tests/test_generic.py::test_parse_content_stream_peek_percentage PASSED  [ 
> 20%]
> tests/test_generic.py::test_read_inline_image_no_has_q PASSED            [ 
> 21%]
> tests/test_generic.py::test_read_inline_image_loc_neg_1 PASSED           [ 
> 21%]
> tests/test_generic.py::test_text_string_write_to_stream PASSED           [ 
> 21%]
> tests/test_generic.py::test_name_object_read_from_stream_unicode_error PASSED 
> [ 21%]
> tests/test_generic.py::test_bool_repr PASSED                             [ 
> 21%]
> tests/test_generic.py::test_issue_997 PASSED                             [ 
> 21%]
> tests/test_generic.py::test_annotation_builder_free_text PASSED          [ 
> 22%]
> tests/test_generic.py::test_annotation_builder_line PASSED               [ 
> 22%]
> tests/test_generic.py::test_annotation_builder_square PASSED             [ 
> 22%]
> tests/test_generic.py::test_annotation_builder_link PASSED               [ 
> 22%]
> tests/test_generic.py::test_annotation_builder_text PASSED               [ 
> 22%]
> tests/test_generic.py::test_CheckboxRadioButtonAttributes_opt PASSED     [ 
> 22%]
> tests/test_generic.py::test_name_object_invalid_decode PASSED            [ 
> 23%]
> tests/test_generic.py::test_indirect_object_invalid_read PASSED          [ 
> 23%]
> tests/test_generic.py::test_create_string_object_force PASSED            [ 
> 23%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.000000-0] PASSED 
> [ 23%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.0-0_0] PASSED [ 
> 23%]
> tests/test_generic.py::test_float_object_decimal_to_string[1.0-1_0] PASSED [ 
> 23%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.123000-0.123] 
> PASSED [ 24%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.000123000-0.000123]
>  PASSED [ 24%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.0-0_1] PASSED [ 
> 24%]
> tests/test_generic.py::test_float_object_decimal_to_string[0-0] PASSED   [ 
> 24%]
> tests/test_generic.py::test_float_object_decimal_to_string[1-1] PASSED   [ 
> 24%]
> tests/test_generic.py::test_float_object_decimal_to_string[1.0-1_1] PASSED [ 
> 25%]
> tests/test_generic.py::test_float_object_decimal_to_string[1.01-1.01] PASSED 
> [ 25%]
> tests/test_generic.py::test_float_object_decimal_to_string[1.010-1.01] PASSED 
> [ 25%]
> tests/test_generic.py::test_float_object_decimal_to_string[0000.0000-0] 
> PASSED [ 25%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.10101010-0.1010101]
>  PASSED [ 25%]
> tests/test_generic.py::test_float_object_decimal_to_string[50000000000-50000000000]
>  PASSED [ 25%]
> tests/test_generic.py::test_float_object_decimal_to_string[99900000000000000123-99900000000000000123]
>  PASSED [ 26%]
> tests/test_generic.py::test_float_object_decimal_to_string[99900000000000000123.456000-99900000000000000123.456]
>  PASSED [ 26%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.00000000000000000000123-0.00000000000000000000123]
>  PASSED [ 26%]
> tests/test_generic.py::test_float_object_decimal_to_string[0.00000000000000000000123000-0.00000000000000000000123]
>  PASSED [ 26%]
> tests/test_generic.py::test_float_object_decimal_to_string[50032481330523882508234.00000000000000000000123000-50032481330523882508234.00000000000000000000123]
>  PASSED [ 26%]
> tests/test_generic.py::test_float_object_decimal_to_string[928457298572093487502198745102973402987412908743.75249875981374981237498213740000-928457298572093487502198745102973402987412908743.7524987598137498123749821374]
>  PASSED [ 26%]
> tests/test_javascript.py::test_add_js PASSED                             [ 
> 27%]
> tests/test_javascript.py::test_added_js PASSED                           [ 
> 27%]
> tests/test_merger.py::test_merger_operations_by_traditional_usage PASSED [ 
> 27%]
> tests/test_merger.py::test_merger_operations_by_semi_traditional_usage PASSED 
> [ 27%]
> tests/test_merger.py::test_merger_operation_by_new_usage PASSED          [ 
> 27%]
> tests/test_merger.py::test_merge_page_exception PASSED                   [ 
> 27%]
> tests/test_merger.py::test_merge_page_tuple PASSED                       [ 
> 28%]
> tests/test_merger.py::test_merge_write_closed_fh PASSED                  [ 
> 28%]
> tests/test_merger.py::test_trim_outline_list PASSED                      [ 
> 28%]
> tests/test_merger.py::test_zoom PASSED                                   [ 
> 28%]
> tests/test_merger.py::test_zoom_xyz_no_left PASSED                       [ 
> 28%]
> tests/test_merger.py::test_outline_item PASSED                           [ 
> 28%]
> tests/test_merger.py::test_trim_outline PASSED                           [ 
> 29%]
> tests/test_merger.py::test1 PASSED                                       [ 
> 29%]
> tests/test_merger.py::test_sweep_recursion1 PASSED                       [ 
> 29%]
> tests/test_merger.py::test_sweep_recursion2[https://corpora.tika.apache.org/base/docs/govdocs1/924/924794.pdf-tika-924794.pdf]
>  PASSED [ 29%]
> tests/test_merger.py::test_sweep_recursion2[https://corpora.tika.apache.org/base/docs/govdocs1/924/924546.pdf-tika-924546.pdf]
>  PASSED [ 29%]
> tests/test_merger.py::test_sweep_indirect_list_newobj_is_None PASSED     [ 
> 29%]
> tests/test_merger.py::test_iss1145 PASSED                                [ 
> 30%]
> tests/test_merger.py::test_deprecate_bookmark_decorator_warning PASSED   [ 
> 30%]
> tests/test_merger.py::test_deprecate_bookmark_decorator_output PASSED    [ 
> 30%]
> tests/test_merger.py::test_iss1344 PASSED                                [ 
> 30%]
> tests/test_page.py::test_read[001-trivial/minimal-document.pdf] PASSED   [ 
> 30%]
> tests/test_page.py::test_read[002-trivial-libre-office-writer/002-trivial-libre-office-writer.pdf]
>  PASSED [ 30%]
> tests/test_page.py::test_read[003-pdflatex-image/pdflatex-image.pdf] PASSED [ 
> 31%]
> tests/test_page.py::test_read[004-pdflatex-4-pages/pdflatex-4-pages.pdf] 
> PASSED [ 31%]
> tests/test_page.py::test_read[006-pdflatex-outline/pdflatex-outline.pdf] 
> PASSED [ 31%]
> tests/test_page.py::test_read[007-imagemagick-images/imagemagick-ASCII85Decode.pdf]
>  PASSED [ 31%]
> tests/test_page.py::test_read[007-imagemagick-images/imagemagick-images.pdf] 
> PASSED [ 31%]
> tests/test_page.py::test_read[007-imagemagick-images/imagemagick-CCITTFaxDecode.pdf]
>  PASSED [ 31%]
> tests/test_page.py::test_read[007-imagemagick-images/imagemagick-lzw.pdf] 
> PASSED [ 32%]
> tests/test_page.py::test_read[008-reportlab-inline-image/inline-image.pdf] 
> PASSED [ 32%]
> tests/test_page.py::test_read[009-pdflatex-geotopo/GeoTopo.pdf] PASSED   [ 
> 32%]
> tests/test_page.py::test_read[010-pdflatex-forms/pdflatex-forms.pdf] PASSED [ 
> 32%]
> tests/test_page.py::test_read[011-google-doc-document/google-doc-document.pdf]
>  PASSED [ 32%]
> tests/test_page.py::test_read[012-libreoffice-form/libreoffice-form.pdf] 
> PASSED [ 32%]
> tests/test_page.py::test_read[013-reportlab-overlay/reportlab-overlay.pdf] 
> PASSED [ 33%]
> tests/test_page.py::test_read[014-outlines/mistitled_outlines_example.pdf] 
> PASSED [ 33%]
> tests/test_page.py::test_read[015-arabic/habibi.pdf] PASSED              [ 
> 33%]
> tests/test_page.py::test_read[015-arabic/habibi-oneline-cmap.pdf] PASSED [ 
> 33%]
> tests/test_page.py::test_read[016-libre-office-link/libre-office-link.pdf] 
> PASSED [ 33%]
> tests/test_page.py::test_read[017-unreadable-meta-data/unreadablemetadata.pdf]
>  PASSED [ 33%]
> tests/test_page.py::test_read[018-base64-image/base64image.pdf] PASSED   [ 
> 34%]
> tests/test_page.py::test_read[019-grayscale-image/grayscale-image.pdf] PASSED 
> [ 34%]
> tests/test_page.py::test_page_operations[crazyones.pdf-None] PASSED      [ 
> 34%]
> tests/test_page.py::test_page_operations[attachment.pdf-None] PASSED     [ 
> 34%]
> tests/test_page.py::test_page_operations[libreoffice-writer-password.pdf-openpassword]
>  PASSED [ 34%]
> tests/test_page.py::test_page_operations[imagemagick-images.pdf-None] PASSED 
> [ 34%]
> tests/test_page.py::test_page_operations[imagemagick-lzw.pdf-None] PASSED [ 
> 35%]
> tests/test_page.py::test_page_operations[reportlab-inline-image.pdf-None] 
> PASSED [ 35%]
> tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]
>  PASSED [ 35%]
> tests/test_page.py::test_transformation_equivalence PASSED               [ 
> 35%]
> tests/test_page.py::test_get_user_unit_property PASSED                   [ 
> 35%]
> tests/test_page.py::test_page_transformations PASSED                     [ 
> 35%]
> tests/test_page.py::test_compress_content_streams[pdf_path0-None] PASSED [ 
> 36%]
> tests/test_page.py::test_compress_content_streams[pdf_path1-None] PASSED [ 
> 36%]
> tests/test_page.py::test_compress_content_streams[pdf_path2-None] PASSED [ 
> 36%]
> tests/test_page.py::test_compress_content_streams[pdf_path3-openpassword] 
> PASSED [ 36%]
> tests/test_page.py::test_page_properties PASSED                          [ 
> 36%]
> tests/test_page.py::test_page_rotation PASSED                            [ 
> 36%]
> tests/test_page.py::test_page_scale PASSED                               [ 
> 37%]
> tests/test_page.py::test_add_transformation_on_page_without_contents PASSED [ 
> 37%]
> tests/test_page.py::test_multi_language PASSED                           [ 
> 37%]
> tests/test_page.py::test_extract_text_single_quote_op PASSED             [ 
> 37%]
> tests/test_page.py::test_no_ressources_on_text_extract PASSED            [ 
> 37%]
> tests/test_page.py::test_iss_1142 PASSED                                 [ 
> 38%]
> tests/test_page.py::test_extract_text_page_pdf[https://corpora.tika.apache.org/base/docs/govdocs1/964/964029.pdf-tika-964029.pdf]
>  PASSED [ 38%]
> tests/test_page.py::test_extract_text_page_pdf[https://corpora.tika.apache.org/base/docs/govdocs1/932/932446.pdf-tika-932446.pdf]
>  PASSED [ 38%]
> tests/test_page.py::test_extract_text_page_pdf[https://github.com/py-pdf/PyPDF2/files/9150656/ST.2019.PDF-iss_1134.pdf]
>  PASSED [ 38%]
> tests/test_page.py::test_extract_text_page_pdf[https://github.com/py-pdf/PyPDF2/files/9432350/Work.Flow.From.Check.to.QA.pdf-WFCA.pdf]
>  PASSED [ 38%]
> tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform PASSED 
> [ 38%]
> tests/test_page.py::test_extract_text_operator_t_star PASSED             [ 
> 39%]
> tests/test_page.py::test_extract_text_visitor_callbacks PASSED           [ 
> 39%]
> tests/test_page.py::test_get_fonts[pdf_path0-None-embedded0-unembedded0] 
> PASSED [ 39%]
> tests/test_page.py::test_get_fonts[pdf_path1-None-embedded1-unembedded1] 
> PASSED [ 39%]
> tests/test_page.py::test_get_fonts[pdf_path2-openpassword-embedded2-unembedded2]
>  PASSED [ 39%]
> tests/test_page.py::test_get_fonts[pdf_path3-None-embedded3-unembedded3] 
> PASSED [ 39%]
> tests/test_page.py::test_get_fonts[pdf_path4-None-embedded4-unembedded4] 
> PASSED [ 40%]
> tests/test_page.py::test_get_fonts[pdf_path5-None-embedded5-unembedded5] 
> PASSED [ 40%]
> tests/test_page.py::test_annotation_getter PASSED                        [ 
> 40%]
> tests/test_page.py::test_annotation_setter PASSED                        [ 
> 40%]
> tests/test_page.py::test_text_extraction_issue_1091 XFAIL (#1091)        [ 
> 40%]
> tests/test_page.py::test_empyt_password_1088 PASSED                      [ 
> 40%]
> tests/test_page.py::test_arab_text_extraction XFAIL (#1088 / #1126)      [ 
> 41%]
> tests/test_page.py::test_read_link_annotation PASSED                     [ 
> 41%]
> tests/test_page.py::test_no_resources PASSED                             [ 
> 41%]
> tests/test_pagerange.py::test_equality PASSED                            [ 
> 41%]
> tests/test_pagerange.py::test_str[page_range0-0:5] PASSED                [ 
> 41%]
> tests/test_pagerange.py::test_str[page_range1-0:5:2] PASSED              [ 
> 41%]
> tests/test_pagerange.py::test_str[-1--1:] PASSED                         [ 
> 42%]
> tests/test_pagerange.py::test_str[0-0] PASSED                            [ 
> 42%]
> tests/test_pagerange.py::test_repr[page_range0-PageRange('0:5')] PASSED  [ 
> 42%]
> tests/test_pagerange.py::test_repr[page_range1-PageRange('0:5:2')] PASSED [ 
> 42%]
> tests/test_pagerange.py::test_equality_other_objectc PASSED              [ 
> 42%]
> tests/test_pagerange.py::test_idempotency PASSED                         [ 
> 42%]
> tests/test_pagerange.py::test_str_init[42-expected0] PASSED              [ 
> 43%]
> tests/test_pagerange.py::test_str_init[1:2-expected1] PASSED             [ 
> 43%]
> tests/test_pagerange.py::test_str_init_error PASSED                      [ 
> 43%]
> tests/test_pagerange.py::test_parse_filename_page_ranges[params0-expected0] 
> PASSED [ 43%]
> tests/test_pagerange.py::test_parse_filename_page_ranges[params1-expected1] 
> PASSED [ 43%]
> tests/test_pagerange.py::test_parse_filename_page_ranges_err PASSED      [ 
> 43%]
> tests/test_pagerange.py::test_addition[a0-b0-expected0] PASSED           [ 
> 44%]
> tests/test_pagerange.py::test_addition[a1-b1-expected1] PASSED           [ 
> 44%]
> tests/test_pagerange.py::test_addition[a2-b2-expected2] PASSED           [ 
> 44%]
> tests/test_pagerange.py::test_addition_gap[a0-b0] PASSED                 [ 
> 44%]
> tests/test_pagerange.py::test_addition_gap[a1-b1] PASSED                 [ 
> 44%]
> tests/test_pagerange.py::test_addition_non_page_range PASSED             [ 
> 44%]
> tests/test_pagerange.py::test_addition_stride PASSED                     [ 
> 45%]
> tests/test_papersizes.py::test_din_a0 PASSED                             [ 
> 45%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions0] PASSED           [ 
> 45%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions1] PASSED           [ 
> 45%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions2] PASSED           [ 
> 45%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions3] PASSED           [ 
> 45%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions4] PASSED           [ 
> 46%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions5] PASSED           [ 
> 46%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions6] PASSED           [ 
> 46%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions7] PASSED           [ 
> 46%]
> tests/test_papersizes.py::test_din_a_ratio[dimensions8] PASSED           [ 
> 46%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a0-dimensions_b0] 
> PASSED [ 46%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a1-dimensions_b1] 
> PASSED [ 47%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a2-dimensions_b2] 
> PASSED [ 47%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a3-dimensions_b3] 
> PASSED [ 47%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a4-dimensions_b4] 
> PASSED [ 47%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a5-dimensions_b5] 
> PASSED [ 47%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a6-dimensions_b6] 
> PASSED [ 47%]
> tests/test_papersizes.py::test_din_a_doubling[dimensions_a7-dimensions_b7] 
> PASSED [ 48%]
> tests/test_reader.py::test_get_num_pages[selenium-PyPDF2-issue-177.pdf-1] 
> PASSED [ 48%]
> tests/test_reader.py::test_get_num_pages[pdflatex-outline.pdf-4] PASSED  [ 
> 48%]
> tests/test_reader.py::test_read_metadata[crazyones] PASSED               [ 
> 48%]
> tests/test_reader.py::test_read_metadata[metadata] PASSED                [ 
> 48%]
> tests/test_reader.py::test_broken_meta_data[pdf_path0] PASSED            [ 
> 48%]
> tests/test_reader.py::test_get_annotations[src0] PASSED                  [ 
> 49%]
> tests/test_reader.py::test_get_annotations[src1] PASSED                  [ 
> 49%]
> tests/test_reader.py::test_get_attachments[src0-1] PASSED                [ 
> 49%]
> tests/test_reader.py::test_get_attachments[src1-0] PASSED                [ 
> 49%]
> tests/test_reader.py::test_get_outline[src0-9] PASSED                    [ 
> 49%]
> tests/test_reader.py::test_get_outline[src1-0] PASSED                    [ 
> 50%]
> tests/test_reader.py::test_get_images[pdflatex-outline.pdf-expected_images0] 
> PASSED [ 50%]
> tests/test_reader.py::test_get_images[crazyones.pdf-expected_images1] PASSED 
> [ 50%]
> tests/test_reader.py::test_get_images[git.pdf-expected_images2] PASSED   [ 
> 50%]
> tests/test_reader.py::test_get_images[imagemagick-lzw.pdf-expected_images3] 
> XFAIL [ 50%]
> tests/test_reader.py::test_get_images[imagemagick-ASCII85Decode.pdf-expected_images4]
>  XFAIL [ 50%]
> tests/test_reader.py::test_get_images[imagemagick-CCITTFaxDecode.pdf-expected_images5]
>  PASSED [ 51%]
> tests/test_reader.py::test_get_images[src6-expected_images6] PASSED      [ 
> 51%]
> tests/test_reader.py::test_get_images_raw[True-False--1-False-warning_msgs0] 
> PASSED [ 51%]
> tests/test_reader.py::test_get_images_raw[True-True--1-True-] FAILED     [ 
> 51%]
> tests/test_reader.py::test_get_images_raw[False-False--1-False-warning_msgs2] 
> PASSED [ 51%]
> tests/test_reader.py::test_get_images_raw[False-True--1-False-warning_msgs3] 
> PASSED [ 51%]
> tests/test_reader.py::test_get_images_raw[True-False-0-True-] FAILED     [ 
> 52%]
> tests/test_reader.py::test_get_images_raw[True-True-0-True-] FAILED      [ 
> 52%]
> tests/test_reader.py::test_get_images_raw[False-False-0-False-warning_msgs6] 
> PASSED [ 52%]
> tests/test_reader.py::test_get_images_raw[False-True-0-False-warning_msgs7] 
> PASSED [ 52%]
> tests/test_reader.py::test_issue297 PASSED                               [ 
> 52%]
> tests/test_reader.py::test_get_page_of_encrypted_file[encrypted-file.pdf-test-False0]
>  PASSED [ 52%]
> tests/test_reader.py::test_get_page_of_encrypted_file[encrypted-file.pdf-test-False1]
>  PASSED [ 53%]
> tests/test_reader.py::test_get_page_of_encrypted_file[encrypted-file.pdf-qwerty-True0]
>  PASSED [ 53%]
> tests/test_reader.py::test_get_page_of_encrypted_file[encrypted-file.pdf-qwerty-True1]
>  PASSED [ 53%]
> tests/test_reader.py::test_get_form[form.pdf-expected0-expected_get_fields0] 
> PASSED [ 53%]
> tests/test_reader.py::test_get_form[form_acrobatReader.pdf-expected1-expected_get_fields1]
>  PASSED [ 53%]
> tests/test_reader.py::test_get_form[form_evince.pdf-expected2-expected_get_fields2]
>  PASSED [ 53%]
> tests/test_reader.py::test_get_form[crazyones.pdf-expected3-None] PASSED [ 
> 54%]
> tests/test_reader.py::test_get_page_number[form.pdf-0] PASSED            [ 
> 54%]
> tests/test_reader.py::test_get_page_number[pdflatex-outline.pdf-2] PASSED [ 
> 54%]
> tests/test_reader.py::test_get_page_layout[form.pdf-None] PASSED         [ 
> 54%]
> tests/test_reader.py::test_get_page_layout[AutoCad_Simple.pdf-/SinglePage] 
> PASSED [ 54%]
> tests/test_reader.py::test_get_page_mode[form.pdf-/UseNone] PASSED       [ 
> 54%]
> tests/test_reader.py::test_get_page_mode[crazyones.pdf-None] PASSED      [ 
> 55%]
> tests/test_reader.py::test_read_empty PASSED                             [ 
> 55%]
> tests/test_reader.py::test_read_malformed_header PASSED                  [ 
> 55%]
> tests/test_reader.py::test_read_malformed_body PASSED                    [ 
> 55%]
> tests/test_reader.py::test_read_prev_0_trailer FAILED                    [ 
> 55%]
> tests/test_reader.py::test_read_missing_startxref PASSED                 [ 
> 55%]
> tests/test_reader.py::test_read_unknown_zero_pages FAILED                [ 
> 56%]
> tests/test_reader.py::test_read_encrypted_without_decryption PASSED      [ 
> 56%]
> tests/test_reader.py::test_get_destination_page_number PASSED            [ 
> 56%]
> tests/test_reader.py::test_do_not_get_stuck_on_large_files_without_start_xref 
> PASSED [ 56%]
> tests/test_reader.py::test_decrypt_when_no_id PASSED                     [ 
> 56%]
> tests/test_reader.py::test_reader_properties PASSED                      [ 
> 56%]
> tests/test_reader.py::test_issue604[True] FAILED                         [ 
> 57%]
> tests/test_reader.py::test_issue604[False] PASSED                        [ 
> 57%]
> tests/test_reader.py::test_decode_permissions PASSED                     [ 
> 57%]
> tests/test_reader.py::test_pages_attribute PASSED                        [ 
> 57%]
> tests/test_reader.py::test_convert_to_int PASSED                         [ 
> 57%]
> tests/test_reader.py::test_convert_to_int_error PASSED                   [ 
> 57%]
> tests/test_reader.py::test_convertToInt_deprecated PASSED                [ 
> 58%]
> tests/test_reader.py::test_iss925 PASSED                                 [ 
> 58%]
> tests/test_reader.py::test_get_object PASSED                             [ 
> 58%]
> tests/test_reader.py::test_extract_text_hello_world PASSED               [ 
> 58%]
> tests/test_reader.py::test_read_path PASSED                              [ 
> 58%]
> tests/test_reader.py::test_read_not_binary_mode PASSED                   [ 
> 58%]
> tests/test_reader.py::test_read_form_416 SKIPPED (No pycryptodome)       [ 
> 59%]
> tests/test_reader.py::test_extract_text_xref_issue_2 PASSED              [ 
> 59%]
> tests/test_reader.py::test_extract_text_xref_issue_3 PASSED              [ 
> 59%]
> tests/test_reader.py::test_extract_text_pdf15 PASSED                     [ 
> 59%]
> tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf PASSED  [ 
> 59%]
> tests/test_reader.py::test_get_fields PASSED                             [ 
> 59%]
> tests/test_reader.py::test_get_fields_read_else_block PASSED             [ 
> 60%]
> tests/test_reader.py::test_get_fields_read_else_block2 PASSED            [ 
> 60%]
> tests/test_reader.py::test_get_fields_read_else_block3 PASSED            [ 
> 60%]
> tests/test_reader.py::test_metadata_is_none PASSED                       [ 
> 60%]
> tests/test_reader.py::test_get_fields_read_write_report PASSED           [ 
> 60%]
> tests/test_reader.py::test_xfa[src0] PASSED                              [ 
> 60%]
> tests/test_reader.py::test_xfa[src1] PASSED                              [ 
> 61%]
> tests/test_reader.py::test_xfa_non_empty PASSED                          [ 
> 61%]
> tests/test_reader.py::test_header[src0-%PDF-1.5] PASSED                  [ 
> 61%]
> tests/test_reader.py::test_header[src1-%PDF-1.5] PASSED                  [ 
> 61%]
> tests/test_reader.py::test_outline_color PASSED                          [ 
> 61%]
> tests/test_reader.py::test_outline_font_format PASSED                    [ 
> 61%]
> tests/test_reader.py::test_outline_title_issue_1121 PASSED               [ 
> 62%]
> tests/test_reader.py::test_outline_count PASSED                          [ 
> 62%]
> tests/test_reader.py::test_outline_missing_title PASSED                  [ 
> 62%]
> tests/test_reader.py::test_named_destination PASSED                      [ 
> 62%]
> tests/test_reader.py::test_outline_with_missing_named_destination PASSED [ 
> 62%]
> tests/test_reader.py::test_outline_with_empty_action PASSED              [ 
> 63%]
> tests/test_reader.py::test_outline_with_invalid_destinations PASSED      [ 
> 63%]
> tests/test_reader.py::test_PdfReaderMultipleDefinitions PASSED           [ 
> 63%]
> tests/test_reader.py::test_wrong_password_error PASSED                   [ 
> 63%]
> tests/test_reader.py::test_get_page_number_by_indirect PASSED            [ 
> 63%]
> tests/test_reader.py::test_corrupted_xref_table PASSED                   [ 
> 63%]
> tests/test_reader.py::test_reader PASSED                                 [ 
> 64%]
> tests/test_reader.py::test_zeroing_xref PASSED                           [ 
> 64%]
> tests/test_reader.py::test_thread PASSED                                 [ 
> 64%]
> tests/test_reader.py::test_build_outline_item PASSED                     [ 
> 64%]
> tests/test_security.py::test_alg32_metadata_encrypt PASSED               [ 
> 64%]
> tests/test_security.py::test_alg32_no_metadata_encrypt PASSED            [ 
> 64%]
> tests/test_utils.py::test_skip_over_whitespace[stream0-False] PASSED     [ 
> 65%]
> tests/test_utils.py::test_skip_over_whitespace[stream1-False] PASSED     [ 
> 65%]
> tests/test_utils.py::test_skip_over_whitespace[stream2-True] PASSED      [ 
> 65%]
> tests/test_utils.py::test_skip_over_whitespace[stream3-True] PASSED      [ 
> 65%]
> tests/test_utils.py::test_skip_over_whitespace[stream4-True] PASSED      [ 
> 65%]
> tests/test_utils.py::test_skip_over_whitespace[stream5-True] PASSED      [ 
> 65%]
> tests/test_utils.py::test_read_until_whitespace PASSED                   [ 
> 66%]
> tests/test_utils.py::test_skip_over_comment[stream0-] PASSED             [ 
> 66%]
> tests/test_utils.py::test_skip_over_comment[stream1-] PASSED             [ 
> 66%]
> tests/test_utils.py::test_skip_over_comment[stream2- ] PASSED            [ 
> 66%]
> tests/test_utils.py::test_skip_over_comment[stream3-bar] PASSED          [ 
> 66%]
> tests/test_utils.py::test_read_until_regex_premature_ending_raise PASSED [ 
> 66%]
> tests/test_utils.py::test_read_until_regex_premature_ending_name PASSED  [ 
> 67%]
> tests/test_utils.py::test_matrix_multiply[a0-b0-expected0] PASSED        [ 
> 67%]
> tests/test_utils.py::test_matrix_multiply[a1-b1-expected1] PASSED        [ 
> 67%]
> tests/test_utils.py::test_matrix_multiply[a2-b2-expected2] PASSED        [ 
> 67%]
> tests/test_utils.py::test_mark_location PASSED                           [ 
> 67%]
> tests/test_utils.py::test_hex_str PASSED                                 [ 
> 67%]
> tests/test_utils.py::test_b PASSED                                       [ 
> 68%]
> tests/test_utils.py::test_deprecate_no_replacement PASSED                [ 
> 68%]
> tests/test_utils.py::test_paeth_predictor[0-0-0-0] PASSED                [ 
> 68%]
> tests/test_utils.py::test_paeth_predictor[1-0-0-1] PASSED                [ 
> 68%]
> tests/test_utils.py::test_paeth_predictor[0-1-0-1] PASSED                [ 
> 68%]
> tests/test_utils.py::test_paeth_predictor[0-0-1-0] PASSED                [ 
> 68%]
> tests/test_utils.py::test_paeth_predictor[1-2-3-1] PASSED                [ 
> 69%]
> tests/test_utils.py::test_paeth_predictor[2-1-3-1] PASSED                [ 
> 69%]
> tests/test_utils.py::test_paeth_predictor[1-3-2-2] PASSED                [ 
> 69%]
> tests/test_utils.py::test_paeth_predictor[3-1-2-2] PASSED                [ 
> 69%]
> tests/test_utils.py::test_paeth_predictor[3-2-1-3] PASSED                [ 
> 69%]
> tests/test_utils.py::test_read_block_backwards_errs[-0-1] PASSED         [ 
> 69%]
> tests/test_utils.py::test_read_block_backwards_errs[a-0-1] PASSED        [ 
> 70%]
> tests/test_utils.py::test_read_block_backwards_errs[abc-0-10] PASSED     [ 
> 70%]
> tests/test_utils.py::test_read_block_backwards[abc-1-0--1] PASSED        [ 
> 70%]
> tests/test_utils.py::test_read_block_backwards[abc-1-1-a-0] PASSED       [ 
> 70%]
> tests/test_utils.py::test_read_block_backwards[abc-2-1-b-1] PASSED       [ 
> 70%]
> tests/test_utils.py::test_read_block_backwards[abc-2-2-ab-0] PASSED      [ 
> 70%]
> tests/test_utils.py::test_read_block_backwards[abc-3-1-c-2] PASSED       [ 
> 71%]
> tests/test_utils.py::test_read_block_backwards[abc-3-2-bc-1] PASSED      [ 
> 71%]
> tests/test_utils.py::test_read_block_backwards[abc-3-3-abc-0] PASSED     [ 
> 71%]
> tests/test_utils.py::test_read_block_backwards_at_start PASSED           [ 
> 71%]
> tests/test_utils.py::test_read_previous_line[0] PASSED                   [ 
> 71%]
> tests/test_utils.py::test_read_previous_line[1] PASSED                   [ 
> 71%]
> tests/test_utils.py::test_read_previous_line[2] PASSED                   [ 
> 72%]
> tests/test_utils.py::test_read_previous_line[3] PASSED                   [ 
> 72%]
> tests/test_utils.py::test_read_previous_line[4] PASSED                   [ 
> 72%]
> tests/test_utils.py::test_read_previous_line[5] PASSED                   [ 
> 72%]
> tests/test_utils.py::test_read_previous_line[6] PASSED                   [ 
> 72%]
> tests/test_utils.py::test_read_previous_line[7] PASSED                   [ 
> 72%]
> tests/test_utils.py::test_read_previous_line2 PASSED                     [ 
> 73%]
> tests/test_utils.py::test_get_max_pdf_version_header PASSED              [ 
> 73%]
> tests/test_utils.py::test_read_block_backwards_exception PASSED          [ 
> 73%]
> tests/test_utils.py::test_deprecate_bookmark PASSED                      [ 
> 73%]
> tests/test_utils.py::test_escapedcode_followed_by_int PASSED             [ 
> 73%]
> tests/test_utils.py::test_human_readable_bytes[123-123 Byte] PASSED      [ 
> 73%]
> tests/test_utils.py::test_human_readable_bytes[1234-1.2 kB] PASSED       [ 
> 74%]
> tests/test_utils.py::test_human_readable_bytes[123456-123.5 kB] PASSED   [ 
> 74%]
> tests/test_utils.py::test_human_readable_bytes[1234567-1.2 MB] PASSED    [ 
> 74%]
> tests/test_utils.py::test_human_readable_bytes[1234567890-1.2 GB] PASSED [ 
> 74%]
> tests/test_utils.py::test_human_readable_bytes[1234567890000-1234.6 GB] 
> PASSED [ 74%]
> tests/test_utils.py::test_file PASSED                                    [ 
> 75%]
> tests/test_workflows.py::test_basic_features PASSED                      [ 
> 75%]
> tests/test_workflows.py::test_dropdown_items PASSED                      [ 
> 75%]
> tests/test_workflows.py::test_PdfReaderFileLoad PASSED                   [ 
> 75%]
> tests/test_workflows.py::test_PdfReaderJpegImage PASSED                  [ 
> 75%]
> tests/test_workflows.py::test_decrypt PASSED                             [ 
> 75%]
> tests/test_workflows.py::test_text_extraction_encrypted PASSED           [ 
> 76%]
> tests/test_workflows.py::test_rotate[0] PASSED                           [ 
> 76%]
> tests/test_workflows.py::test_rotate[90] PASSED                          [ 
> 76%]
> tests/test_workflows.py::test_rotate[180] PASSED                         [ 
> 76%]
> tests/test_workflows.py::test_rotate[270] PASSED                         [ 
> 76%]
> tests/test_workflows.py::test_rotate[360] PASSED                         [ 
> 76%]
> tests/test_workflows.py::test_rotate[-90] PASSED                         [ 
> 77%]
> tests/test_workflows.py::test_rotate_45 PASSED                           [ 
> 77%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00214.pdf-pages0]
>  PASSED [ 77%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/sample-files/raw/main/009-pdflatex-geotopo/GeoTopo.pdf-pages1]
>  PASSED [ 77%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00151.pdf-pages2]
>  PASSED [ 77%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/1707.09725.pdf-pages3]
>  PASSED [ 77%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00021.pdf-pages4]
>  PASSED [ 78%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00037.pdf-pages5]
>  PASSED [ 78%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00069.pdf-pages6]
>  PASSED [ 78%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00178.pdf-pages7]
>  PASSED [ 78%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00201.pdf-pages8]
>  PASSED [ 78%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/1602.06541.pdf-pages9]
>  PASSED [ 78%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00200.pdf-pages10]
>  PASSED [ 79%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00022.pdf-pages11]
>  PASSED [ 79%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/2201.00029.pdf-pages12]
>  PASSED [ 79%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/9174594/2017.pdf-pages13]
>  PASSED [ 79%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/9175966/2015._pb_decode_pg0.pdf-pages14]
>  PASSED [ 79%]
> tests/test_workflows.py::test_extract_textbench[True-https://arxiv.org/pdf/1601.03642.pdf-pages15]
>  PASSED [ 79%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/3796761/17343_2008_Order_09-Jan-2019.pdf-pages16]
>  PASSED [ 80%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/8884471/ssi_manwaring.pdf-pages17]
>  PASSED [ 80%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/8884469/999092.pdf-pages18]
>  PASSED [ 80%]
> tests/test_workflows.py::test_extract_textbench[True-file:///<<PKGBUILDDIR>>/resources/test
>  Orient.pdf-pages19] PASSED [ 80%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/8884470/fdocuments.in_sweet-fundamentals-of-crystallography.pdf-pages20]
>  PASSED [ 80%]
> tests/test_workflows.py::test_extract_textbench[True-https://github.com/py-pdf/PyPDF2/files/8884493/998167.pdf-pages21]
>  PASSED [ 80%]
> tests/test_workflows.py::test_extract_textbench[True-https://corpora.tika.apache.org/base/docs/govdocs1/971/971703.pdf-pages22]
>  PASSED [ 81%]
> tests/test_workflows.py::test_extract_textbench[True-https://corpora.tika.apache.org/base/docs/govdocs1/989/989691.pdf-pages23]
>  PASSED [ 81%]
> tests/test_workflows.py::test_orientations PASSED                        [ 
> 81%]
> tests/test_workflows.py::test_overlay[resources/crazyones.pdf-sample-files/013-reportlab-overlay/reportlab-overlay.pdf]
>  PASSED [ 81%]
> tests/test_workflows.py::test_overlay[https://corpora.tika.apache.org/base/docs/govdocs1/935/935981.pdf-sample-files/013-reportlab-overlay/reportlab-overlay.pdf]
>  PASSED [ 81%]
> tests/test_workflows.py::test_merge_with_warning[https://corpora.tika.apache.org/base/docs/govdocs1/924/924546.pdf-tika-924546.pdf]
>  PASSED [ 81%]
> tests/test_workflows.py::test_merge[https://corpora.tika.apache.org/base/docs/govdocs1/980/980613.pdf-tika-980613.pdf]
>  PASSED [ 82%]
> tests/test_workflows.py::test_get_metadata[https://corpora.tika.apache.org/base/docs/govdocs1/935/935996.pdf-tika-935996.pdf]
>  PASSED [ 82%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/938/938702.pdf-tika-938702.pdf-False-None]
>  PASSED [ 82%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/942/942358.pdf-tika-942358.pdf-False-None]
>  PASSED [ 82%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/911/911260.pdf-tika-911260.pdf-False-None]
>  PASSED [ 82%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/992/992472.pdf-tika-992472.pdf-False-None]
>  PASSED [ 82%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/978/978477.pdf-tika-978477.pdf-False-None]
>  PASSED [ 83%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/960/960317.pdf-tika-960317.pdf-False-None]
>  PASSED [ 83%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/930/930513.pdf-tika-930513.pdf-False-None]
>  PASSED [ 83%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/918/918113.pdf-tika-918113.pdf-True-None]
>  PASSED [ 83%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/940/940704.pdf-tika-940704.pdf-True-None]
>  PASSED [ 83%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/976/976488.pdf-tika-976488.pdf-True-None]
>  PASSED [ 83%]
> tests/test_workflows.py::test_extract_text[https://corpora.tika.apache.org/base/docs/govdocs1/948/948176.pdf-tika-948176.pdf-True-None]
>  PASSED [ 84%]
> tests/test_workflows.py::test_compress_raised[https://corpora.tika.apache.org/base/docs/govdocs1/938/938702.pdf-tika-938702.pdf]
>  PASSED [ 84%]
> tests/test_workflows.py::test_compress_raised[https://corpora.tika.apache.org/base/docs/govdocs1/957/957304.pdf-tika-957304.pdf]
>  PASSED [ 84%]
> tests/test_workflows.py::test_compress[https://corpora.tika.apache.org/base/docs/govdocs1/915/915194.pdf-tika-915194.pdf-False]
>  PASSED [ 84%]
> tests/test_workflows.py::test_compress[https://corpora.tika.apache.org/base/docs/govdocs1/950/950337.pdf-tika-950337.pdf-False]
>  PASSED [ 84%]
> tests/test_workflows.py::test_compress[https://corpora.tika.apache.org/base/docs/govdocs1/962/962292.pdf-tika-962292.pdf-True]
>  PASSED [ 84%]
> tests/test_workflows.py::test_get_fields_warns[https://corpora.tika.apache.org/base/docs/govdocs1/961/961883.pdf-tika-961883.pdf]
>  PASSED [ 85%]
> tests/test_workflows.py::test_get_fields_no_warning[https://corpora.tika.apache.org/base/docs/govdocs1/942/942050.pdf-tika-942050.pdf]
>  PASSED [ 85%]
> tests/test_workflows.py::test_scale_rectangle_indirect_object PASSED     [ 
> 85%]
> tests/test_workflows.py::test_merge_output PASSED                        [ 
> 85%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/994/994636.pdf-tika-994636.pdf]
>  PASSED [ 85%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/952/952133.pdf-tika-952133.pdf]
>  PASSED [ 85%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/914/914568.pdf-tika-914568.pdf]
>  PASSED [ 86%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/952/952016.pdf-tika-952016.pdf]
>  PASSED [ 86%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/965/965118.pdf-tika-952016.pdf]
>  PASSED [ 86%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/959/959184.pdf-tika-959184.pdf]
>  PASSED [ 86%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/958/958496.pdf-tika-958496.pdf]
>  PASSED [ 86%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/972/972174.pdf-tika-972174.pdf]
>  PASSED [ 86%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/972/972243.pdf-tika-972243.pdf]
>  PASSED [ 87%]
> tests/test_workflows.py::test_image_extraction[https://corpora.tika.apache.org/base/docs/govdocs1/969/969502.pdf-tika-969502.pdf]
>  PASSED [ 87%]
> tests/test_workflows.py::test_image_extraction[https://arxiv.org/pdf/2201.00214.pdf-arxiv-2201.00214.pdf]
>  PASSED [ 87%]
> tests/test_workflows.py::test_image_extraction_strict PASSED             [ 
> 87%]
> tests/test_workflows.py::test_image_extraction2[https://corpora.tika.apache.org/base/docs/govdocs1/977/977609.pdf-tika-977609.pdf]
>  PASSED [ 87%]
> tests/test_workflows.py::test_get_outline[https://corpora.tika.apache.org/base/docs/govdocs1/918/918137.pdf-tika-918137.pdf]
>  PASSED [ 88%]
> tests/test_workflows.py::test_get_outline[https://unglueit-files.s3.amazonaws.com/ebf/7552c42e9280b4476e59e77acc0bc812.pdf-7552c42e9280b4476e59e77acc0bc812.pdf]
>  PASSED [ 88%]
> tests/test_workflows.py::test_get_xfa[https://corpora.tika.apache.org/base/docs/govdocs1/935/935981.pdf-tika-935981.pdf]
>  PASSED [ 88%]
> tests/test_workflows.py::test_get_xfa[https://corpora.tika.apache.org/base/docs/govdocs1/937/937334.pdf-tika-937334.pdf]
>  PASSED [ 88%]
> tests/test_workflows.py::test_get_fonts[https://corpora.tika.apache.org/base/docs/govdocs1/988/988698.pdf-tika-988698.pdf-False]
>  PASSED [ 88%]
> tests/test_workflows.py::test_get_fonts[https://corpora.tika.apache.org/base/docs/govdocs1/914/914133.pdf-tika-988698.pdf-False]
>  PASSED [ 88%]
> tests/test_workflows.py::test_get_fonts[https://corpora.tika.apache.org/base/docs/govdocs1/912/912552.pdf-tika-912552.pdf-False]
>  PASSED [ 89%]
> tests/test_workflows.py::test_get_fonts[https://corpora.tika.apache.org/base/docs/govdocs1/914/914102.pdf-tika-914102.pdf-True]
>  PASSED [ 89%]
> tests/test_workflows.py::test_get_xmp[https://corpora.tika.apache.org/base/docs/govdocs1/942/942303.pdf-tika-942303.pdf-True]
>  PASSED [ 89%]
> tests/test_workflows.py::test_get_xmp[https://corpora.tika.apache.org/base/docs/govdocs1/935/935981.pdf-tika-935981.pdf-True]
>  PASSED [ 89%]
> tests/test_workflows.py::test_get_xmp[https://corpora.tika.apache.org/base/docs/govdocs1/967/967399.pdf-tika-967399.pdf-True]
>  PASSED [ 89%]
> tests/test_workflows.py::test_get_xmp[https://corpora.tika.apache.org/base/docs/govdocs1/935/935981.pdf-tika-935981.pdf-False]
>  PASSED [ 89%]
> tests/test_workflows.py::test_tounicode_is_identity PASSED               [ 
> 90%]
> tests/test_writer.py::test_writer_exception_non_binary PASSED            [ 
> 90%]
> tests/test_writer.py::test_writer_clone PASSED                           [ 
> 90%]
> tests/test_writer.py::test_writer_operations_by_traditional_usage[dont_commit_writer.pdf-True]
>  PASSED [ 90%]
> tests/test_writer.py::test_writer_operations_by_traditional_usage[write_data_here1-True]
>  PASSED [ 90%]
> tests/test_writer.py::test_writer_operations_by_traditional_usage[write_data_here2-False]
>  PASSED [ 90%]
> tests/test_writer.py::test_writer_operations_by_semi_traditional_usage[dont_commit_writer.pdf-True]
>  PASSED [ 91%]
> tests/test_writer.py::test_writer_operations_by_semi_traditional_usage[write_data_here1-True]
>  PASSED [ 91%]
> tests/test_writer.py::test_writer_operations_by_semi_traditional_usage[write_data_here2-False]
>  PASSED [ 91%]
> tests/test_writer.py::test_writer_operations_by_semi_new_traditional_usage[dont_commit_writer.pdf-True]
>  PASSED [ 91%]
> tests/test_writer.py::test_writer_operations_by_semi_new_traditional_usage[write_data_here1-True]
>  PASSED [ 91%]
> tests/test_writer.py::test_writer_operations_by_semi_new_traditional_usage[write_data_here2-False]
>  PASSED [ 91%]
> tests/test_writer.py::test_writer_operation_by_new_usage[dont_commit_writer.pdf-True]
>  PASSED [ 92%]
> tests/test_writer.py::test_writer_operation_by_new_usage[write_data_here1-True]
>  PASSED [ 92%]
> tests/test_writer.py::test_writer_operation_by_new_usage[write_data_here2-False]
>  PASSED [ 92%]
> tests/test_writer.py::test_remove_images[side-by-side-subfig.pdf-False] 
> PASSED [ 92%]
> tests/test_writer.py::test_remove_images[reportlab-inline-image.pdf-True] 
> PASSED [ 92%]
> tests/test_writer.py::test_remove_text[side-by-side-subfig.pdf-False] PASSED 
> [ 92%]
> tests/test_writer.py::test_remove_text[side-by-side-subfig.pdf-True] PASSED [ 
> 93%]
> tests/test_writer.py::test_remove_text[reportlab-inline-image.pdf-False] 
> PASSED [ 93%]
> tests/test_writer.py::test_remove_text[reportlab-inline-image.pdf-True] 
> PASSED [ 93%]
> tests/test_writer.py::test_remove_text_all_operators[False] PASSED       [ 
> 93%]
> tests/test_writer.py::test_remove_text_all_operators[True] PASSED        [ 
> 93%]
> tests/test_writer.py::test_write_metadata PASSED                         [ 
> 93%]
> tests/test_writer.py::test_fill_form PASSED                              [ 
> 94%]
> tests/test_writer.py::test_encrypt[True-userpwd-ownerpwd] PASSED         [ 
> 94%]
> tests/test_writer.py::test_encrypt[False-userpwd-ownerpwd] PASSED        [ 
> 94%]
> tests/test_writer.py::test_add_outline_item PASSED                       [ 
> 94%]
> tests/test_writer.py::test_add_named_destination PASSED                  [ 
> 94%]
> tests/test_writer.py::test_add_uri PASSED                                [ 
> 94%]
> tests/test_writer.py::test_add_link PASSED                               [ 
> 95%]
> tests/test_writer.py::test_io_streams PASSED                             [ 
> 95%]
> tests/test_writer.py::test_regression_issue670 PASSED                    [ 
> 95%]
> tests/test_writer.py::test_issue301 PASSED                               [ 
> 95%]
> tests/test_writer.py::test_append_pages_from_reader_append PASSED        [ 
> 95%]
> tests/test_writer.py::test_sweep_indirect_references_nullobject_exception 
> PASSED [ 95%]
> tests/test_writer.py::test_write_outline_item_on_page_fitv PASSED        [ 
> 96%]
> tests/test_writer.py::test_pdf_header PASSED                             [ 
> 96%]
> tests/test_writer.py::test_write_dict_stream_object PASSED               [ 
> 96%]
> tests/test_writer.py::test_add_single_annotation PASSED                  [ 
> 96%]
> tests/test_writer.py::test_deprecate_bookmark_decorator PASSED           [ 
> 96%]
> tests/test_writer.py::test_colors_in_outline_item PASSED                 [ 
> 96%]
> tests/test_writer.py::test_write_empty_stream PASSED                     [ 
> 97%]
> tests/test_writer.py::test_startup_dest PASSED                           [ 
> 97%]
> tests/test_writer.py::test_threads_empty PASSED                          [ 
> 97%]
> tests/test_xmp.py::test_read_xmp[src0-True] PASSED                       [ 
> 97%]
> tests/test_xmp.py::test_read_xmp[src1-False] PASSED                      [ 
> 97%]
> tests/test_xmp.py::test_regression_issue774 PASSED                       [ 
> 97%]
> tests/test_xmp.py::test_regression_issue914 PASSED                       [ 
> 98%]
> tests/test_xmp.py::test_identity[a] PASSED                               [ 
> 98%]
> tests/test_xmp.py::test_identity[42] PASSED                              [ 
> 98%]
> tests/test_xmp.py::test_identity[3.141] PASSED                           [ 
> 98%]
> tests/test_xmp.py::test_identity[False] PASSED                           [ 
> 98%]
> tests/test_xmp.py::test_identity[True] PASSED                            [ 
> 98%]
> tests/test_xmp.py::test_xmpmm[https://corpora.tika.apache.org/base/docs/govdocs1/955/955562.pdf-tika-955562.pdf-uuid:ca96e032-c2af-49bd-a71c-95889bafbf1d]
>  PASSED [ 99%]
> tests/test_xmp.py::test_dc_description PASSED                            [ 
> 99%]
> tests/test_xmp.py::test_dc_creator PASSED                                [ 
> 99%]
> tests/test_xmp.py::test_custom_properties PASSED                         [ 
> 99%]
> tests/test_xmp.py::test_dc_subject PASSED                                [ 
> 99%]
> tests/test_xmp.py::test_issue585 PASSED                                  
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ___________________ test_get_images_raw[True-True--1-True-] 
> ____________________
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2dd02f090>
> strict = True, with_prev_0 = True, startx_correction = -1, should_fail = True
> warning_msgs = ''
> 
>     @pytest.mark.parametrize(
>         ("strict", "with_prev_0", "startx_correction", "should_fail", 
> "warning_msgs"),
>         [
>             (
>                 True,
>                 False,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "Xref table not zero-indexed. "
>                     "ID numbers for objects will be corrected.",
>                 ],
>             ),  # all nominal => no fail
>             (True, True, -1, True, ""),  # Prev=0 => fail expected
>             (
>                 False,
>                 False,
>                 -1,
>                 False,
>                 ["startxref on same line as offset"],
>             ),
>             (
>                 False,
>                 True,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "/Prev=0 in the trailer - assuming there is no previous 
> xref table",
>                 ],
>             ),  # Prev =0 => no strict so tolerant
>             (True, False, 0, True, ""),  # error on startxref, in strict => 
> fail expected
>             (True, True, 0, True, ""),
>             (
>                 False,
>                 False,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),  # error on startxref, but no strict => xref rebuilt,no fail
>             (
>                 False,
>                 True,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),
>         ],
>     )
>     def test_get_images_raw(
>         caplog, strict, with_prev_0, startx_correction, should_fail, 
> warning_msgs
>     ):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             # startx_correction should be -1 due to double % at the beginning
>             # inducing an error on startxref computation
>             pdf_data.find(b"xref") + startx_correction,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         if should_fail:
>             with pytest.raises(PdfReadError) as exc, 
> pytest.warns(PdfReadWarning):
> >               PdfReader(pdf_stream, strict=strict)
> 
> tests/test_reader.py:316: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> PyPDF2/_reader.py:317: in __init__
>     self.read(stream)
> PyPDF2/_reader.py:1420: in read
>     self._read_xref_tables_and_trailers(stream, startxref, xref_issue_nr)
> PyPDF2/_reader.py:1641: in _read_xref_tables_and_trailers
>     startxref = self._read_xref_other_error(stream, startxref)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <PyPDF2._reader.PdfReader object at 0x7fe2dd02f5d0>
> stream = <_io.BytesIO object at 0x7fe2de01f510>, startxref = 0
> 
>     def _read_xref_other_error(
>         self, stream: StreamType, startxref: int
>     ) -> Optional[int]:
>         # some PDFs have /Prev=0 in the trailer, instead of no /Prev
>         if startxref == 0:
>             if self.strict:
> >               raise PdfReadError(
>                     "/Prev=0 in the trailer (try opening with strict=False)"
>                 )
> E               PyPDF2.errors.PdfReadError: /Prev=0 in the trailer (try 
> opening with strict=False)
> 
> PyPDF2/_reader.py:1674: PdfReadError
> 
> During handling of the above exception, another exception occurred:
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2dd02f090>
> strict = True, with_prev_0 = True, startx_correction = -1, should_fail = True
> warning_msgs = ''
> 
>     @pytest.mark.parametrize(
>         ("strict", "with_prev_0", "startx_correction", "should_fail", 
> "warning_msgs"),
>         [
>             (
>                 True,
>                 False,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "Xref table not zero-indexed. "
>                     "ID numbers for objects will be corrected.",
>                 ],
>             ),  # all nominal => no fail
>             (True, True, -1, True, ""),  # Prev=0 => fail expected
>             (
>                 False,
>                 False,
>                 -1,
>                 False,
>                 ["startxref on same line as offset"],
>             ),
>             (
>                 False,
>                 True,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "/Prev=0 in the trailer - assuming there is no previous 
> xref table",
>                 ],
>             ),  # Prev =0 => no strict so tolerant
>             (True, False, 0, True, ""),  # error on startxref, in strict => 
> fail expected
>             (True, True, 0, True, ""),
>             (
>                 False,
>                 False,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),  # error on startxref, but no strict => xref rebuilt,no fail
>             (
>                 False,
>                 True,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),
>         ],
>     )
>     def test_get_images_raw(
>         caplog, strict, with_prev_0, startx_correction, should_fail, 
> warning_msgs
>     ):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             # startx_correction should be -1 due to double % at the beginning
>             # inducing an error on startxref computation
>             pdf_data.find(b"xref") + startx_correction,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         if should_fail:
> >           with pytest.raises(PdfReadError) as exc, 
> > pytest.warns(PdfReadWarning):
> E           Failed: DID NOT WARN. No warnings of type (<class 
> 'PyPDF2.errors.PdfReadWarning'>,) were emitted.
> E            Emitted warnings: [].
> 
> tests/test_reader.py:315: Failed
> ------------------------------ Captured log call 
> -------------------------------
> WARNING  PyPDF2._reader:_utils.py:375 startxref on same line as offset
> WARNING  PyPDF2._reader:_utils.py:375 Xref table not zero-indexed. ID numbers 
> for objects will be corrected.
> ___________________ test_get_images_raw[True-False-0-True-] 
> ____________________
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2dd020a10>
> strict = True, with_prev_0 = False, startx_correction = 0, should_fail = True
> warning_msgs = ''
> 
>     @pytest.mark.parametrize(
>         ("strict", "with_prev_0", "startx_correction", "should_fail", 
> "warning_msgs"),
>         [
>             (
>                 True,
>                 False,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "Xref table not zero-indexed. "
>                     "ID numbers for objects will be corrected.",
>                 ],
>             ),  # all nominal => no fail
>             (True, True, -1, True, ""),  # Prev=0 => fail expected
>             (
>                 False,
>                 False,
>                 -1,
>                 False,
>                 ["startxref on same line as offset"],
>             ),
>             (
>                 False,
>                 True,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "/Prev=0 in the trailer - assuming there is no previous 
> xref table",
>                 ],
>             ),  # Prev =0 => no strict so tolerant
>             (True, False, 0, True, ""),  # error on startxref, in strict => 
> fail expected
>             (True, True, 0, True, ""),
>             (
>                 False,
>                 False,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),  # error on startxref, but no strict => xref rebuilt,no fail
>             (
>                 False,
>                 True,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),
>         ],
>     )
>     def test_get_images_raw(
>         caplog, strict, with_prev_0, startx_correction, should_fail, 
> warning_msgs
>     ):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             # startx_correction should be -1 due to double % at the beginning
>             # inducing an error on startxref computation
>             pdf_data.find(b"xref") + startx_correction,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         if should_fail:
>             with pytest.raises(PdfReadError) as exc, 
> pytest.warns(PdfReadWarning):
> >               PdfReader(pdf_stream, strict=strict)
> 
> tests/test_reader.py:316: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> PyPDF2/_reader.py:317: in __init__
>     self.read(stream)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <PyPDF2._reader.PdfReader object at 0x7fe2dd020fd0>
> stream = <_io.BytesIO object at 0x7fe2de873970>
> 
>     def read(self, stream: StreamType) -> None:
>         self._basic_validation(stream)
>         self._find_eof_marker(stream)
>         startxref = self._find_startxref_pos(stream)
>     
>         # check and eventually correct the startxref only in not strict
>         xref_issue_nr = self._get_xref_issues(stream, startxref)
>         if xref_issue_nr != 0:
>             if self.strict and xref_issue_nr:
> >               raise PdfReadError("Broken xref table")
> E               PyPDF2.errors.PdfReadError: Broken xref table
> 
> PyPDF2/_reader.py:1416: PdfReadError
> 
> During handling of the above exception, another exception occurred:
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2dd020a10>
> strict = True, with_prev_0 = False, startx_correction = 0, should_fail = True
> warning_msgs = ''
> 
>     @pytest.mark.parametrize(
>         ("strict", "with_prev_0", "startx_correction", "should_fail", 
> "warning_msgs"),
>         [
>             (
>                 True,
>                 False,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "Xref table not zero-indexed. "
>                     "ID numbers for objects will be corrected.",
>                 ],
>             ),  # all nominal => no fail
>             (True, True, -1, True, ""),  # Prev=0 => fail expected
>             (
>                 False,
>                 False,
>                 -1,
>                 False,
>                 ["startxref on same line as offset"],
>             ),
>             (
>                 False,
>                 True,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "/Prev=0 in the trailer - assuming there is no previous 
> xref table",
>                 ],
>             ),  # Prev =0 => no strict so tolerant
>             (True, False, 0, True, ""),  # error on startxref, in strict => 
> fail expected
>             (True, True, 0, True, ""),
>             (
>                 False,
>                 False,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),  # error on startxref, but no strict => xref rebuilt,no fail
>             (
>                 False,
>                 True,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),
>         ],
>     )
>     def test_get_images_raw(
>         caplog, strict, with_prev_0, startx_correction, should_fail, 
> warning_msgs
>     ):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             # startx_correction should be -1 due to double % at the beginning
>             # inducing an error on startxref computation
>             pdf_data.find(b"xref") + startx_correction,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         if should_fail:
> >           with pytest.raises(PdfReadError) as exc, 
> > pytest.warns(PdfReadWarning):
> E           Failed: DID NOT WARN. No warnings of type (<class 
> 'PyPDF2.errors.PdfReadWarning'>,) were emitted.
> E            Emitted warnings: [].
> 
> tests/test_reader.py:315: Failed
> ------------------------------ Captured log call 
> -------------------------------
> WARNING  PyPDF2._reader:_utils.py:375 startxref on same line as offset
> ____________________ test_get_images_raw[True-True-0-True-] 
> ____________________
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2de0a0850>
> strict = True, with_prev_0 = True, startx_correction = 0, should_fail = True
> warning_msgs = ''
> 
>     @pytest.mark.parametrize(
>         ("strict", "with_prev_0", "startx_correction", "should_fail", 
> "warning_msgs"),
>         [
>             (
>                 True,
>                 False,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "Xref table not zero-indexed. "
>                     "ID numbers for objects will be corrected.",
>                 ],
>             ),  # all nominal => no fail
>             (True, True, -1, True, ""),  # Prev=0 => fail expected
>             (
>                 False,
>                 False,
>                 -1,
>                 False,
>                 ["startxref on same line as offset"],
>             ),
>             (
>                 False,
>                 True,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "/Prev=0 in the trailer - assuming there is no previous 
> xref table",
>                 ],
>             ),  # Prev =0 => no strict so tolerant
>             (True, False, 0, True, ""),  # error on startxref, in strict => 
> fail expected
>             (True, True, 0, True, ""),
>             (
>                 False,
>                 False,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),  # error on startxref, but no strict => xref rebuilt,no fail
>             (
>                 False,
>                 True,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),
>         ],
>     )
>     def test_get_images_raw(
>         caplog, strict, with_prev_0, startx_correction, should_fail, 
> warning_msgs
>     ):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             # startx_correction should be -1 due to double % at the beginning
>             # inducing an error on startxref computation
>             pdf_data.find(b"xref") + startx_correction,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         if should_fail:
>             with pytest.raises(PdfReadError) as exc, 
> pytest.warns(PdfReadWarning):
> >               PdfReader(pdf_stream, strict=strict)
> 
> tests/test_reader.py:316: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> PyPDF2/_reader.py:317: in __init__
>     self.read(stream)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <PyPDF2._reader.PdfReader object at 0x7fe2de0a0210>
> stream = <_io.BytesIO object at 0x7fe2dd30b060>
> 
>     def read(self, stream: StreamType) -> None:
>         self._basic_validation(stream)
>         self._find_eof_marker(stream)
>         startxref = self._find_startxref_pos(stream)
>     
>         # check and eventually correct the startxref only in not strict
>         xref_issue_nr = self._get_xref_issues(stream, startxref)
>         if xref_issue_nr != 0:
>             if self.strict and xref_issue_nr:
> >               raise PdfReadError("Broken xref table")
> E               PyPDF2.errors.PdfReadError: Broken xref table
> 
> PyPDF2/_reader.py:1416: PdfReadError
> 
> During handling of the above exception, another exception occurred:
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2de0a0850>
> strict = True, with_prev_0 = True, startx_correction = 0, should_fail = True
> warning_msgs = ''
> 
>     @pytest.mark.parametrize(
>         ("strict", "with_prev_0", "startx_correction", "should_fail", 
> "warning_msgs"),
>         [
>             (
>                 True,
>                 False,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "Xref table not zero-indexed. "
>                     "ID numbers for objects will be corrected.",
>                 ],
>             ),  # all nominal => no fail
>             (True, True, -1, True, ""),  # Prev=0 => fail expected
>             (
>                 False,
>                 False,
>                 -1,
>                 False,
>                 ["startxref on same line as offset"],
>             ),
>             (
>                 False,
>                 True,
>                 -1,
>                 False,
>                 [
>                     "startxref on same line as offset",
>                     "/Prev=0 in the trailer - assuming there is no previous 
> xref table",
>                 ],
>             ),  # Prev =0 => no strict so tolerant
>             (True, False, 0, True, ""),  # error on startxref, in strict => 
> fail expected
>             (True, True, 0, True, ""),
>             (
>                 False,
>                 False,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),  # error on startxref, but no strict => xref rebuilt,no fail
>             (
>                 False,
>                 True,
>                 0,
>                 False,
>                 ["startxref on same line as offset", "incorrect startxref 
> pointer(1)"],
>             ),
>         ],
>     )
>     def test_get_images_raw(
>         caplog, strict, with_prev_0, startx_correction, should_fail, 
> warning_msgs
>     ):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             # startx_correction should be -1 due to double % at the beginning
>             # inducing an error on startxref computation
>             pdf_data.find(b"xref") + startx_correction,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         if should_fail:
> >           with pytest.raises(PdfReadError) as exc, 
> > pytest.warns(PdfReadWarning):
> E           Failed: DID NOT WARN. No warnings of type (<class 
> 'PyPDF2.errors.PdfReadWarning'>,) were emitted.
> E            Emitted warnings: [].
> 
> tests/test_reader.py:315: Failed
> ------------------------------ Captured log call 
> -------------------------------
> WARNING  PyPDF2._reader:_utils.py:375 startxref on same line as offset
> ___________________________ test_read_prev_0_trailer 
> ___________________________
> 
>     def test_read_prev_0_trailer():
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         with_prev_0 = True
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             pdf_data.find(b"xref") - 1,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
> >           PdfReader(pdf_stream, strict=True)
> 
> tests/test_reader.py:508: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> PyPDF2/_reader.py:317: in __init__
>     self.read(stream)
> PyPDF2/_reader.py:1420: in read
>     self._read_xref_tables_and_trailers(stream, startxref, xref_issue_nr)
> PyPDF2/_reader.py:1641: in _read_xref_tables_and_trailers
>     startxref = self._read_xref_other_error(stream, startxref)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <PyPDF2._reader.PdfReader object at 0x7fe2dcf80b90>
> stream = <_io.BytesIO object at 0x7fe2de08a160>, startxref = 0
> 
>     def _read_xref_other_error(
>         self, stream: StreamType, startxref: int
>     ) -> Optional[int]:
>         # some PDFs have /Prev=0 in the trailer, instead of no /Prev
>         if startxref == 0:
>             if self.strict:
> >               raise PdfReadError(
>                     "/Prev=0 in the trailer (try opening with strict=False)"
>                 )
> E               PyPDF2.errors.PdfReadError: /Prev=0 in the trailer (try 
> opening with strict=False)
> 
> PyPDF2/_reader.py:1674: PdfReadError
> 
> During handling of the above exception, another exception occurred:
> 
>     def test_read_prev_0_trailer():
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             b"5 0 obj << /Pages 1 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << %s/Root 5 0 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         with_prev_0 = True
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             b"/Prev 0 " if with_prev_0 else b"",
>             pdf_data.find(b"xref") - 1,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
> >       with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
> E       Failed: DID NOT WARN. No warnings of type (<class 
> 'PyPDF2.errors.PdfReadWarning'>,) were emitted.
> E        Emitted warnings: [].
> 
> tests/test_reader.py:507: Failed
> ------------------------------ Captured log call 
> -------------------------------
> WARNING  PyPDF2._reader:_utils.py:375 startxref on same line as offset
> WARNING  PyPDF2._reader:_utils.py:375 Xref table not zero-indexed. ID numbers 
> for objects will be corrected.
> _________________________ test_read_unknown_zero_pages 
> _________________________
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2de75b590>
> 
>     def test_read_unknown_zero_pages(caplog):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             # Pages 0 0 is the key point:
>             b"5 0 obj << /Pages 0 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << /Root 5 1 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             pdf_data.find(b"xref") - 1,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         reader = PdfReader(pdf_stream, strict=True)
>         warnings = [
>             "startxref on same line as offset",
>             "Xref table not zero-indexed. ID numbers for objects will be 
> corrected.",
>         ]
>         assert normalize_warnings(caplog.text) == warnings
>         with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
> >           len(reader.pages)
> 
> tests/test_reader.py:585: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> PyPDF2/_page.py:2047: in __len__
>     return self.length_function()
> PyPDF2/_reader.py:446: in _get_num_pages
>     self._flatten()
> PyPDF2/_reader.py:1097: in _flatten
>     catalog = self.trailer[TK.ROOT].get_object()
> PyPDF2/generic/_data_structures.py:150: in __getitem__
>     return dict.__getitem__(self, key).get_object()
> PyPDF2/generic/_base.py:164: in get_object
>     obj = self.pdf.get_object(self)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <PyPDF2._reader.PdfReader object at 0x7fe2de75b910>
> indirect_reference = IndirectObject(5, 1, 140612371593488)
> 
>     def get_object(
>         self, indirect_reference: Union[int, IndirectObject]
>     ) -> Optional[PdfObject]:
>         if isinstance(indirect_reference, int):
>             indirect_reference = IndirectObject(indirect_reference, 0, self)
>         retval = self.cache_get_indirect_object(
>             indirect_reference.generation, indirect_reference.idnum
>         )
>         if retval is not None:
>             return retval
>         if (
>             indirect_reference.generation == 0
>             and indirect_reference.idnum in self.xref_objStm
>         ):
>             retval = self._get_object_from_stream(indirect_reference)  # 
> type: ignore
>         elif (
>             indirect_reference.generation in self.xref
>             and indirect_reference.idnum in 
> self.xref[indirect_reference.generation]
>         ):
>             if self.xref_free_entry.get(indirect_reference.generation, 
> {}).get(
>                 indirect_reference.idnum, False
>             ):
>                 return NullObject()
>             start = 
> self.xref[indirect_reference.generation][indirect_reference.idnum]
>             self.stream.seek(start, 0)
>             try:
>                 idnum, generation = self.read_object_header(self.stream)
>             except Exception:
>                 if hasattr(self.stream, "getbuffer"):
>                     buf = bytes(self.stream.getbuffer())  # type: ignore
>                 else:
>                     p = self.stream.tell()
>                     self.stream.seek(0, 0)
>                     buf = self.stream.read(-1)
>                     self.stream.seek(p, 0)
>                 m = re.search(
>                     
> rf"\s{indirect_reference.idnum}\s+{indirect_reference.generation}\s+obj".encode(),
>                     buf,
>                 )
>                 if m is not None:
>                     logger_warning(
>                         f"Object ID 
> {indirect_reference.idnum},{indirect_reference.generation} ref repaired",
>                         __name__,
>                     )
>                     self.xref[indirect_reference.generation][
>                         indirect_reference.idnum
>                     ] = (m.start(0) + 1)
>                     self.stream.seek(m.start(0) + 1)
>                     idnum, generation = self.read_object_header(self.stream)
>                 else:
>                     idnum = -1  # exception will be raised below
>             if idnum != indirect_reference.idnum and self.xref_index:
>                 # Xref table probably had bad indexes due to not being 
> zero-indexed
>                 if self.strict:
>                     raise PdfReadError(
>                         f"Expected object ID ({indirect_reference.idnum} 
> {indirect_reference.generation}) "
>                         f"does not match actual ({idnum} {generation}); "
>                         "xref table not zero-indexed."
>                     )
>                 # xref table is corrected in non-strict mode
>             elif idnum != indirect_reference.idnum and self.strict:
>                 # some other problem
>                 raise PdfReadError(
>                     f"Expected object ID ({indirect_reference.idnum} "
>                     f"{indirect_reference.generation}) does not match actual "
>                     f"({idnum} {generation})."
>                 )
>             if self.strict:
>                 assert generation == indirect_reference.generation
>             retval = read_object(self.stream, self)  # type: ignore
>     
>             # override encryption is used for the /Encrypt dictionary
>             if not self._override_encryption and self._encryption is not None:
>                 # if we don't have the encryption key:
>                 if not self._encryption.is_decrypted():
>                     raise FileNotDecryptedError("File has not been decrypted")
>                 # otherwise, decrypt here...
>                 retval = cast(PdfObject, retval)
>                 retval = self._encryption.decrypt_object(
>                     retval, indirect_reference.idnum, 
> indirect_reference.generation
>                 )
>         else:
>             if hasattr(self.stream, "getbuffer"):
>                 buf = bytes(self.stream.getbuffer())  # type: ignore
>             else:
>                 p = self.stream.tell()
>                 self.stream.seek(0, 0)
>                 buf = self.stream.read(-1)
>                 self.stream.seek(p, 0)
>             m = re.search(
>                 
> rf"\s{indirect_reference.idnum}\s+{indirect_reference.generation}\s+obj".encode(),
>                 buf,
>             )
>             if m is not None:
>                 logger_warning(
>                     f"Object {indirect_reference.idnum} 
> {indirect_reference.generation} found",
>                     __name__,
>                 )
>                 if indirect_reference.generation not in self.xref:
>                     self.xref[indirect_reference.generation] = {}
>                 
> self.xref[indirect_reference.generation][indirect_reference.idnum] = (
>                     m.start(0) + 1
>                 )
>                 self.stream.seek(m.end(0) + 1)
>                 skip_over_whitespace(self.stream)
>                 self.stream.seek(-1, 1)
>                 retval = read_object(self.stream, self)  # type: ignore
>     
>                 # override encryption is used for the /Encrypt dictionary
>                 if not self._override_encryption and self._encryption is not 
> None:
>                     # if we don't have the encryption key:
>                     if not self._encryption.is_decrypted():
>                         raise FileNotDecryptedError("File has not been 
> decrypted")
>                     # otherwise, decrypt here...
>                     retval = cast(PdfObject, retval)
>                     retval = self._encryption.decrypt_object(
>                         retval, indirect_reference.idnum, 
> indirect_reference.generation
>                     )
>             else:
>                 logger_warning(
>                     f"Object {indirect_reference.idnum} 
> {indirect_reference.generation} not defined.",
>                     __name__,
>                 )
>                 if self.strict:
> >                   raise PdfReadError("Could not find object.")
> E                   PyPDF2.errors.PdfReadError: Could not find object.
> 
> PyPDF2/_reader.py:1311: PdfReadError
> 
> During handling of the above exception, another exception occurred:
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2de75b590>
> 
>     def test_read_unknown_zero_pages(caplog):
>         pdf_data = (
>             b"%%PDF-1.7\n"
>             b"1 0 obj << /Count 1 /Kids [4 0 R] /Type /Pages >> endobj\n"
>             b"2 0 obj << >> endobj\n"
>             b"3 0 obj << >> endobj\n"
>             b"4 0 obj << /Contents 3 0 R /CropBox [0.0 0.0 2550.0 3508.0]"
>             b" /MediaBox [0.0 0.0 2550.0 3508.0] /Parent 1 0 R"
>             b" /Resources << /Font << >> >>"
>             b" /Rotate 0 /Type /Page >> endobj\n"
>             # Pages 0 0 is the key point:
>             b"5 0 obj << /Pages 0 0 R /Type /Catalog >> endobj\n"
>             b"xref 1 5\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"%010d 00000 n\n"
>             b"trailer << /Root 5 1 R /Size 6 >>\n"
>             b"startxref %d\n"
>             b"%%%%EOF"
>         )
>         pdf_data = pdf_data % (
>             pdf_data.find(b"1 0 obj"),
>             pdf_data.find(b"2 0 obj"),
>             pdf_data.find(b"3 0 obj"),
>             pdf_data.find(b"4 0 obj"),
>             pdf_data.find(b"5 0 obj"),
>             pdf_data.find(b"xref") - 1,
>         )
>         pdf_stream = io.BytesIO(pdf_data)
>         reader = PdfReader(pdf_stream, strict=True)
>         warnings = [
>             "startxref on same line as offset",
>             "Xref table not zero-indexed. ID numbers for objects will be 
> corrected.",
>         ]
>         assert normalize_warnings(caplog.text) == warnings
> >       with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
> E       Failed: DID NOT WARN. No warnings of type (<class 
> 'PyPDF2.errors.PdfReadWarning'>,) were emitted.
> E        Emitted warnings: [].
> 
> tests/test_reader.py:584: Failed
> ------------------------------ Captured log call 
> -------------------------------
> WARNING  PyPDF2._reader:_utils.py:375 startxref on same line as offset
> WARNING  PyPDF2._reader:_utils.py:375 Xref table not zero-indexed. ID numbers 
> for objects will be corrected.
> WARNING  PyPDF2._reader:_utils.py:375 Object 5 1 not defined.
> _____________________________ test_issue604[True] 
> ______________________________
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2dd231a10>
> strict = True
> 
>     @pytest.mark.parametrize(
>         "strict",
>         [True, False],
>     )
>     def test_issue604(caplog, strict):
>         """Test with invalid destinations"""  # todo
>         with open(RESOURCE_ROOT / "issue-604.pdf", "rb") as f:
>             pdf = None
>             outline = None
>             if strict:
>                 pdf = PdfReader(f, strict=strict)
>                 with pytest.raises(PdfReadError) as exc, 
> pytest.warns(PdfReadWarning):
> >                   outline = pdf.outline
> 
> tests/test_reader.py:664: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> PyPDF2/_reader.py:739: in outline
>     return self._get_outline()
> PyPDF2/_reader.py:775: in _get_outline
>     outline_obj = self._build_outline_item(node)
> PyPDF2/_reader.py:939: in _build_outline_item
>     outline_item = self._build_destination(title, dest)
> PyPDF2/_reader.py:901: in _build_destination
>     return Destination(title, page, typ, *array)  # type: ignore
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = {'/Title': 'ms_Thyroid_2_2020_071520_watermarked.pdf', '/Page': 
> NullObject, '/Type': 0}
> title = 'ms_Thyroid_2_2020_071520_watermarked.pdf', page = NullObject, typ = 0
> args = (0, 1)
> 
>     def __init__(
>         self,
>         title: str,
>         page: Union[NumberObject, IndirectObject, NullObject, 
> DictionaryObject],
>         typ: Union[str, NumberObject],
>         *args: Any,  # ZoomArgType
>     ) -> None:
>         DictionaryObject.__init__(self)
>         self[NameObject("/Title")] = TextStringObject(title)
>         self[NameObject("/Page")] = page
>         self[NameObject("/Type")] = typ
>     
>         # from table 8.2 of the PDF 1.7 reference.
>         if typ == "/XYZ":
>             (
>                 self[NameObject(TA.LEFT)],
>                 self[NameObject(TA.TOP)],
>                 self[NameObject("/Zoom")],
>             ) = args
>         elif typ == TF.FIT_R:
>             (
>                 self[NameObject(TA.LEFT)],
>                 self[NameObject(TA.BOTTOM)],
>                 self[NameObject(TA.RIGHT)],
>                 self[NameObject(TA.TOP)],
>             ) = args
>         elif typ in [TF.FIT_H, TF.FIT_BH]:
>             try:  # Prefered to be more robust not only to null parameters
>                 (self[NameObject(TA.TOP)],) = args
>             except Exception:
>                 (self[NameObject(TA.TOP)],) = (NullObject(),)
>         elif typ in [TF.FIT_V, TF.FIT_BV]:
>             try:  # Prefered to be more robust not only to null parameters
>                 (self[NameObject(TA.LEFT)],) = args
>             except Exception:
>                 (self[NameObject(TA.LEFT)],) = (NullObject(),)
>         elif typ in [TF.FIT, TF.FIT_B]:
>             pass
>         else:
> >           raise PdfReadError(f"Unknown Destination Type: {typ!r}")
> E           PyPDF2.errors.PdfReadError: Unknown Destination Type: 0
> 
> PyPDF2/generic/_data_structures.py:1089: PdfReadError
> 
> During handling of the above exception, another exception occurred:
> 
> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe2dd231a10>
> strict = True
> 
>     @pytest.mark.parametrize(
>         "strict",
>         [True, False],
>     )
>     def test_issue604(caplog, strict):
>         """Test with invalid destinations"""  # todo
>         with open(RESOURCE_ROOT / "issue-604.pdf", "rb") as f:
>             pdf = None
>             outline = None
>             if strict:
>                 pdf = PdfReader(f, strict=strict)
> >               with pytest.raises(PdfReadError) as exc, 
> > pytest.warns(PdfReadWarning):
> E               Failed: DID NOT WARN. No warnings of type (<class 
> 'PyPDF2.errors.PdfReadWarning'>,) were emitted.
> E                Emitted warnings: [].
> 
> tests/test_reader.py:663: Failed
> ------------------------------ Captured log call 
> -------------------------------
> WARNING  PyPDF2._reader:_utils.py:375 Unknown destination: 
> ms_Thyroid_2_2020_071520_watermarked.pdf [0, 1]
> 
> ---------- coverage: platform linux, python 3.11.8-final-0 -----------
> Name                                 Stmts   Miss Branch BrPart  Cover   
> Missing
> --------------------------------------------------------------------------------
> PyPDF2/__init__.py                       9      0      0      0   100%
> PyPDF2/_cmap.py                        231     41    118     13    81%   38, 
> 43->42, 54-56, 120, 140-146, 150-157, 167-170, 211-212, 214, 282-295, 
> 300-311, 364, 370, 378-382, 403
> PyPDF2/_codecs/__init__.py              32      0      6      0   100%
> PyPDF2/_codecs/adobe_glyphs.py           6      0      2      0   100%
> PyPDF2/_codecs/pdfdoc.py                 2      0      0      0   100%
> PyPDF2/_codecs/std.py                    1      0      0      0   100%
> PyPDF2/_codecs/symbol.py                 2      0      0      0   100%
> PyPDF2/_codecs/zapfding.py               2      0      0      0   100%
> PyPDF2/_encryption.py                  371    101    140      8    73%   
> 61-112, 144, 156, 159, 178, 298, 352-358, 537, 546, 562-570, 577-580, 
> 590-593, 614-622, 641-651, 668-672, 768, 772, 780-781, 842-853, 879->881, 
> 881->883, 883->886
> PyPDF2/_merger.py                      264     16    146     12    92%   
> 481-485, 490, 505->511, 511->503, 534->538, 590, 617->602, 635, 688-695, 697, 
> 770-777, 779
> PyPDF2/_page.py                        671     91    378     43    85%   
> 121->125, 126, 407->406, 409->406, 532-538, 637-638, 641-642, 648->645, 650, 
> 680->685, 686->715, 752-753, 1074-1113, 1122, 1141-1143, 1163->exit, 
> 1164->1166, 1324, 1327-1328, 1329->1332, 1344->1352, 1346-1347, 1440-1441, 
> 1446, 1462, 1464, 1466, 1471, 1486-1488, 1496-1497, 1519-1520, 1541-1542, 
> 1579, 1589, 1608->exit, 1627->exit, 1630, 1642->exit, 1646->exit, 1649, 
> 1661->exit, 1663->exit, 1665->exit, 1668, 1680->exit, 1682-1683, 1690-1691, 
> 1693-1696, 1698-1699, 1714, 1719, 1726-1738, 1750, 1804->1809, 1864, 
> 2092->2095
> PyPDF2/_reader.py                      866    128    416     41    83%   241, 
> 368, 544, 625->609, 633, 686, 689->692, 708->702, 711-715, 763, 766->768, 
> 776->780, 783->786, 811-815, 955-962, 965->977, 1102->1105, 1111->1113, 
> 1114->exit, 1151, 1160-1173, 1176-1178, 1209, 1214-1237, 1240-1241, 1249, 
> 1281-1302, 1350, 1389-1392, 1439-1440, 1482, 1489, 1521-1522, 1538-1562, 
> 1606, 1613-1614, 1618-1626, 1632-1635, 1656-1657, 1689-1690, 1696-1697, 
> 1705-1707, 1725, 1736-1739, 1763, 1766, 1827-1828, 1894, 1950-1963
> PyPDF2/_security.py                     79      2     24      0    98%   41-44
> PyPDF2/_utils.py                       190      2     76      1    99%   
> 59-60, 274->276
> PyPDF2/_version.py                       1      0      0      0   100%
> PyPDF2/_writer.py                      651     38    288     30    92%   224, 
> 240->245, 269-270, 474->exit, 693, 697, 719-720, 826-837, 949->946, 
> 1086->1080, 1099, 1105-1110, 1206-1213, 1370-1377, 1379, 1503-1510, 1512, 
> 1597->1600, 1608, 1610-1614, 1620, 1629, 1658->1660, 1664->1660, 1667->1660, 
> 1672->1660, 1675->1660, 1726, 1989, 1992, 2028, 2032, 2134->2136, 2136->2138
> PyPDF2/constants.py                    278      0      8      0   100%
> PyPDF2/errors.py                        21      0      0      0   100%
> PyPDF2/filters.py                      335     53    183     21    81%   
> 47-50, 73-74, 105->104, 117-123, 152, 161, 163-164, 168-182, 263, 295, 317, 
> 395, 446->448, 448->451, 516, 522->550, 527, 535, 539-542, 569-570, 590->600, 
> 605->609, 611, 632-643
> PyPDF2/generic/__init__.py              13      0      0      0   100%
> PyPDF2/generic/_annotations.py          60      0     40      0   100%
> PyPDF2/generic/_base.py                222      2     74      0    99%   
> 379-380
> PyPDF2/generic/_data_structures.py     617     32    254     13    94%   
> 170->173, 238, 254, 271-277, 283-289, 298, 304, 442->exit, 604-611, 700->698, 
> 766, 770, 794-798, 823, 1079-1080, 1180
> PyPDF2/generic/_outline.py              20      0      3      0   100%
> PyPDF2/generic/_rectangle.py            77      1     40      0    99%   33
> PyPDF2/generic/_utils.py                99      0     50      0   100%
> PyPDF2/pagerange.py                     61      0     30      0   100%
> PyPDF2/papersizes.py                    14      0      0      0   100%
> PyPDF2/types.py                         22      4      0      0    82%   8-9, 
> 14-15
> PyPDF2/xmp.py                          228     60     78     11    66%   118, 
> 121-126, 138-155, 164-179, 190, 192->198, 194, 198->200, 220-221, 235, 
> 250->249, 253, 269->268, 273, 292->291, 500-519
> --------------------------------------------------------------------------------
> TOTAL                                 5445    571   2354    193    88%
> 
> =========================== short test summary info 
> ============================
> FAILED tests/test_reader.py::test_get_images_raw[True-True--1-True-] - 
> Failed...
> FAILED tests/test_reader.py::test_get_images_raw[True-False-0-True-] - 
> Failed...
> FAILED tests/test_reader.py::test_get_images_raw[True-True-0-True-] - 
> Failed:...
> FAILED tests/test_reader.py::test_read_prev_0_trailer - Failed: DID NOT 
> WARN....
> FAILED tests/test_reader.py::test_read_unknown_zero_pages - Failed: DID NOT 
> W...
> FAILED tests/test_reader.py::test_issue604[True] - Failed: DID NOT WARN. No 
> w...
> ============= 6 failed, 576 passed, 5 skipped, 5 xfailed in 31.18s 
> =============
> make[1]: *** [debian/rules:35: override_dh_auto_test] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/pypdf2_2.12.1-4_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to