Bug#1010115: libhtml-tidy5-perl: FTBFS with tidy-html5 5.8

Boyuan Yang byang at debian.org
Sun Apr 24 20:09:37 BST 2022


Source: libhtml-tidy5-perl
Version: 1.06-1
Severity: important
Tags: sid  bookworm
X-Debbugs-CC: gregoa at debian.org
User: tidy-html5 at packages.debian.org
Usertags: tidy5.8

Dear Debian libhtml-tidy5-perl package maintainer,

Your package FTBFS with tidy-html5 5.8.0 currently in experimental. This is
likely due to API and format changes between tidy 5.6.0 and 5.8.0. The
relavant error messages are attached below.

Please consider making the package compatible with new tidy-html5 release for
a smooth tidy library transition in Debian. Thanks!

Regards,
Boyuan Yang

==========================================

dh_auto_test
        make -j8 test TEST_VERBOSE=1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Tidy5.bs
blib/arch/auto/HTML/Tidy5/Tidy5.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness"
"-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib',
'blib/arch')" t/*.t
# Testing HTML::Tidy5 1.06, tidy library version 5.8.0, Perl 5.034000,
/usr/bin/perl
t/00-load.t ................ 
1..2
ok 1 - HTML::Tidy5 requires version 5.6.0 or higher of the tidy-html5 library
ok 2 - HTML::Tidy5 and Test::HTML::Tidy5 versions must match
ok
t/cfg-for-parse.t .......... 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Matching errors
ok
t/clean-crash.t ............ 
1..2
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Messages match
ok
t/clean.t .................. 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - clean() croaks when not given a string or list of strings
ok 3 - $tidy->clean("") returns empty HTML document
ok

    #   Failed test at t/drop-empty-elements.t line 34.
    #     Structures begin differing at:
    #          $got->[0] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[0] = 'test (7:9) Warning: trimming empty <span>'
    # Looks like you failed 1 test of 2.

#   Failed test 'default constructor warns about empty spans'
#   at t/drop-empty-elements.t line 37.

    #   Failed test at t/drop-empty-elements.t line 46.
    #     Structures begin differing at:
    #          $got->[0] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[0] = 'test (7:9) Warning: trimming empty <span>'
    # Looks like you failed 1 test of 2.

#   Failed test 'drop_empty_elements => 1 gives message'
#   at t/drop-empty-elements.t line 49.

    #   Failed test at t/drop-empty-elements.t line 58.
    #     Structures begin differing at:
    #          $got->[0] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[0] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'drop_empty_elements => 0 gives no messages'
#   at t/drop-empty-elements.t line 59.
# Looks like you failed 3 tests of 3.
t/drop-empty-elements.t .... 
1..3
# Subtest: default constructor warns about empty spans
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 1 - default constructor warns about empty spans
# Subtest: drop_empty_elements => 1 gives message
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 2 - drop_empty_elements => 1 gives message
# Subtest: drop_empty_elements => 0 gives no messages
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 3 - drop_empty_elements => 0 gives no messages
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests 
t/extra-quote.t ............ 
1..4
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Should have exactly three messages
ok 4 - Matching warnings
ok

    #   Failed test 'html_fragment_tidy_ok can handle it'
    #   at t/html_fragment_tidy_ok.t line 49.
    # STDOUT is:
    # >     not ok 1 - html_fragment_tidy_ok can handle it
    # not:
    # >     ok 1 - html_fragment_tidy_ok can handle it
    # as expected
    # STDERR is:
    # >     #   Failed test 'html_fragment_tidy_ok can handle it'
    # >     #   at t/html_fragment_tidy_ok.t line 48.
    # >     # Errors: html_fragment_tidy_ok can handle it
    # >     # (-2:9) Warning: blank 'title' element
    # >     # 1 message on the page
    # not:
    # > 
    # > 
    # > 
    # > 
    # > 
    # as expected
    # Looks like you failed 1 test of 2.

#   Failed test 'html_tidy_ok fails on a fragment, but html_fragment_tidy_ok
is OK'
#   at t/html_fragment_tidy_ok.t line 50.

    #   Failed test 'html_fragment_tidy_ok on sloppy doc'
    #   at t/html_fragment_tidy_ok.t line 85.
    # STDERR is:
    # >     #   Failed test 'html_fragment_tidy_ok on sloppy doc'
    # >     #   at t/html_fragment_tidy_ok.t line 84.
    # >     # Errors: html_fragment_tidy_ok on sloppy doc
    # >     # (2:59) Warning: discarding unexpected </td>
    # >     # (-2:9) Warning: blank 'title' element
    # >     # (3:5) Warning: <img> lacks "alt" attribute
    # >     # 3 messages on the page
    # not:
    # > /\ \ \ \ #\s+Failed\ test.*?\n?.*?at\ t\/html_fragment_tidy_ok\.t line
84.*\n?/
    # >     # Errors: html_fragment_tidy_ok on sloppy doc
    # >     # (2:59) Warning: discarding unexpected </td>
    # >     # (3:5) Warning: <img> lacks "alt" attribute
    # >     # 2 messages on the page
    # > 
    # > 
    # as expected
    # Looks like you failed 1 test of 2.

#   Failed test 'html_fragment_tidy_ok gets the same errors as html_tidy_ok'
#   at t/html_fragment_tidy_ok.t line 86.
# Looks like you failed 2 tests of 3.
t/html_fragment_tidy_ok.t .. 
1..3
# Subtest: html_fragment_tidy_ok fails on undef
    1..1
    ok 1 - Fails on undef
ok 1 - html_fragment_tidy_ok fails on undef
# Subtest: html_tidy_ok fails on a fragment, but html_fragment_tidy_ok is OK
    1..2
    ok 1 - Called html_tidy_ok on incomplete document
    not ok 2 - html_fragment_tidy_ok can handle it
not ok 2 - html_tidy_ok fails on a fragment, but html_fragment_tidy_ok is OK
# Subtest: html_fragment_tidy_ok gets the same errors as html_tidy_ok
    1..2
    ok 1 - html_tidy_ok on sloppy doc
    not ok 2 - html_fragment_tidy_ok on sloppy doc
not ok 3 - html_fragment_tidy_ok gets the same errors as html_tidy_ok
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/3 subtests 

    #   Failed test 'html_tidy_ok on full document works'
    #   at t/html_tidy_ok.t line 46.
    # STDOUT is:
    # >     not ok 1 - Called html_tidy_ok on full document
    # not:
    # >     ok 1 - Called html_tidy_ok on full document
    # as expected
    # STDERR is:
    # >     #   Failed test 'Called html_tidy_ok on full document'
    # >     #   at t/html_tidy_ok.t line 45.
    # >     # Errors: Called html_tidy_ok on full document
    # >     # (4:9) Warning: blank 'title' element
    # >     # 1 message on the page
    # not:
    # > 
    # > 
    # > 
    # > 
    # > 
    # as expected
    # Looks like you failed 1 test of 1.

#   Failed test 'html_tidy_ok without errors'
#   at t/html_tidy_ok.t line 47.

    #   Failed test 'html_tidy_ok works on empty paragraph'
    #   at t/html_tidy_ok.t line 103.
    # STDERR is:
    # >     #   Failed test 'Empty paragraph'
    # >     #   at t/html_tidy_ok.t line 102.
    # >     # Errors: Empty paragraph
    # >     # (4:9) Warning: blank 'title' element
    # >     # (12:9) Warning: trimming empty <p>
    # >     # 2 messages on the page
    # not:
    # > /\ \ \ \ #\s+Failed\ test.*?\n?.*?at\ t\/html_tidy_ok\.t line
102.*\n?/
    # >     # Errors: Empty paragraph
    # >     # (12:9) Warning: trimming empty <p>
    # >     # 1 message on the page
    # > 
    # > 
    # as expected

    #   Failed test 'html_tidy_ok with user-specified tidy works'
    #   at t/html_tidy_ok.t line 110.
    # STDOUT is:
    # >     not ok 1 - Relaxed tidy
    # not:
    # >     ok 1 - Relaxed tidy
    # as expected
    # STDERR is:
    # >     #   Failed test 'Relaxed tidy'
    # >     #   at t/html_tidy_ok.t line 109.
    # >     # Errors: Relaxed tidy
    # >     # (4:9) Warning: blank 'title' element
    # >     # 1 message on the page
    # not:
    # > 
    # > 
    # > 
    # > 
    # > 
    # as expected
    # Looks like you failed 2 tests of 3.

#   Failed test 'Test passing our own Tidy object'
#   at t/html_tidy_ok.t line 111.
# Looks like you failed 2 tests of 5.
t/html_tidy_ok.t ........... 
1..5
# Subtest: html_tidy_ok fails on undef
    1..1
    ok 1 - Fails on undef
ok 1 - html_tidy_ok fails on undef
# Subtest: html_tidy_ok without errors
    1..1
    not ok 1 - html_tidy_ok on full document works
not ok 2 - html_tidy_ok without errors
# Subtest: html_tidy_ok with failures
    1..1
    ok 1 - html_tidy_ok works on incomplete document
ok 3 - html_tidy_ok with failures
# Subtest: Test passing our own Tidy object
    1..3
    not ok 1 - html_tidy_ok works on empty paragraph
    ok 2 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 3 - html_tidy_ok with user-specified tidy works
not ok 4 - Test passing our own Tidy object
# Subtest: Reusing a tidy object
    1..7
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    ok 2 - html_tidy_ok works on very bad HTML
    ok 3 - We have four messages
    ok 4 - html_tidy_ok works on empty paragraph
    ok 5 - We have one message
    ok 6 - Reusing tidy object with good HTML works
    ok 7 - We have no messages
ok 5 - Reusing a tidy object
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/5 subtests 
t/ignore-text.t ............ 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Matching warnings
ok
t/ignore.t ................. 
1..9
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Matching warnings
ok 4 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 5 - Parsed OK
ok 6 - Matching errors
ok 7 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 8 - eval should fail
ok 9 - Throws an error
ok
t/illegal-options.t ........ 
ok 1 - option force-output is not supported
ok 2 - option gnu-emacs-file is not supported
ok 3 - option gnu-emacs is not supported
ok 4 - option keep-time is not supported
ok 5 - option quiet is not supported
ok 6 - option slide-style is not supported
ok 7 - option write-back is not supported
1..7
ok
t/levels.t ................. 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Matching messages
ok
t/message.t ................ 
1..8
ok 1 - An object of class 'HTML::Tidy5::Message' isa 'HTML::Tidy5::Message'
# Subtest: _matchup( With line numbers )
    1..6
    ok 1 - as_string matches
    ok 2 - column matches
    ok 3 - file matches
    ok 4 - line matches
    ok 5 - text matches
    ok 6 - type matches
ok 2 - _matchup( With line numbers )
ok 3 - An object of class 'HTML::Tidy5::Message' isa 'HTML::Tidy5::Message'
# Subtest: _matchup( With line numbers )
    1..6
    ok 1 - as_string matches
    ok 2 - column matches
    ok 3 - file matches
    ok 4 - line matches
    ok 5 - text matches
    ok 6 - type matches
ok 4 - _matchup( With line numbers )
ok 5 - An object of class 'HTML::Tidy5::Message' isa 'HTML::Tidy5::Message'
# Subtest: _matchup( Without line numbers )
    1..6
    ok 1 - as_string matches
    ok 2 - column matches
    ok 3 - file matches
    ok 4 - line matches
    ok 5 - text matches
    ok 6 - type matches
ok 6 - _matchup( Without line numbers )
ok 7 - An object of class 'HTML::Tidy5::Message' isa 'HTML::Tidy5::Message'
# Subtest: _matchup( Without line numbers )
    1..6
    ok 1 - as_string matches
    ok 2 - column matches
    ok 3 - file matches
    ok 4 - line matches
    ok 5 - text matches
    ok 6 - type matches
ok 8 - _matchup( Without line numbers )
ok

    #   Failed test at t/new-tags.t line 56.
    #     Structures begin differing at:
    #          $got->[9] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[9] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'default constructor warns about <nav> tag'
#   at t/new-tags.t line 57.

    #   Failed test 'Excluded the block errors'
    #   at t/new-tags.t line 67.
    #     Structures begin differing at:
    #          $got->[3] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[3] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'Only add new blocklevel'
#   at t/new-tags.t line 68.

    #   Failed test 'Excluded the inline errors'
    #   at t/new-tags.t line 78.
    #     Structures begin differing at:
    #          $got->[6] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[6] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'Only add new inline'
#   at t/new-tags.t line 79.

    #   Failed test 'Quieted all errors'
    #   at t/new-tags.t line 92.
    #     Structures begin differing at:
    #          $got->[0] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[0] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'Add new line and blocklevel'
#   at t/new-tags.t line 93.
# Looks like you failed 4 tests of 4.
t/new-tags.t ............... 
1..4
# Subtest: default constructor warns about <nav> tag
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 1 - default constructor warns about <nav> tag
# Subtest: Only add new blocklevel
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2 - Excluded the block errors
not ok 2 - Only add new blocklevel
# Subtest: Only add new inline
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2 - Excluded the inline errors
not ok 3 - Only add new inline
# Subtest: Add new line and blocklevel
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2 - Quieted all errors
not ok 4 - Add new line and blocklevel
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/4 subtests 
t/opt-00.t ................. 
1..1
ok 1 - Cleaned stuff looks like what we expected
ok
t/parse-errors.t ........... 
1..4
ok 1 - encountered 1 parsing error
ok 2 - got 7 messages when parsing errors
ok 3 - Warning should have been called exactly once
ok 4 - Expected warning
ok
t/parse.t .................. 
1..2
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - parse() dies when not given a string or array of strings to parse
ok
t/perfect.t ................ 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Should have no messages
ok

#   Failed test 'The cleaned stuff shouldn't have any errors'
#   at t/roundtrip.t line 31.
#     Structures begin differing at:
#          $got->[0] = HTML::Tidy5::Message=HASH(0x55eea9b5b448)
#     $expected->[0] = Does not exist
# Looks like you failed 1 test of 3.
t/roundtrip.t .............. 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
not ok 2 - The cleaned stuff shouldn't have any errors
ok 3 - Cleaned up properly
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/3 subtests 
t/segfault-form.t .......... 
1..3
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 3 - Cleaned OK
ok

    #   Failed test at t/show-info.t line 33.
    #     Structures begin differing at:
    #          $got->[1] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[1] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'default constructor shows info'
#   at t/show-info.t line 36.

    #   Failed test at t/show-info.t line 45.
    #     Structures begin differing at:
    #          $got->[1] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[1] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'show_info => 1 shows info'
#   at t/show-info.t line 48.

    #   Failed test at t/show-info.t line 57.
    #     Structures begin differing at:
    #          $got->[0] = 'test (4:9) Warning: blank 'title' element'
    #     $expected->[0] = Does not exist
    # Looks like you failed 1 test of 2.

#   Failed test 'show_info => 0'
#   at t/show-info.t line 58.
# Looks like you failed 3 tests of 3.
t/show-info.t .............. 
1..3
# Subtest: default constructor shows info
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 1 - default constructor shows info
# Subtest: show_info => 1 shows info
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 2 - show_info => 1 shows info
# Subtest: show_info => 0
    1..2
    ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    not ok 2
not ok 3 - show_info => 0
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests 
t/simple.t ................. 
1..4
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Right number of initial messages
ok 4 - Cleared the messages
ok
t/too-many-titles.t ........ 
1..4
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Parsed OK
ok 3 - Exactly one warning returned
ok 4 - Error message matches
ok
t/unicode-nbsp.t ........... 
1..3
ok 1 - Tidy Newline
ok 2 - Perl chars OK
ok 3 - Byte string OK
ok
t/unicode.t ................ 
1..2
# Subtest: utf8 testing
    1..8
    ok 1 - html is utf8
    ok 2 - reference is utf8
    ok 3 - cleaned output is also unicode
    ok 4 - Cleanup didn't break anything
    ok 5 - There still shouldn't be any errors
    ok 6 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
    ok 7 - Parsed OK
    ok 8 - There still shouldn't be any errors
ok 1 - utf8 testing
# Subtest: Try send bytes to clean method.
    1..3
    ok 1 - html is row bytes
    ok 2 - but cleaned output is string
    ok 3 - Cleanup didn't break anything
ok 2 - Try send bytes to clean method.
ok
t/venus.t .................. 
1..2
ok 1 - An object of class 'HTML::Tidy5' isa 'HTML::Tidy5'
ok 2 - Cooked stuff looks like what we expected
ok
t/version.t ................ 
1..1
ok 1 - Valid version string
ok
t/wordwrap.t ............... 
1..1
ok 1 - Cleaned stuff looks like what we expected
ok

Test Summary Report
-------------------
t/drop-empty-elements.t  (Wstat: 768 Tests: 3 Failed: 3)
  Failed tests:  1-3
  Non-zero exit status: 3
t/html_fragment_tidy_ok.t (Wstat: 512 Tests: 3 Failed: 2)
  Failed tests:  2-3
  Non-zero exit status: 2
t/html_tidy_ok.t         (Wstat: 512 Tests: 5 Failed: 2)
  Failed tests:  2, 4
  Non-zero exit status: 2
t/new-tags.t             (Wstat: 1024 Tests: 4 Failed: 4)
  Failed tests:  1-4
  Non-zero exit status: 4
t/roundtrip.t            (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
t/show-info.t            (Wstat: 768 Tests: 3 Failed: 3)
  Failed tests:  1-3
  Non-zero exit status: 3
Files=28, Tests=95,  2 wallclock secs ( 0.11 usr  0.05 sys +  1.39 cusr  0.23
csys =  1.78 CPU)
Result: FAIL
Failed 6/28 test programs. 15/95 subtests failed.
make[1]: *** [Makefile:1071: test_dynamic] Error 255
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j8 test TEST_VERBOSE=1 returned exit code 2


===============================================
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/pkg-perl-maintainers/attachments/20220424/41706bf6/attachment-0001.sig>


More information about the pkg-perl-maintainers mailing list