Bug#762329: libjson-any-perl: breaks libcgi-application-plugin-ajaxupload-perl test suite

Niko Tyni ntyni at debian.org
Sun Sep 21 08:03:45 UTC 2014


Package: libjson-any-perl
Version: 1.36-1
Severity: serious

Control: clone -1 -2 -3
Control: retitle -2 libcgi-application-plugin-ajaxupload-perl: FTBFS with libjson-any-perl 1.36-1: test failures
Control: tags -2 sid
Control: reassign -2 libcgi-application-plugin-ajaxupload-perl 0.0.3-6
Control: retitle -3 libpackage-stash-perl: compile time warnings when used with namespace::clean
Control: severity -3 normal
Control: block -2 with -3
Control: block -1 with -3
Control: tags -3 upstream patch
Control: thanks

(we'll see how that goes :)

libjson-any-perl_1.36-1 breaks the libcgi-application-plugin-ajaxupload-perl
test suite:

  #   Failed test 'no warnings'
  #   at /usr/share/perl5/Test/NoWarnings.pm line 45.
  # There were 2 warning(s)
  #       Previous test 0 ''
  #       Name "JSON::Any::croak" used only once: possible typo at /usr/share/perl5/Package/Stash/PP.pm line 193.
  #  at /usr/share/perl5/Package/Stash/PP.pm line 193.
  [...]
  Test Summary Report
  -------------------
  t/02.warnings.t (Wstat: 256 Tests: 12 Failed: 1)
    Failed test:  12
    Non-zero exit status: 1
  t/03.images.t   (Wstat: 256 Tests: 10 Failed: 1)
    Failed test:  10
    Non-zero exit status: 1
  t/04-resize.t   (Wstat: 256 Tests: 12 Failed: 1)
    Failed test:  12
    Non-zero exit status: 1
  
This seems to be a long-standing latent bug in libpackage-stash-perl,
triggered by the new libjson-any-perl which started to use
namespace::clean. It only happens when Package::Stash::PP is used,
i.e. without libpackage-stash-xs-perl installed.

  % perl  -wT -MJSON::Any -e1
  Name "JSON::Any::carp" used only once: possible typo at /usr/share/perl5/Package/Stash/PP.pm line 193.
  Name "JSON::Any::croak" used only once: possible typo at /usr/share/perl5/Package/Stash/PP.pm line 193.
  
  % PACKAGE_STASH_IMPLEMENTATION=PP perl -Tw -MPackage::Stash -e 'package foo; use Carp q/croak/; use namespace::clean; 1;'
  Name "foo::croak" used only once: possible typo at /usr/share/perl5/Package/Stash/PP.pm line 193.

The easy fix is adding 
 no warnings 'once';
in Package/Stash/PP.pm around line 193. However, the fact that it needs
taint checks enabled to happen is a bit weird and might mean there's more
to it.  It's probably best to apply the above fix quickly but forward
the issue upstream for more discussion.

I'm filing the bug against libjson-any-perl only to prevent it reaching testing
before the issue is fixed esewhere. If it's too late, that one can be closed
and the libcgi-application-plugin-ajaxupload-perl 'sid' tag should be removed.

IOW, I don't think libjson-any-perl_1.36-1 is buggy in itself.
-- 
Niko Tyni   ntyni at debian.org



More information about the pkg-perl-maintainers mailing list