On 07/03/2015 08:53 PM, Serguei Trouchelle wrote:
I see this kind of problems in NetBSD smokers:

http://www.cpantesters.org/cpan/report/e19112ce-219e-11e5-816f-279aaf4b258a

More at http://www.cpantesters.org/distro/C/CPAN-SQLite.html#CPAN-SQLite-0.206?grade=3&perlmat=2&patches=2&oncpan=2&distmat=2&perlver=ALL&osname=netbsd&version=0.206

Output from '/usr/bin/make test':

PERL_DL_NONLAZY=1 /home/njh/perl5/perlbrew/perls/perl-5.14.4/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01basic.t .............. ok
t/02drop.t ............... ok
t/00compile.t ............ ok
DBD::SQLite::db prepare failed: no such table: auths at /home/njh/.cpan/build/CPAN-SQLite-0.206-GPrKpn/blib/lib/CPAN/SQLite/DBI/Search.pm line 50. DBD::SQLite::db prepare failed: no such table: auths at /home/njh/.cpan/build/CPAN-SQLite-0.206-GPrKpn/blib/lib/CPAN/SQLite/DBI/Search.pm line 50.
# Looks like you planned 2668 tests but ran 2.
# Looks like your test exited with 2 just after 2.
t/04search.t .............
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2666/2668 subtests
DBD::SQLite::db prepare failed: no such table: auths at /home/njh/.cpan/build/CPAN-SQLite-0.206-GPrKpn/blib/lib/CPAN/SQLite/DBI/Search.pm line 50. DBD::SQLite::db prepare failed: no such table: auths at /home/njh/.cpan/build/CPAN-SQLite-0.206-GPrKpn/blib/lib/CPAN/SQLite/DBI/Search.pm line 50.
# Looks like you planned 14 tests but ran 2.
# Looks like your test exited with 2 just after 2.
t/04search_everything.t ..
Dubious, test returned 2 (wstat 512, 0x200)
Failed 12/14 subtests
t/03info.t ............... ok

Note that tests are run in completely random order:
t/01basic.t
t/02drop.t
t/00compile.t
t/04search.t
t/04search_everything.t
t/03info.t


ExtUtils::Command::MM explicitly wants to run tests in order:

sub test_harness {
    require Test::Harness;
    require File::Spec;

    $Test::Harness::verbose = shift;

# Because Windows doesn't do this for us and listing all the *.t files
    # out on the command line can blow over its exec limit.
    require ExtUtils::Command;
    my @argv = ExtUtils::Command::expand_wildcards(@ARGV);

    local @INC = @INC;
    unshift @INC, map { File::Spec->rel2abs($_) } @_;
    Test::Harness::runtests(sort { lc $a cmp lc $b } @argv);
}

Any idea why this happens?

I believe you need to ensure your test script works with TEST_JOBS and HARNESS_OPTIONS set to greater than one.

-Nigel

Reply via email to