PaulHowarth/Blog/2012-01-03

Tuesday 3rd January 2012

Local Packages

  • Updated perl-Email-Address to 1.893:

    • Reject any non-ASCII content in strings
  • Updated perl-Version-Requirements to 0.101021:

    • Version::Requirements is now deprecated (use CPAN::Meta::Requirements, which is a drop-in replacement)

  • Updated perl-YAML to 0.78:

    • Apply patch from ANDK++ to deal with B::Deparse changes

  • The changes manage to tickle Perl RT#35857 in B::Deparse, which affects old distributions (FC-5, RHEL-5 and earlier releases):

  • $ make test
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
    "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
    t/2-scalars..............ok
    t/basic-tests............ok
    t/bugs-emailed...........ok
            3/25 skipped: various reasons
    t/bugs-rt................ok
            13/41 skipped: various reasons
    t/changes................ok
            1/1 skipped: Can't parse Changes file yet 
    t/dump-basics............ok
    t/dump-blessed...........ok
    t/dump-code..............
    #   Failed test 'a code ref (n->y)'
    #   at /builddir/build/BUILD/YAML-0.78/blib/lib/Test/YAML.pm line 65.
    #          got: '--- !!perl/code |
    # {
    #     BEGIN {${^WARNING_BITS} = "UUUUUUUUUUUU\001"}
    #     use strict 'refs';
    #     'Something at least 30 chars';
    # }
    # '
    #     expected: '--- !!perl/code |
    # {
    #     use warnings;
    #     use strict 'refs';
    #     'Something at least 30 chars';
    # }
    # '
    #   Failed test 'an array of the same code ref (n->y)'
    #   at /builddir/build/BUILD/YAML-0.78/blib/lib/Test/YAML.pm line 65.
    #          got: '---
    # - &1 !!perl/code |
    #   {
    #       BEGIN {${^WARNING_BITS} = "UUUUUUUUUUUU\001"}
    #       use strict 'refs';
    #       'Something at least 30 chars';
    #   }
    # - *1
    # - *1
    # '
    #     expected: '---
    # - &1 !!perl/code |
    #   {
    #       use warnings;
    #       use strict 'refs';
    #       'Something at least 30 chars';
    #   }
    # - *1
    # - *1
    # '
    #   Failed test 'blessed code ref (n->y)'
    #   at /builddir/build/BUILD/YAML-0.78/blib/lib/Test/YAML.pm line 65.
    #          got: '--- !!perl/code:Foo::Bar |
    # {
    #     BEGIN {${^WARNING_BITS} = "UUUUUUUUUUUU\001"}
    #     use strict 'refs';
    #     'Something at least 30 chars';
    # }
    # '
    #     expected: '--- !!perl/code:Foo::Bar |
    # {
    #     use warnings;
    #     use strict 'refs';
    #     'Something at least 30 chars';
    # }
    # '
    # Looks like you failed 3 tests of 7.
    dubious
            Test returned status 3 (wstat 768, 0x300)
    DIED. FAILED tests 1, 3, 7
            Failed 3/7 tests, 57.14% okay
    t/dump-file-utf8.........ok
    t/dump-file..............ok
    t/dump-nested............ok
    t/dump-opts..............ok
    t/dump-perl-types-512....ok
    t/dump-perl-types-514....skipped
            all skipped: test only for perls v5.13.5-11-gfb85c04 or later
    t/dump-perl-types........ok
    t/dump-stringify.........ok
    t/dump-tests-512.........ok
    t/dump-tests-514.........skipped
            all skipped: test only for perls v5.13.5-11-gfb85c04 or later
    t/dump-tests.............ok
    t/dump-works.............ok
    t/errors.................ok
    t/export.................ok
    t/freeze-thaw............ok
    t/global-api.............ok
    t/inbox..................ok
            3/3 skipped: fix this next release
    t/load-fails.............ok
    t/load-passes............ok
    t/load-slides............ok
    t/load-spec..............ok
    t/load-tests.............ok
    t/load-works.............ok
    t/marshall...............ok
    t/node-info..............ok
    t/pugs-objects...........ok
    t/references.............ok
    t/regexp.................ok
    t/svk....................ok
    t/test...................ok
    Failed 1/38 test scripts, 97.37% okay. 3/452 subtests failed, 99.34% okay.
    Failed Test   Stat Wstat Total Fail  Failed  List of Failed
    -------------------------------------------------------------------------------
    t/dump-code.t    3   768     7    3  42.86%  1 3 7
    2 tests and 20 subtests skipped.
  • This patch works around the problem:

    --- YAML-0.78/t/dump-code.t
    +++ YAML-0.78/t/dump-code.t
    @@ -5,6 +5,9 @@
         =~ 'refs') {
      local $/;
      (my $data = <DATA>) =~ s/use strict/use strict 'refs'/g;
    + if ($B::Deparse::VERSION < 0.71) {
    +  $data =~ s/use warnings;/BEGIN {\${^WARNING_BITS} = "UUUUUUUUUUUU\\001"}/g;
    + }
      open DATA, '<', \$data;
     }
  • I raised the issue upstream as CPAN RT#73702


Recent