Bug#1078117: libtest-expander-perl: autopkgtest regression with Perl 5.40: syntax.t failure

Niko Tyni ntyni at debian.org
Wed Aug 7 09:10:28 BST 2024


Package: libtest-expander-perl
Version: 2.5.0-2
Severity: important
User: debian-perl at lists.debian.org
Usertags: perl-5.40-transition

This package fails its autopkgtest checks with Perl 5.40 (currently
in experimental.)

  https://ci.debian.net/packages/libt/libtest-expander-perl/unstable/amd64/50046161/

 89s # Subtest: all modules in libtest-expander-perl pass the syntax check
 89s     1..2
 89s     ok 1 - /usr/bin/perl -wc /usr/share/perl5/Test/Expander/Constants.pm exited successfully
 89s     # Name "Test::Expander::BAIL_OUT" used only once: possible typo at /usr/share/perl5/Test/Expander.pm line 83.
 89s     not ok 2 - /usr/bin/perl -wc /usr/share/perl5/Test/Expander.pm exited successfully
 89s not ok 4 - all modules in libtest-expander-perl pass the syntax check
 89s Dubious, test returned 1 (wstat 256, 0x100)
 89s Failed 1/4 subtests 

This is because of an intentional behaviour change in Perl 5.40:

  https://metacpan.org/dist/perl/view/pod/perldelta.pod#Changes-to-Existing-Diagnostics

    Name "%s::%s" used only once: possible typo

    This warning now honors being marked as fatal. [GH #13814]

  See https://github.com/Perl/perl5/issues/13814 for more information.

Now, /usr/share/perl5/Test/Expander.pm does

  use warnings FATAL => 'all';

so the warning now correctly causes the check to exit with an error code.

A fix might be to add "no warnings 'once';" to the block where the
offending variable is used.

-- 
Niko Tyni   ntyni at debian.org



More information about the pkg-perl-maintainers mailing list