Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

t/08-taint.t failing with perl < 5.14 #10

Open
pghmcfc opened this issue Feb 28, 2017 · 5 comments
Open

t/08-taint.t failing with perl < 5.14 #10

pghmcfc opened this issue Feb 28, 2017 · 5 comments

Comments

@pghmcfc
Copy link

pghmcfc commented Feb 28, 2017

My tests on older systems are failing like this:

$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
#
# Versions for all modules listed in static metadata (including optional ones):            
#
# === Configure Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 6.56
#
# === Test Requires ===
#
#     Module                    Want     Have
#     ------------------------ ----- --------
#     CPAN::Meta::Check        0.011    0.014
#     CPAN::Meta::Requirements   any    2.140
#     ExtUtils::MakeMaker        any     6.56
#     File::Spec                 any     3.33
#     Test::Deep                 any    1.126
#     Test::More                0.88 1.302075
#     Test::Tester             0.108 1.302075
#     Test::Warnings           0.009    0.026
#     if                         any     0.05
#
# === Test Recommends ===
#
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
#     Module                  Want     Have
#     ----------------------- ---- --------
#     Cwd                      any     3.33
#     Exporter                 any  5.64_01
#     Module::CPANTS::Analyse 0.92     0.96
#     Test::Builder           0.88 1.302075
#     parent                   any    0.236
#     strict                   any     1.04
#     warnings                 any     1.09
#
# === Other Modules ===
#
#     Module           Have
#     ------------- -------
#     JSON::PP      2.27400
#     Pod::Coverage    0.23
#     Sub::Name        0.21
#     YAML          missing
#     autodie       2.06_01
#
t/00-report-prereqs.t .. ok
t/01-kwalitee.t ........ ok
t/02-include.t ......... ok
t/03-exclude.t ......... ok
t/04-selftest.t ........ ok
t/05-failure.t ......... ok
t/06-warnings.t ........ ok
t/07-kwalitee-ok.t ..... ok
    # No tests run!

#   Failed test 'No tests run for subtest "Test::Kwalitee import"'
#   at t/08-taint.t line 27.

#   Failed test 'ran the expected number of tests'
#   at t/08-taint.t line 29.
#          got: '0'
#     expected: '3'
# Looks like you failed 2 tests of 2.
t/08-taint.t ...........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
t/zzz-check-breaks.t ... ok

Test Summary Report
-------------------
t/08-taint.t         (Wstat: 512 Tests: 2 Failed: 2)
  Failed tests:  1-2
  Non-zero exit status: 2
Files=10, Tests=37,  2 wallclock secs ( 0.03 usr  0.01 sys +  2.01 cusr  0.15 csys =  2.20 CPU)               
Result: FAIL
Failed 1/10 test programs. 2/37 subtests failed.
make: *** [test_dynamic] Error 255

This is with perl 5.12.4 in Fedora 15. Tests on older Fedoras fail the same way. Tests on Fedora 16 with perl 5.14.3 and later versions pass OK. The perl version may be incidental; perhaps it's some other module that's breaking it?

@karenetheridge
Copy link
Owner

I saw this with one cpantester report from the last trial but I have been unable to reproduce it. I have no idea what's going on. Any information you can provide would be helpful, for example what line the code is bailing on.

@pghmcfc
Copy link
Author

pghmcfc commented Feb 28, 2017

I don't know if this helps. I just typed the following script into perl -Iblib/lib -T after a "make test":

my @expected = qw(
    has_changelog
    has_readme
    has_tests
);
require Test::Kwalitee;
Test::Kwalitee->import(tests => \@expected);

Result on Fedora 16 (working):

Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
Undefined requirement for Test::Warnings treated as '0' at /usr/share/perl5/vendor_perl/CPAN/Meta/Converter.pm line 517
Undefined requirement for CPAN::Meta::Check treated as '0' at /usr/share/perl5/vendor_perl/CPAN/Meta/Converter.pm line 517
Undefined requirement for Test::Tester treated as '0' at /usr/share/perl5/vendor_perl/CPAN/Meta/Converter.pm line 517
Undefined requirement for perl treated as '0' at /usr/share/perl5/vendor_perl/CPAN/Meta/Converter.pm line 517
Undefined requirement for Test::More treated as '0' at /usr/share/perl5/vendor_perl/CPAN/Meta/Converter.pm line 517
Use of uninitialized value $vobj in pattern match (m//) at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 150.
Use of uninitialized value in string at /usr/share/perl5/vendor_perl/CPAN/Meta/Requirements.pm line 727.
ok 1 - has_changelog
ok 2 - has_readme
ok 3 - has_tests
1..3

On Fedora 15 (not working):

These tests should not be running unless AUTHOR_TESTING=1 and/or RELEASE_TESTING=1!
cannot load Module::CPANTS::Kwalitee::MetaYML: Insecure dependency in require while running with -T switch at /usr/share/perl5/vendor_perl/Module/CPANTS/Kwalitee/MetaYML.pm line 2.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Module/CPANTS/Kwalitee/MetaYML.pm line 2.
Compilation failed in require at (eval 48) line 2.
 at /usr/share/perl5/vendor_perl/Module/CPANTS/Analyse.pm line 45

... and the first three lines of /usr/share/perl5/vendor_perl/Module/CPANTS/Kwalitee/MetaYML.pm are:

package Module::CPANTS::Kwalitee::MetaYML;
use warnings;
use strict;

which doesn't look right?

@karenetheridge
Copy link
Owner

@pghmcfc could you please provide the output of t/00-report-prereqs.t on the system where t/08-taint.t fails? thanks!

@pghmcfc
Copy link
Author

pghmcfc commented Mar 1, 2017

@karenetheridge, the info you requested is in the initial report above.

@pghmcfc
Copy link
Author

pghmcfc commented Mar 18, 2017

Is there anything I can do to help debug this?

I should be able to provide you with access to a VM exhibiting the issue if that's useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants