PaulHowarth/Blog/2009-09-29

Tuesday 29th September 2009

Local Packages

  • Whilst doing a clean-up of the perl-XML-LibXML package ready for import into subversion, I found that the test suite failed in the t/03doc.t test:

  • PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    Compiled against libxml2 version: 20705
    Running libxml2 version:          20705
    t/01basic.....................ok
    t/02parse.....................ok
    t/03doc.......................:2: parser error : Extra content at the end of the document
    dubious
            Test returned status 2 (wstat 512, 0x200)
    DIED. FAILED tests 159-166
            Failed 8/166 tests, 95.18% okay
  • This problem was already reported in Debian bugzilla and appears to be an error in the test suite, encoding some XML in one character set and declaring the character set of the document to be something else, which libxml2 ≥ 2.7.4 detects and causes the error. This patch fixed the test:

  • --- XML-LibXML-1.69/t/03doc.t   2008-11-04 12:36:31.000000000 +0000
    +++ XML-LibXML-1.69/t/03doc.t   2009-09-29 11:09:30.000000000 +0100
    @@ -473,7 +473,7 @@
       for my $enc (qw(UTF-16 UTF-16LE UTF-16BE)) {
         print "------------------\n";
         print $enc,"\n";
    -    my $xml = Encode::encode('UTF-16LE',qq{<?xml version="1.0" encoding="$enc"?>
    +    my $xml = Encode::encode($enc,qq{<?xml version="1.0" encoding="$enc"?>
     <test foo="bar"/>
     });
         my $dom = XML::LibXML->new->parse_string($xml);


Recent