Help with install from CPAN


D

Dave Saville

Finally decided to have another go wirh 5.14.2 on OS/2.

As usual it is a binary port but I have it installed in the same
environment as it was built. Little things work but I cannot get it to
install anything. It chugs along happily until it gets to the test
portion and then fails with every single test saying "no subtests
run". Here is a log:

CPAN.pm: Going to build T/TO/TOKUHIROM/Test-Requires-0.06.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Test::Requires
Writing MYMETA.yml
cp lib/Test/Requires.pm blib/lib/Test/Requires.pm
TOKUHIROM/Test-Requires-0.06.tar.gz
make.exe -- OK
'YAML' not installed, will not store persistent state
Running make test
U:/PERL5/BIN/PERL.EXE "-MExtUtils::Command::MM" "-e" "test_harness(0,
'inc', 'blib/lib', 'blib/arch')" t/*.t
t/00_compile.t .........
No subtests run
t/01_simple.t ..........
No subtests run
t/02_no_plan.t .........
No subtests run
t/03_import_hashref.t ..
No subtests run
t/04_import_array.t ....
No subtests run
t/05_success.t .........
No subtests run

I have modified the first test to dump @INC and the paths are correct
with the blibs* ahead of the standard @INC contents

use strict;
use Test::More tests => 1;

#BEGIN { use_ok 'Test::Requires' }
open LOG, ">t:/tmp/stuff";
foreach (@INC)
{
print LOG "$_\n";
}

And invoking as above it does not write the log but if I comment out
the use Test::More line as well then it does log a correct @INC. .

BTW why does the cpan module download a fresh copy of the module every
time you try and install it?
 
Ad

Advertisements

D

Dave Saville

What happens if you change to the build directory and run

perl -Mblib t/00_compile.t

by hand? (I don't know if you need a backslash there?)

No you don't.

[T:\.cpan\build\Test-Requires-0.06-OE3KRw]perl -Mblib t/00_compile.t
1..1
ok 1 - use Test::More;
If it doesn't write the log at all then presumably it hits a fatal error
while loading Test::More. Running the test manually should give you more
information about what that is. What does something really simple like

perl -MTest::More -e1

do?

[T:\.cpan\build\Test-Requires-0.06-OE3KRw]perl -MTest::More -e1

[T:\.cpan\build\Test-Requires-0.06-OE3KRw]

ie not a lot. OTH it does not throw any errors. It does not matter
what module you try and install the tests fail the same way.
It shouldn't. It does untar its tarballs again each time, to make sure
it's starting with clean source, but it shouldn't download a new copy.

Haha, that must be what I am seeing. under build the module name
suffixed with what looks like a random string
 
D

Dave Saville

Morning Ben
Quoth "Dave Saville said:
Quoth "Dave Saville" <[email protected]>:

Running make test
U:/PERL5/BIN/PERL.EXE "-MExtUtils::Command::MM" "-e" "test_harness(0,
'inc', 'blib/lib', 'blib/arch')" t/*.t
t/00_compile.t .........
No subtests run

What happens if you change to the build directory and run

perl -Mblib t/00_compile.t

by hand? (I don't know if you need a backslash there?)

No you don't.

[T:\.cpan\build\Test-Requires-0.06-OE3KRw]perl -Mblib t/00_compile.t
1..1
ok 1 - use Test::More;

(I presume you mean 'Test::Requires' there?) Well... that's very
peculiar: that's the correct output, and Test::Harness should have said
'1/1' rather than 'No subtests run'. Just to confirm, can you untar a
fresh copy of the source, and run

perl Makefile.PL
make
make test

[T:\tmp\Test-Requires-0.06]perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Test::Requires
Writing MYMETA.yml

[T:\tmp\Test-Requires-0.06]make
cp lib/Test/Requires.pm blib/lib/Test/Requires.pm

[T:\tmp\Test-Requires-0.06]make test
U:/PERL5/BIN/PERL.EXE "-MExtUtils::Command::MM" "-e" "test_harness(0,
'inc', 'blib/lib', 'blib/arch')" t/*.t
t/00_compile.t ......... No subtests run
t/01_simple.t .......... No subtests run
t/02_no_plan.t ......... No subtests run
t/03_import_hashref.t .. No subtests run
t/04_import_array.t .... No subtests run
t/05_success.t ......... No subtests run

Test Summary Report
-------------------
t/00_compile.t (Wstat: 0 Tests: 0 Failed: 0)
Parse errors: No plan found in TAP output
t/01_simple.t (Wstat: 1 Tests: 0 Failed: 0)
Non-zero wait status: 1
Parse errors: No plan found in TAP output
t/02_no_plan.t (Wstat: 2 Tests: 0 Failed: 0)
Non-zero wait status: 2
Parse errors: No plan found in TAP output
t/03_import_hashref.t (Wstat: 3 Tests: 0 Failed: 0)
Non-zero wait status: 3
Parse errors: No plan found in TAP output
t/04_import_array.t (Wstat: 4 Tests: 0 Failed: 0)
Non-zero wait status: 4
Parse errors: No plan found in TAP output
t/05_success.t (Wstat: 5 Tests: 0 Failed: 0)
Non-zero wait status: 5
Parse errors: No plan found in TAP output
Files=6, Tests=0, 2 wallclock secs ( 1.95 usr + 0.00 sys = 1.95
CPU)
Result: FAIL
Failed 6/6 test programs. 0/0 subtests failed.
make: *** [test_dynamic] Error 10
and then

perl -Mblib t/00_compile.t

[T:\tmp\Test-Requires-0.06] perl -Mblib t/00_compile.t
1..1
ok 1 - use Test::Requires;
and maybe a couple of the others?

[T:\tmp\Test-Requires-0.06]perl -Mblib t/01_simple.t
1..10
ok 1 # skip Test requires module
'Acme::Unknown::Missing::Module::Name' but it's not found

[T:\tmp\Test-Requires-0.06]perl -Mblib t/02_no_plan.t
ok 1 # skip Test requires module
'Acme::Unknown::Missing::Module::Name' but it's not found
1..1

[T:\tmp\Test-Requires-0.06]perl -Mblib t/03_import_hashref.t
1..0 # SKIP Test requires module
'Acme::Unknown::Missing::Module::Name' but it's not found

[T:\tmp\Test-Requires-0.06]perl -Mblib t/04_import_array.t
1..0 # SKIP Test requires module
'Acme::Unknown::Missing::Module::Name' but it's not found

[T:\tmp\Test-Requires-0.06]perl -Mblib t/05_success.t
1..1
ok 1

Maybe you could try updating your copies of ExtUtils::MakeMaker,
Test::More and Test::Harness? (Though if you can't run 'make test', it's
probably not a good idea to install them.)

I tried MakeMaker but as you say that falls over as well :-( Seeing as
how this is just a test setup I suppose I could just force them and
then see if anything installs.
It's a pity you can't rerun the core perl test suite. I don't suppose
you fancy trying to build perl from source? As I recall, when Shmuel
tried it (on OS/2) it was not entirely straightforward.

Correct :) Why can't I run the test suite? Is it just a question of
pulling it from the tarball or does it also get modified by configure
and friends for the target OS?
And invoking as above it does not write the log but if I comment out
the use Test::More line as well then it does log a correct @INC. .

If it doesn't write the log at all then presumably it hits a fatal error
while loading Test::More. Running the test manually should give you more
information about what that is. What does something really simple like

perl -MTest::More -e1

do?

[T:\.cpan\build\Test-Requires-0.06-OE3KRw]perl -MTest::More -e1

[T:\.cpan\build\Test-Requires-0.06-OE3KRw]

ie not a lot. OTH it does not throw any errors.

That's correct. It seems the problem is not with Test::More, but with
Test::Harness (which reads the results and prints the summaries) or with
the connection between them.

What do you get if (after 'perl Makefile.PL' and 'make') you run

perl -MTest::Harness -Mblib -e"runtests q!t/00_compile.t!"

[T:\tmp\Test-Requires-0.06]perl -MTest::Harness -Mblib -e"runtests
q!t/00_compile.t!"
t/00_compile.t .. No subtests run

Test Summary Report
-------------------
t/00_compile.t (Wstat: 69 Tests: 0 Failed: 0)
Non-zero wait status: 69
Parse errors: No plan found in TAP output
Files=1, Tests=0, 1 wallclock secs ( 0.50 usr + 0.00 sys = 0.50
CPU)
Result: FAIL
Failed 1/1 test programs. 0/0 subtests failed.
 
D

Dave Saville

Maybe you could try updating your copies of ExtUtils::MakeMaker,
Test::More and Test::Harness? (Though if you can't run 'make test', it's
probably not a good idea to install them.)

Test::Harness is up to date (3.23).
Test::More is up to date (0.98).

Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.960001)
Enter 'h' for help.
Going to read 't:/CPAN/Metadata'
Database was generated on Tue, 22 May 2012 12:43:03 GMT
Running install for module 'ExtUtils::MakeMaker'
Running make for M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
Checksum for
t:/CPAN/sources/authors/id/M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.g
z ok
Scanning cache t:/CPAN/build for sizes
........................................................................
.....DONE
CPAN.pm: Going to build M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
Using included version of CPAN::Meta (2.112150) as it is newer than
the installed version (2.110440).
Using included version of File::Copy::Recursive (0.38) because it is
not already installed.
Using included version of JSON::pP::Compat5006 (1.09) because it is
not already installed.
Checking if your kit is complete...
Looks good
Writing Makefile for ExtUtils::MakeMaker
Writing MYMETA.yml and MYMETA.json
cp inc/File/Copy/Recursive.pm blib/lib/File/Copy/Recursive.pm
cp lib/ExtUtils/MM_VOS.pm blib/lib/ExtUtils/MM_VOS.pm
cp lib/ExtUtils/Mksymlists.pm blib/lib/ExtUtils/Mksymlists.pm
cp lib/ExtUtils/MM.pm blib/lib/ExtUtils/MM.pm
cp lib/ExtUtils/MM_UWIN.pm blib/lib/ExtUtils/MM_UWIN.pm
cp lib/ExtUtils/testlib.pm blib/lib/ExtUtils/testlib.pm
cp lib/ExtUtils/MM_DOS.pm blib/lib/ExtUtils/MM_DOS.pm
cp lib/ExtUtils/MM_Cygwin.pm blib/lib/ExtUtils/MM_Cygwin.pm
cp lib/ExtUtils/MM_Win95.pm blib/lib/ExtUtils/MM_Win95.pm
cp lib/ExtUtils/Liblist.pm blib/lib/ExtUtils/Liblist.pm
cp lib/ExtUtils/MM_AIX.pm blib/lib/ExtUtils/MM_AIX.pm
cp lib/ExtUtils/MM_Darwin.pm blib/lib/ExtUtils/MM_Darwin.pm
cp lib/ExtUtils/Liblist/Kid.pm blib/lib/ExtUtils/Liblist/Kid.pm
cp lib/ExtUtils/Mkbootstrap.pm blib/lib/ExtUtils/Mkbootstrap.pm
cp lib/ExtUtils/MakeMaker/FAQ.pod blib/lib/ExtUtils/MakeMaker/FAQ.pod
cp lib/ExtUtils/MM_NW5.pm blib/lib/ExtUtils/MM_NW5.pm
cp lib/ExtUtils/MakeMaker.pm blib/lib/ExtUtils/MakeMaker.pm
cp lib/ExtUtils/MM_OS2.pm blib/lib/ExtUtils/MM_OS2.pm
cp inc/CPAN/Meta/Feature.pm blib/lib/CPAN/Meta/Feature.pm
cp lib/ExtUtils/MM_Unix.pm blib/lib/ExtUtils/MM_Unix.pm
cp lib/ExtUtils/MM_Win32.pm blib/lib/ExtUtils/MM_Win32.pm
cp inc/CPAN/Meta/Spec.pm blib/lib/CPAN/Meta/Spec.pm
cp inc/CPAN/Meta/History.pm blib/lib/CPAN/Meta/History.pm
cp lib/ExtUtils/MY.pm blib/lib/ExtUtils/MY.pm
cp lib/ExtUtils/MM_MacOS.pm blib/lib/ExtUtils/MM_MacOS.pm
cp lib/ExtUtils/MM_VMS.pm blib/lib/ExtUtils/MM_VMS.pm
cp lib/ExtUtils/MM_BeOS.pm blib/lib/ExtUtils/MM_BeOS.pm
cp lib/ExtUtils/MakeMaker/Tutorial.pod
blib/lib/ExtUtils/MakeMaker/Tutorial.pod
cp lib/ExtUtils/MM_QNX.pm blib/lib/ExtUtils/MM_QNX.pm
cp inc/CPAN/Meta/Converter.pm blib/lib/CPAN/Meta/Converter.pm
cp lib/ExtUtils/Command/MM.pm blib/lib/ExtUtils/Command/MM.pm
cp inc/JSON/PP/Compat5006.pm blib/lib/JSON/PP/Compat5006.pm
cp lib/ExtUtils/MakeMaker/Config.pm
blib/lib/ExtUtils/MakeMaker/Config.pm
cp inc/CPAN/Meta.pm blib/lib/CPAN/Meta.pm
cp inc/CPAN/Meta/Prereqs.pm blib/lib/CPAN/Meta/Prereqs.pm
cp inc/CPAN/Meta/Validator.pm blib/lib/CPAN/Meta/Validator.pm
cp lib/ExtUtils/MM_Any.pm blib/lib/ExtUtils/MM_Any.pm
T:/PERL5/BIN/PERL.EXE "-Iblib/arch" "-Iblib/lib" -MExtUtils::Command
-e 'cp' -- bin/instmodsh blib/script/instmodsh
T:/PERL5/BIN/PERL.EXE "-Iblib/arch" "-Iblib/lib" -MExtUtils::MY -e
'MY->fixin(shift)' -- blib/script/instmodsh
MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
make.exe -- OK
'YAML' not installed, will not store persistent state
Running make test
T:/PERL5/BIN/PERL.EXE "-Iblib/arch" "-Iblib/lib"
"-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib',
'blib/arch')" t/*.t
t/00compile.t .............
No subtests run
t/arch_check.t ............
No subtests run
t/backwards.t .............
No subtests run
t/basic.t .................
No subtests run
t/build_man.t .............
No subtests run
t/cd.t ....................
No subtests run
t/config.t ................
No subtests run
t/dir_target.t ............
No subtests run
t/FIRST_MAKEFILE.t ........
No subtests run
t/fix_libs.t ..............
No subtests run
t/fixin.t .................
No subtests run
t/hints.t .................
No subtests run
t/INST.t ..................
No subtests run
t/INST_PREFIX.t ...........
No subtests run
t/INSTALL_BASE.t ..........
No subtests run
t/installed_file.t ........
No subtests run
t/is_of_type.t ............
No subtests run
t/Liblist.t ...............
No subtests run
t/Liblist_Kid.t ...........
No subtests run
t/make.t ..................
No subtests run
t/MakeMaker_Parameters.t ..
No subtests run
t/maketext_filter.t .......
No subtests run
t/meta_convert.t ..........
No subtests run
t/metafile_data.t .........
No subtests run
t/metafile_file.t .........
No subtests run
t/min_perl_version.t ......
No subtests run
t/miniperl.t ..............
No subtests run
t/Mkbootstrap.t ...........
No subtests run
t/MM_Any.t ................
No subtests run
t/MM_BeOS.t ...............
No subtests run
t/MM_Cygwin.t .............
No subtests run
t/MM_NW5.t ................
No subtests run
t/MM_OS2.t ................
No subtests run
t/MM_Unix.t ...............
No subtests run
t/MM_VMS.t ................
No subtests run
t/MM_Win32.t ..............
No subtests run
t/oneliner.t ..............
No subtests run
t/parse_abstract.t ........
No subtests run
t/parse_version.t .........
No subtests run
t/PL_FILES.t ..............
No subtests run
t/pm.t ....................
No subtests run
t/pm_to_blib.t ............
No subtests run
t/pod2man.t ...............
No subtests run
t/postamble.t .............
No subtests run
t/prefixify.t .............
No subtests run
t/prereq.t ................
No subtests run
t/prereq_print.t ..........
No subtests run
t/problems.t ..............
No subtests run
t/prompt.t ................
No subtests run
t/recurs.t ................
No subtests run
t/revision.t ..............
No subtests run
t/several_authors.t .......
No subtests run
t/split_command.t .........
No subtests run
t/test_boilerplate.t ......
No subtests run
t/testlib.t ...............
No subtests run
t/VERSION_FROM.t ..........
No subtests run
t/WriteEmptyMakefile.t ....
No subtests run
t/writemakefile_args.t ....
No subtests run
t/xs.t ....................
No subtests run
Test Summary Report
-------------------
t/00compile.t (Wstat: 189 Tests: 0 Failed: 0)
Non-zero wait status: 189
Parse errors: No plan found in TAP output
t/arch_check.t (Wstat: 190 Tests: 0 Failed: 0)
Non-zero wait status: 190
Parse errors: No plan found in TAP output
t/backwards.t (Wstat: 191 Tests: 0 Failed: 0)
Non-zero wait status: 191
Parse errors: No plan found in TAP output
t/basic.t (Wstat: 192 Tests: 0 Failed: 0)
Non-zero wait status: 192
Parse errors: No plan found in TAP output
t/build_man.t (Wstat: 193 Tests: 0 Failed: 0)
Non-zero wait status: 193
Parse errors: No plan found in TAP output
t/cd.t (Wstat: 194 Tests: 0 Failed: 0)
Non-zero wait status: 194
Parse errors: No plan found in TAP output
t/config.t (Wstat: 195 Tests: 0 Failed: 0)
Non-zero wait status: 195
Parse errors: No plan found in TAP output
t/dir_target.t (Wstat: 196 Tests: 0 Failed: 0)
Non-zero wait status: 196
Parse errors: No plan found in TAP output
t/FIRST_MAKEFILE.t (Wstat: 197 Tests: 0 Failed: 0)
Non-zero wait status: 197
Parse errors: No plan found in TAP output
t/fix_libs.t (Wstat: 198 Tests: 0 Failed: 0)
Non-zero wait status: 198
Parse errors: No plan found in TAP output
t/fixin.t (Wstat: 199 Tests: 0 Failed: 0)
Non-zero wait status: 199
Parse errors: No plan found in TAP output
t/hints.t (Wstat: 200 Tests: 0 Failed: 0)
Non-zero wait status: 200
Parse errors: No plan found in TAP output
t/INST.t (Wstat: 201 Tests: 0 Failed: 0)
Non-zero wait status: 201
Parse errors: No plan found in TAP output
t/INST_PREFIX.t (Wstat: 202 Tests: 0 Failed: 0)
Non-zero wait status: 202
Parse errors: No plan found in TAP output
t/INSTALL_BASE.t (Wstat: 203 Tests: 0 Failed: 0)
Non-zero wait status: 203
Parse errors: No plan found in TAP output
t/installed_file.t (Wstat: 204 Tests: 0 Failed: 0)
Non-zero wait status: 204
Parse errors: No plan found in TAP output
t/is_of_type.t (Wstat: 205 Tests: 0 Failed: 0)
Non-zero wait status: 205
Parse errors: No plan found in TAP output
t/Liblist.t (Wstat: 206 Tests: 0 Failed: 0)
Non-zero wait status: 206
Parse errors: No plan found in TAP output
t/Liblist_Kid.t (Wstat: 207 Tests: 0 Failed: 0)
Non-zero wait status: 207
Parse errors: No plan found in TAP output
t/make.t (Wstat: 208 Tests: 0 Failed: 0)
Non-zero wait status: 208
Parse errors: No plan found in TAP output
t/MakeMaker_Parameters.t (Wstat: 209 Tests: 0 Failed: 0)
Non-zero wait status: 209
Parse errors: No plan found in TAP output
t/maketext_filter.t (Wstat: 210 Tests: 0 Failed: 0)
Non-zero wait status: 210
Parse errors: No plan found in TAP output
t/meta_convert.t (Wstat: 211 Tests: 0 Failed: 0)
Non-zero wait status: 211
Parse errors: No plan found in TAP output
t/metafile_data.t (Wstat: 212 Tests: 0 Failed: 0)
Non-zero wait status: 212
Parse errors: No plan found in TAP output
t/metafile_file.t (Wstat: 213 Tests: 0 Failed: 0)
Non-zero wait status: 213
Parse errors: No plan found in TAP output
t/min_perl_version.t (Wstat: 214 Tests: 0 Failed: 0)
Non-zero wait status: 214
Parse errors: No plan found in TAP output
t/miniperl.t (Wstat: 215 Tests: 0 Failed: 0)
Non-zero wait status: 215
Parse errors: No plan found in TAP output
t/Mkbootstrap.t (Wstat: 216 Tests: 0 Failed: 0)
Non-zero wait status: 216
Parse errors: No plan found in TAP output
t/MM_Any.t (Wstat: 217 Tests: 0 Failed: 0)
Non-zero wait status: 217
Parse errors: No plan found in TAP output
t/MM_BeOS.t (Wstat: 218 Tests: 0 Failed: 0)
Non-zero wait status: 218
Parse errors: No plan found in TAP output
t/MM_Cygwin.t (Wstat: 219 Tests: 0 Failed: 0)
Non-zero wait status: 219
Parse errors: No plan found in TAP output
t/MM_NW5.t (Wstat: 220 Tests: 0 Failed: 0)
Non-zero wait status: 220
Parse errors: No plan found in TAP output
t/MM_OS2.t (Wstat: 221 Tests: 0 Failed: 0)
Non-zero wait status: 221
Parse errors: No plan found in TAP output
t/MM_Unix.t (Wstat: 222 Tests: 0 Failed: 0)
Non-zero wait status: 222
Parse errors: No plan found in TAP output
t/MM_VMS.t (Wstat: 223 Tests: 0 Failed: 0)
Non-zero wait status: 223
Parse errors: No plan found in TAP output
t/MM_Win32.t (Wstat: 224 Tests: 0 Failed: 0)
Non-zero wait status: 224
Parse errors: No plan found in TAP output
t/oneliner.t (Wstat: 225 Tests: 0 Failed: 0)
Non-zero wait status: 225
Parse errors: No plan found in TAP output
t/parse_abstract.t (Wstat: 226 Tests: 0 Failed: 0)
Non-zero wait status: 226
Parse errors: No plan found in TAP output
t/parse_version.t (Wstat: 227 Tests: 0 Failed: 0)
Non-zero wait status: 227
Parse errors: No plan found in TAP output
t/PL_FILES.t (Wstat: 228 Tests: 0 Failed: 0)
Non-zero wait status: 228
Parse errors: No plan found in TAP output
t/pm.t (Wstat: 229 Tests: 0 Failed: 0)
Non-zero wait status: 229
Parse errors: No plan found in TAP output
t/pm_to_blib.t (Wstat: 230 Tests: 0 Failed: 0)
Non-zero wait status: 230
Parse errors: No plan found in TAP output
t/pod2man.t (Wstat: 231 Tests: 0 Failed: 0)
Non-zero wait status: 231
Parse errors: No plan found in TAP output
t/postamble.t (Wstat: 232 Tests: 0 Failed: 0)
Non-zero wait status: 232
Parse errors: No plan found in TAP output
t/prefixify.t (Wstat: 233 Tests: 0 Failed: 0)
Non-zero wait status: 233
Parse errors: No plan found in TAP output
t/prereq.t (Wstat: 234 Tests: 0 Failed: 0)
Non-zero wait status: 234
Parse errors: No plan found in TAP output
t/prereq_print.t (Wstat: 235 Tests: 0 Failed: 0)
Non-zero wait status: 235
Parse errors: No plan found in TAP output
t/problems.t (Wstat: 236 Tests: 0 Failed: 0)
Non-zero wait status: 236
Parse errors: No plan found in TAP output
t/prompt.t (Wstat: 237 Tests: 0 Failed: 0)
Non-zero wait status: 237
Parse errors: No plan found in TAP output
t/recurs.t (Wstat: 238 Tests: 0 Failed: 0)
Non-zero wait status: 238
Parse errors: No plan found in TAP output
t/revision.t (Wstat: 239 Tests: 0 Failed: 0)
Non-zero wait status: 239
Parse errors: No plan found in TAP output
t/several_authors.t (Wstat: 240 Tests: 0 Failed: 0)
Non-zero wait status: 240
Parse errors: No plan found in TAP output
t/split_command.t (Wstat: 241 Tests: 0 Failed: 0)
Non-zero wait status: 241
Parse errors: No plan found in TAP output
t/test_boilerplate.t (Wstat: 242 Tests: 0 Failed: 0)
Non-zero wait status: 242
Parse errors: No plan found in TAP output
t/testlib.t (Wstat: 243 Tests: 0 Failed: 0)
Non-zero wait status: 243
Parse errors: No plan found in TAP output
t/VERSION_FROM.t (Wstat: 244 Tests: 0 Failed: 0)
Non-zero wait status: 244
Parse errors: No plan found in TAP output
t/WriteEmptyMakefile.t (Wstat: 245 Tests: 0 Failed: 0)
Non-zero wait status: 245
Parse errors: No plan found in TAP output
t/writemakefile_args.t (Wstat: 246 Tests: 0 Failed: 0)
Non-zero wait status: 246
Parse errors: No plan found in TAP output
t/xs.t (Wstat: 247 Tests: 0 Failed: 0)
Non-zero wait status: 247
Parse errors: No plan found in TAP output
Files=59, Tests=0, 12 wallclock secs (12.62 usr + 0.00 sys = 12.62
CPU)
Result: FAIL
MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
make.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module,
try:
reports MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
Running make install
make test had returned bad status, won't install without force
Failed during this command:
MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz : make_test NO
install: install a distribution
force: redo a command
Terminal does not support GetHistory.
Lockfile removed.

I then went to the build directory and just did a make install - but
it has made no difference :-(
 
D

Dave Saville

OK, now that's really suspicious. Since (I assume) most of those test
scripts are actually passing, Wstat should be 0 every time; the
incrementing value makes me think something has gone badly wrong with
the process-invocation machinery.

I suspect at this point that either your perl binaries or your EMX (or
whatever it's called) installation are seriously broken. Are you sure
you installed everything right? Are there any environment variables you
need to set? Is perl using the right shell (I don't know what the right
shell is under OS/2, but I understand it isn't cmd.exe)?

It's not EMX as such anymore even us dinosaur move forward :) Some of
us do have our suspicions about our current libc though. perl 5.8.2
runs more or less OK in doing CPAN as long as there is no compile
involved it usually works - Compile problems because of mis matched
paths between how the binary was built and what I have. So that
eliminates environment variables. The only difference in the setup is
perl 5.8.2 gets PERLLIB_PREFIX correct whilst 5.14 truncates the
paths. When it does the substitution it truncates the modifed path to
the length of the original. We have not tracked down why as the code
in that area does not appear to have changed from 5.10 which worked.
We suspect the issue is the significant rewrite to S_incpush in
perl.c. Near line 4432 we have

libdir = newSVpvn(PERLLIB_MANGLE(dir, len), len);

If we are reading the code right, this will do the substitution and
create a new string chopping it off at the old length. What I don't
understand is why 5.10.0 and older versions seem to work correctly
since the code is similar.

If you run

perl -E"say system q!perl -e1! for 1..3"

what do you get? (You should get 3 lines saying '0'.)

0
0
0
 
D

Dave Saville

Are you sure you have PERL_SH_DIR set correctly?

Poking into the build environment I found that sh was actually a copy
of ash. I tried with my own systems sh but it makes no difference.

<snip>
doesn't help unless you can rebuild perl, of course.

Passed to our porter
OK, so *something*'s working right. That's encouraging; but I'm not sure
where to go next...

If you're having problems with compiled-in paths being remapped badly,
is $^X working right?

perl -E'say $^X'

should print a valid path to perl; ideally it would be the full path,
but perl doesn't know how to find that on all OSes. If it's wrong you
should be able to set HARNESS_PERL in the environment to override it
(though other things may well break too).

That prints correct full path.
 
Ad

Advertisements

D

Dave Saville

What happens if you download a package from CPAN manually and try
installing it? What is your setup?

You might try 5.10; That's what I'm currently running on eCS and I can
install CPAN packages with it.

I installed 5.10 from Paul's site into root of a drive that also had
Paul's environment on it. Once again nothing works CPAN wise. Usually
"make test" runs no tests - they all come back "no subtests run". If
you try the tests individually they sometimes run OK, sometimes fail
and sometimes hang needing a CTRL-C.

On top of this I have the same problem as 5.8.2 in that the supplied
modules are too old to update. Choose a module, does not really matter
which, say A.

A won't install because it requires B.
B won't install because C is too low a level.
C won't install because A .......................

These are modules like Test* Module::Build etc. All you need to get up
tp date - except you can't. :-(

Doing a similar install of 5.14 yeilds the same mess - From a fresh
install I can't even install Astro::Sunrise which is working happily
on my 5.8.2 server from when it was installed on 5.8.0!
Now you see why I am still using 5.8.2. It might be old and
unsupported, but it actually works - as long as I don't need a new
module - which I do :-( This mess all started when I decided I needed
to be able to generate graphs on the fly for web pages.
 
D

Dave Saville

Have you tried manually downloading and untarring? I've not had the
problems you describe using that approach.

No because there are so many dependencies. Perhaps you have kept your
modules up to date?
 
D

Dave Saville

I would recommend you try installing the most recent versions of these
modules by hand (in this order):

ExtUtils::MakeMaker 6.63

perl Makefie.pl runs clean
make runs clean
and then

[T:\tmp\ExtUtils-MakeMaker-6.63_02]make test
U:/PERL5/BIN/PERL.EXE "-Iblib/arch" "-Iblib/lib"
"-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00compile.t ............. No subtests run
t/arch_check.t ............ No subtests run
t/backwards.t ............. No subtests run
t/basic.t ................. No subtests run
t/build_man.t ............. No subtests run
t/cd.t .................... No subtests run
t/config.t ................ No subtests run
t/dir_target.t ............ No subtests run
t/echo.t .................. No subtests run
t/FIRST_MAKEFILE.t ........ No subtests run
t/fix_libs.t .............. No subtests run
t/fixin.t ................. No subtests run
t/hints.t ................. No subtests run
Could not execute (U:/PERL5/BIN/PERL.EXE -w t/INST.t): open3:
IO::pipe: Can't sp
awn-NOWAIT: Invalid seek at
/perl5/lib/5.14.2/TAP/Parser/Iterator/Process.pm lin
e 168
make: *** [test_dynamic] Error 29

That last thing I have seen before and *might* be the old drive letter
problem
 
D

Dave Saville

I would recommend you try installing the most recent versions of these
modules by hand (in this order):

ExtUtils::MakeMaker
Test::More
Test::Harness
Module::Build
CPAN

Having seen that ExtUtils::MakeMaker seem to pass all test run
standalone except those that reinvoke the test method that fails with
"no subtests run" I did a "make install" anyway. This has changed
nothing. So I started onTest::More. There are so many tests I knocked
up my own quick and dirty tester

use strict;
use warnings;
opendir T, 't' or die "Can't open t $!";
my @tests = grep /\.t$/, readdir T;
closedir T;
foreach (@tests)
{
print "\n============ $_ ============\n";
print `perl -Mblib t/$_`;
}
print "\n Completed tests\n";

I then did a "grep -v ^^ok" to strip the ok responses. Problem is I
don't know enough to know if the errors below are real/matter or
whatever. The testers site you quoted says they all should pass.

============ 00compile.t ============
1..14
============ 00test_harness_check.t ============
1..1
============ bad_plan.t ============
1..2
============ bail_out.t ============
1..3
============ BEGIN_require_ok.t ============
1..2
============ BEGIN_use_ok.t ============
1..2
============ buffer.t ============
1..20
============ circular_data.t ============
1..11
============ cmp_ok.t ============
1..20
============ c_flag.t ============
1..1
============ dependents.t ============
1..0 # SKIP Dependents only tested when releasing
============ diag.t ============
1..7
============ died.t ============
1..3
============ dont_overwrite_die_handler.t ============
1..2
============ eq_set.t ============
1..4
not ok 4 # TODO eq_set() doesn't really handle references
# Failed (TODO) test at t/eq_set.t line 32.
============ exit.t ============
# Building up a map of exit codes. May take a while.
# Done.
1..270
============ explain.t ============
1..5
============ extra.t ============
1..5
============ extra_one.t ============
1..2
============ fail-like.t ============
1..4
============ fail-more.t ============
1..80
not ok 69 # TODO cmp_ok() gives the wrong "expected" for undef
# Failed (TODO) test at t/fail-more.t line 446.
# got: '# Failed test 'undef ne empty string'
# # at t/fail-more.t line 437.
# # got: undef
# # expected: anything else
# '
# expected: '# Failed test 'undef ne empty string'
# # at t/fail-more.t line 437.
# # got: undef
# # expected: ''
# '
============ fail.t ============
1..2
============ fail_one.t ============
1..2
============ filehandles.t ============
1..1
============ fork.t ============
1..1
============ harness_active.t ============
1..4
============ import.t ============
1..2
============ is_deeply_dne_bug.t ============
1..2
============ is_deeply_fail.t ============
1..100
============ is_deeply_with_threads.t ============
1..0 # Skip no working threads
============ missing.t ============
1..2
============ More.t ============
1..54
============ new_ok.t ============
1..13
============ note.t ============
1..2
============ no_plan.t ============
1..7
============ no_tests.t ============
1..3
============ overload.t ============
1..19
============ overload_threads.t ============
1..5
not ok 4 - Just checking todo as an overloaded value # TODO not really
todo, testing overloaded reason
# Failed (TODO) test 'Just checking todo as an overloaded value'
# at t/overload_threads.t line 53.
============ plan.t ============
1..4
============ plan_bad.t ============
1..12
============ plan_is_noplan.t ============
1..1
============ plan_no_plan.t ============
not ok 5 # TODO & SKIP Just testing todo_skip
1..6
============ plan_shouldnt_import.t ============
1..1
============ plan_skip_all.t ============
1..0 # SKIP Just testing plan & skip_all
============ pod-coverage.t ============
1..0 # SKIP Test::pod::Coverage 1.08 required for testing POD coverage
============ pod.t ============
1..0 # SKIP Test::pod 1.00 required for testing POD
============ require_ok.t ============
1..8
============ simple.t ============
1..3
============ skip.t ============
1..17
============ skipall.t ============
1..2
============ tbm_doesnt_set_exported_to.t ============
1..1
============ threads.t ============
1..0 # Skip: no working threads
============ thread_taint.t ============
1..1
============ todo.t ============
1..36
not ok 1 - Expected failure # TODO Just testing the todo interface.
# Failed (TODO) test 'Expected failure'
# at t/todo.t line 21.
not ok 2 - Another expected failure # TODO Just testing the todo
interface.
# Failed (TODO) test 'Another expected failure'
# at t/todo.t line 22.
not ok 5 - Yet another failure # TODO Just testing the todo interface.
# Failed (TODO) test 'Yet another failure'
# at t/todo.t line 34.
not ok 7 - ok # TODO testing that error messages don't leak out of
todo
# Failed (TODO) test 'ok'
# at t/todo.t line 43.
not ok 8 - like # TODO testing that error messages don't leak out of
todo
# Failed (TODO) test 'like'
# at t/todo.t line 45.
# 'this'
# doesn't match '(?^:that)'
not ok 9 - is # TODO testing that error messages don't leak out of
todo
# Failed (TODO) test 'is'
# at t/todo.t line 46.
# got: 'this'
# expected: 'that'
not ok 10 - isnt # TODO testing that error messages don't leak out of
todo
# Failed (TODO) test 'isnt'
# at t/todo.t line 47.
# got: 'this'
# expected: anything else
not ok 11 - Fooble->can('yarble') # TODO testing that error messages
don't leak out of todo
# Failed (TODO) test 'Fooble->can('yarble')'
# at t/todo.t line 49.
# Fooble->can('yarble') failed
not ok 12 - The class isa yarble # TODO testing that error messages
don't leak out of todo
# Failed (TODO) test 'The class isa yarble'
# at t/todo.t line 50.
# The class isn't a 'yarble' it's a ''
not ok 13 - use Fooble; # TODO testing that error messages don't leak
out of todo
# Failed (TODO) test 'use Fooble;'
# at t/todo.t line 51.
# Tried to use 'Fooble'.
# Error: Can't locate Fooble.pm in @INC (@INC contains:
T:/tmp/Test-Simple-0.98/blib/arch T:/tmp/Test-Simple-0.98/blib/lib
/perl5/lib/site_perl/5.14.2/os2 /perl5/lib/site_perl/5.14.2
/perl5/lib/5.14.2/os2 /perl5/lib/5.14.2 /perl5/lib/site_perl/5.10.0
/perl5/lib/site_perl .) at (eval 11) line 2.
# BEGIN failed--compilation aborted at (eval 11) line 2.
not ok 14 - require Fooble; # TODO testing that error messages don't
leak out of todo
# Failed (TODO) test 'require Fooble;'
# at t/todo.t line 52.
# Tried to require 'Fooble'.
# Error: Can't locate Fooble.pm in @INC (@INC contains:
T:/tmp/Test-Simple-0.98/blib/arch T:/tmp/Test-Simple-0.98/blib/lib
/perl5/lib/site_perl/5.14.2/os2 /perl5/lib/site_perl/5.14.2
/perl5/lib/5.14.2/os2 /perl5/lib/5.14.2 /perl5/lib/site_perl/5.10.0
/perl5/lib/site_perl .) at (eval 12) line 2.
not ok 15 # TODO & SKIP Just testing todo_skip
not ok 16 # TODO & SKIP Just testing todo_skip
not ok 17 # TODO & SKIP Just testing todo_skip
not ok 19 - Just testing todo # TODO testing $TODO with an incorrect
exported_to()
# Failed (TODO) test 'Just testing todo'
# at t/todo.t line 89.
not ok 20 - Testing todo_start() # TODO Expected failures
# Failed (TODO) test 'Testing todo_start()'
# at t/todo.t line 95.
not ok 21 - Testing todo_start() with more than one failure # TODO
Expected failures
# Failed (TODO) test 'Testing todo_start() with more than one
failure'
# at t/todo.t line 96.
not ok 24 - fail 1 # TODO Nesting TODO
# Failed (TODO) test 'fail 1'
# at t/todo.t line 107.
not ok 25 - fail 2 # TODO failure level 1
# Failed (TODO) test 'fail 2'
# at t/todo.t line 110.
not ok 26 - fail 3 # TODO failure_level 2
# Failed (TODO) test 'fail 3'
# at t/todo.t line 114.
not ok 27 - fail 4 # TODO failure level 1
# Failed (TODO) test 'fail 4'
# at t/todo.t line 118.
not ok 28 - fail 4 # TODO Nesting TODO
# Failed (TODO) test 'fail 4'
# at t/todo.t line 123.
not ok 31 - testing todo_start() with no message # TODO
# Failed (TODO) test 'testing todo_start() with no message'
# at t/todo.t line 132.
============ undef.t ============
1..21
============ useing.t ============
1..5
============ use_ok.t ============
1..15
============ utf8.t ============
1..5
============ versions.t ============
1..4
Completed tests
 
D

Dave Saville

Here's a rather crude hack you could try: put the following in
TAP/Harness/UseQx.pm somewhere in your @INC:
Hi Ben

Actually I'm back trying 5.14.2.

CPAN.pm: Going to build D/DO/DOY/Try-Tiny-0.11.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Try::Tiny
Writing MYMETA.yml and MYMETA.json
cp lib/Try/Tiny.pm blib/lib/Try/Tiny.pm
DOY/Try-Tiny-0.11.tar.gz
make.exe -- OK
'YAML' not installed, will not store persistent state
Running make test
U:/PERL5/BIN/PERL.EXE "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib'
, 'blib/arch')" t/*.t
UseQx: loaded
UseQx: running [perl -w t/basic.t]

# Failed test 'use Try::Tiny;'
# at t/basic.t line 8.
# Tried to use 'Try::Tiny'.
# Error: Can't locate Try/Tiny.pm in @INC (@INC contains:
/perl5/lib/site_p
erl/5.14.2/os2 /perl5/lib/site_perl/5.14.2 /perl5/lib/5.14.2/os2
/perl5/lib/5.14
..2 /perl5/lib/site_perl/5.10.0 /perl5/lib/site_perl .) at (eval 4) line
2.
# BEGIN failed--compilation aborted at (eval 4) line 2.

And without your hook

CPAN.pm: Going to build D/DO/DOY/Try-Tiny-0.11.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Try::Tiny
Writing MYMETA.yml and MYMETA.json
cp lib/Try/Tiny.pm blib/lib/Try/Tiny.pm
DOY/Try-Tiny-0.11.tar.gz
make.exe -- OK
'YAML' not installed, will not store persistent state
Running make test
U:/PERL5/BIN/PERL.EXE "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib'
, 'blib/arch')" t/*.t
t/basic.t ....... No subtests run
t/context.t ..... No subtests run
t/finally.t ..... No subtests run
t/given_when.t .. No subtests run
t/when.t ........ No subtests run
 
Ad

Advertisements

D

Dave Saville

No prblem Ben - I appreciate all you help.

This version makes one hell of a difference - this time Module::Build
(I had installed Try::Tiny as it passed all test using my tester):

=======================

Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.960001)
Enter 'h' for help.
Going to read 't:/CPAN/Metadata'
Database was generated on Sun, 27 May 2012 16:58:03 GMT
Fetching with HTTP::Tiny:
http://www.perl.org/CPAN/authors/01mailrc.txt.gz
Going to read 't:/CPAN/sources/authors/01mailrc.txt.gz'
........................................................................
.....DONE
Fetching with HTTP::Tiny:
http://www.perl.org/CPAN/modules/02packages.details.txt.gz
Going to read 't:/CPAN/sources/modules/02packages.details.txt.gz'
Database was generated on Tue, 29 May 2012 12:07:03 GMT
HTTP::Date not available
...............
New CPAN.pm version (v1.9800) available.
[Currently running version is v1.960001]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

...............................................................DONE
Fetching with HTTP::Tiny:
http://www.perl.org/CPAN/modules/03modlist.data.gz
Going to read 't:/CPAN/sources/modules/03modlist.data.gz'
........................................................................
.....DONE
Going to write t:/CPAN/Metadata
Running install for module 'Module::Build'
Running make for L/LE/LEONT/Module-Build-0.40.tar.gz
Checksum for
t:/CPAN/sources/authors/id/L/LE/LEONT/Module-Build-0.40.tar.gz ok
Scanning cache t:/CPAN/build for sizes
........................................................................
.....DONE
DEL(1/3): t:/CPAN/build/tmp-4213
DEL(2/3): t:/CPAN/build/tmp-4248
DEL(3/3): t:/CPAN/build/tmp-4286
CPAN.pm: Going to build L/LE/LEONT/Module-Build-0.40.tar.gz
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Module-Build' version '0.40'
Building Module-Build
LEONT/Module-Build-0.40.tar.gz
./Build -- OK
'YAML' not installed, will not store persistent state
Running Build test
t/00-compile.t ................. ok
t/PL_files.t ................... ok
t/actions/installdeps.t ........ ok
t/actions/manifest_skip.t ...... ok
t/add_property.t ............... ok
t/basic.t ...................... ok
t/bundle_inc.t ................. skipped: $ENV{MB_TEST_EXPERIMENTAL}
is not set
t/compat.t ..................... ok
t/compat/exit.t ................ ok
t/debug.t ...................... ok
t/destinations.t ............... ok
t/ext.t ........................ ok
t/extend.t ..................... ok
t/files.t ...................... ok
t/help.t ....................... ok
t/install.t .................... ok
t/install_extra_target.t ....... ok
t/manifypods.t ................. ok
t/metadata.t ................... ok
t/metadata2.t .................. ok
t/mymeta.t ..................... ok
t/new_from_context.t ........... ok
t/notes.t ...................... ok
t/par.t ........................ skipped: No compiler found
t/parents.t .................... ok
t/perl_mb_opt.t ................ ok
t/pod_parser.t ................. ok
t/ppm.t ........................ skipped: No compiler found
t/properties/dist_suffix.t ..... ok
t/properties/license.t ......... ok
t/properties/module_name.t ..... ok
t/properties/needs_compiler.t .. ok
t/properties/release_status.t .. ok
t/properties/requires.t ........ ok
t/properties/share_dir.t ....... ok
t/resume.t ..................... ok
t/runthrough.t ................. ok
t/sample.t ..................... ok
t/script_dist.t ................ ok
t/signature.t .................. ok
t/test_file_exts.t ............. ok
t/test_type.t .................. ok
t/test_types.t ................. ok
t/tilde.t ...................... ok
t/use_tap_harness.t ............
Failed 3/9 subtests
t/versions.t ................... ok
t/write_default_maniskip.t ..... ok
t/xs.t ......................... skipped: No compiler found
Test Summary Report
-------------------
t/use_tap_harness.t (Wstat: 0 Tests: 9 Failed: 3)
Failed tests: 2-3, 6
Files=48, Tests=1121, 685 wallclock secs (684.25 usr + 0.00 sys =
684.25 CPU)
Result: FAIL
LEONT/Module-Build-0.40.tar.gz
./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module,
try:
reports LEONT/Module-Build-0.40.tar.gz
Running Build install
make test had returned bad status, won't install without force
Failed during this command:
LEONT/Module-Build-0.40.tar.gz : make_test NO
Try::Tiny is up to date (0.11).
Terminal does not support GetHistory.
Lockfile removed.

======================================

That was the result of perl -MCPAN -eshell | tee log
But the shell window is a bit different. Soory the top is missing but
standard OS2 shell does not scroll :-(

# NON-ZERO WAIT STATUS: 248
# PARSE ERRORS: NO PLAN FOUND IN TAP OUTPUT
# FILES=1, TESTS=0, 0 WALLCLOCK SECS ( 0.58 USR + 0.00 SYS = 0.58
CPU)
# RESULT: FAIL
# '
# doesn't match '(?^m:^OK 1)'

# Failed test 'Should see test success message'
# at t/use_tap_harness.t line 41.
# 'COPYING LIB/SIMPLE.PM -> BLIB/LIB/SIMPLE.PM
# T/BASIC.T ..
# NO SUBTESTS RUN
#
# TEST SUMMARY REPORT
# -------------------
# T/BASIC.T (WSTAT: 248 TESTS: 0 FAILED: 0)
# NON-ZERO WAIT STATUS: 248
# PARSE ERRORS: NO PLAN FOUND IN TAP OUTPUT
# FILES=1, TESTS=0, 0 WALLCLOCK SECS ( 0.58 USR + 0.00 SYS = 0.58
CPU)
# RESULT: FAIL
# '
# doesn't match '(?^m:^ALL TESTS SUCCESSFUL)'

# Failed test 'Should see test success message'
# at t/use_tap_harness.t line 64.
# ''
# doesn't match '(?^m:^ALL TESTS SUCCESSFUL)'
# Looks like you failed 3 tests of 9.
UseQx: running [perl -w
-IT:/CPAN/build/Module-Build-0.40-bYRAte/blib/lib -IT:/C
PAN/build/Module-Build-0.40-bYRAte/blib/arch -It/lib -It/bundled -Ilib
t/version
s.t]
t/use_tap_harness.t ............
Failed 3/9 subtests
UseQx: running [perl -w
-IT:/CPAN/build/Module-Build-0.40-bYRAte/blib/lib -IT:/C
PAN/build/Module-Build-0.40-bYRAte/blib/arch -It/lib -It/bundled -Ilib
t/write_d
efault_maniskip.t]
t/versions.t ................... ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Build-0.40-bYRAte/blib/lib -IT:/C
PAN/build/Module-Build-0.40-bYRAte/blib/arch -It/lib -It/bundled -Ilib
t/xs.t]
t/write_default_maniskip.t ..... ok
Failed 1/48 test programs. 3/1121 subtests failed.
t/xs.t ......................... skipped: No compiler found

Test Summary Report
-------------------
t/use_tap_harness.t (Wstat: 0 Tests: 9 Failed: 3)
Failed tests: 2-3, 6
Files=48, Tests=1121, 685 wallclock secs (684.25 usr + 0.00 sys =
684.25 CPU)
Result: FAIL

Any idea why I am getting the "no compiler found" message?
Config_Heavy seems to know there is one.

At least we now seem to be getting somewhere.
 
D

Dave Saville

And another thing :)

CPAN.pm: Going to build Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Module-Runtime' version '0.013'
Building Module-Runtime
ZEFRAM/Module-Runtime-0.013.tar.gz
./Build -- OK
Running Build test
t/cmn.t ........... ok
t/dependency.t .... ok
t/import_error.t .. ok
t/ivmn.t .......... ok
t/ivms.t .......... ok
t/mnf.t ........... ok
t/pod_cvg.t ....... skipped: Test::pod::Coverage not available
t/pod_syn.t ....... skipped: Test::pod not available
t/rm.t ............ ok
ZEFRAM/Module-Runtime-0.013.tar.gz
./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module,
try:
reports ZEFRAM/Module-Runtime-0.013.tar.gz
Running Build install
make test had returned bad status, won't install without force

How the heck does that constitute a fail?
 
D

Dave Saville

Hi Ben
Well, that's basically expected. The test is testing that MB can use
TAP::Harness directly, rather than via Test::Harness, which of course
goes back to failing as before.

I'm not sure if you understand how the various modules involved here
interact? Basically, once upon a time there was Test::Harness, which ran
some tests and printed a summary report. It was rather old code, and
only really worked for testing CPAN distributions. Some people wanted to
extend it to do other useful things: running tests in parallel, for
instance, or running tests in some other language, or doing something
interesting with the results other than printing a summary.

So, it was decided to rewrite it, but the rewrite had to be given a
different name, so it could be installed alongside the real
Test::Harness. Eventually it was decided TAP::Harness was stable enough,
and Test::Harness was replaced with a thin layer that just provided
(some) of the old API on top of TAP::Harness.

HARNESS_SUBCLASS is a feature of the Test::Harness shim layer; MB's
t/use_tap_harness.t is testing a feature of MB where a module can
request to have its tests run using TAP::Harness, so that (for instance)
it can request they are run in parallel. Since using TAP::Harness
diectly fails, for reasons we have yet to determine, that MB test fails,
as will all tests of any module which uses that MB feature.

Thanks for the explanation.
t/xs.t ......................... skipped: No compiler found
Any idea why I am getting the "no compiler found" message?
Config_Heavy seems to know there is one.

Config_Heavy always thinks there is one; apparently ExtUtils::CBuilder
doesn't agree. What does this give you?
[T:\tmp]try.pl
Tempdir is [T:/tmp/yrfcyhiavq]
gcc -Iu:/perl5/lib/5.14.2/os2/CORE -Zdll -c -DDOSISH -DOS2=2 -DEMBED
-I. -I/usr/local/include -O2 -fomit-frame-pointer -falign-loops=2
-falign-jumps=2 -falign-functions=2 -s -o T:/tmp/yrfcyhiavq/lib.o
T:/tmp/yrfcyhiavq/lib.c
emximp -o T:/tmp/yrfcyhiavq/lib.a T:/tmp/yrfcyhiavq/lib.def
gcc -Zdll -Zomf -o T:/tmp/yrfcyhiavq/compilFH.dll
T:/tmp/yrfcyhiavq/lib.o u:/per
l5/lib/5.14.2/os2/CORE/libperl.a
u:/perl5/lib/5.14.2/os2/CORE/libperl_override.a
T:/tmp/yrfcyhiavq/lib.def
weakld: error: Unresolved symbol (UNDEF EXPORT) 'boot_compilet'.

weakld: info: The symbol is referenced by:
T:/tmp/yrfcyhiavq/lib.def
Ignoring
unresolved externals reported from weak prelinker.
Error! E2028: boot_compilet is an
undefined reference
Error! E2044: exported symbol boot_compilet not found
error building T:/tmp/yrfcyhiavq/compilFH.dll from
T:/tmp/yrfcyhiavq/lib.o u:/perl5/lib/5.14.2/os2/CORE/libperl.a at
/perl5/lib/5.14.2/ExtUtils/CBuilder/Base.pm line 310.
 
D

Dave Saville

Hmmm. CPAN.pm just goes off the exit status of './Build test', so if
that's wrong it will think the tests failed regardless of all the 'ok's.
If you 'look Module::Runtime' from the CPAN shell, then run

perl Build.PL
./Build
./Build test

what exit status do you get from the last step? (If you're using a shish
shell, 'echo $?'.) Are you still seeing the 'exit status increments by
one each time' you seemed to be getting before?

cpan[2]> look Module::Runtime
Going to read 't:/CPAN/Metadata'
Database was generated on Tue, 29 May 2012 12:07:03 GMT
Running look for module 'Module::Runtime'

Trying to open a subshell in the build directory...
Checksum for
t:/CPAN/sources/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz
ok
Scanning cache t:/CPAN/build for sizes
........................................................................
.....DONE

Working directory is t:/CPAN/build/Module-Runtime-0.013-k0Ogq7
# perl Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Module-Runtime' version '0.013'
# ./Build
Building Module-Runtime
# ./Build.test
../Build.test: No such file or directory
# ./Build test
UseQx: loaded
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/cmn.t]
t/cmn.t ........... ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/dependency.t]
t/dependency.t .... ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/import_error.t]
t/import_error.t .. ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/ivmn.t]
t/ivmn.t .......... ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/ivms.t]
t/ivms.t .......... ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/mnf.t]
t/mnf.t ........... ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/pod_cvg.t]
t/pod_cvg.t ....... skipped: Test::pod::Coverage not available
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/pod_syn.t]
t/pod_syn.t ....... skipped: Test::pod not available
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/rm.t]
t/rm.t ............ ok
UseQx: running [perl -w
-IT:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/lib -IT
:/CPAN/build/Module-Runtime-0.013-k0Ogq7/blib/arch t/taint.t]
"-T" is on the #! line, it must also be used on the command line at
t/taint.t line 1.
PANIC: could not determine iterator for input at
/perl5/lib/5.14.2/Test/Harness
..pm line 152
# echo $?
255

Seen that PANIC several times. Should we take this to PM? dave at
deezee dot org
 
D

Dave Saville

So it is a genuine failure, it just didn't get as far as printing the
header for t/taint.t. What's happening here is that UseQx doesn't
implement the logic to detect and run tests that use taint mode; so much
for trying to patch a complex system with a quick hack or two.

At this point I don't think this approach is viable: if we keep going
round we'll end up reimplementing the whole of TAP::* before it works
reliably. What we need to do is work out what is causing vanilla
TAP::Harness to fail, and how to fix it; unfortunately, without my
fingers on your keyboard I'm not sure how best to do that.

Maybe the first thing to do is run the tests for TAP::* and see what
fails? Make sure HARNESS_SUBCLASS is *unset*, then

cpan> look Test::Harness
$ perl Makefile.PL
$ make

and then go through t/*.t and t/compat/*.t and run each one through

perl -Mblib t/x.t | grep -E '^not ok'

to see what fails. Unfortunately the following tests can't be run like
that

t/aggregator.t
t/bailout.t
t/base.t
t/callbacks.t
t/errors.t
t/nested.t
t/object.t
t/premature-bailout.t
t/results.t
t/streams.t
t/yamlish-output.t
t/compat/version.t

because they use -T on the #! line; I can't see any simple way to run
them individually without falling foul of taint checks.

Can you not also put -T on the invocation? Or does that defeat the
object of the test?
I don't see any reason to: this is entirely on-topic for clpmisc, and
there is at least a chance someone else will spot something we don't. Of
course, if you'd rather, feel free; my email is valid, though I can't
promise I'll stick with this until it's solved.

Point. Just thought we were generating a lot of traffic for an obscure
port :)

Whan I said I have seen that PANIC before that was *before* your hack
went in if that makes any difference.
 
Ad

Advertisements

D

Dave Saville

Maybe the first thing to do is run the tests for TAP::* and see what
fails? Make sure HARNESS_SUBCLASS is *unset*, then

cpan> look Test::Harness
$ perl Makefile.PL
$ make

and then go through t/*.t and t/compat/*.t and run each one through

perl -Mblib t/x.t | grep -E '^not ok'

to see what fails.

Lots and lots :-(

000-load.t OK
aggregator.t -T
bailout.t -T
base.t -T
callbacks.t -T
compat
console.t OK
data
errors.t -T
file.t multiple
1..56
not ok 6 - ... the output should be correct
# Failed test '... the output should be correct'
# at t/file.t line 79.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = '1..1'
not ok 7 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/file.t line 80.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 8 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/file.t line 82.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.33 usr +
0.00 sys = 0.33 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 11 - ... the output should be correct
# Failed test '... the output should be correct'
# at t/file.t line 108.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = '1..1'
not ok 12 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/file.t line 109.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 13 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/file.t line 111.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.05 usr +
0.00 sys = 0.05 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 16 - ... the output should be correct
# Failed test '... the output should be correct'
# at t/file.t line 143.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = '1..1'
not ok 17 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/file.t line 144.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 18 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/file.t line 146.
# 'Files=2, Tests=0, 0 wallclock secs ( 0.11 usr +
0.00 sys = 0.11 CPU)'
# doesn't match '(?^:^Files=2, Tests=2, +\d+ wallclock secs)'
not ok 20 - ... the output should be correct
# Failed test '... the output should be correct'
# at t/file.t line 166.
# Structures begin differing at:
# $got->[0] = 't/source_tests/harness ..'
# $expected->[0] = 't/source_tests/harness .. ok'
not ok 21 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/file.t line 167.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 22 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/file.t line 169.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.06 usr +
0.00 sys = 0.06 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 24 - ... the output should be correct
# Failed test '... the output should be correct'
# at t/file.t line 187.
# Structures begin differing at:
# $got->[0] = 'Test Summary Report'
# $expected->[0] = 'All tests successful.'
not ok 25 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/file.t line 188.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 26 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/file.t line 190.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.07 usr +
0.00 sys = 0.07 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 29 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/file.t line 219.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = '1..2'
not ok 30 - ... and the failure summary should also be correct
# Failed test '... and the failure summary should also be correct'
# at t/file.t line 230.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = 'Test Summary Report'
not ok 33 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/file.t line 253.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'Failed 1/2 subtests'
not ok 36 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/file.t line 274.
# Structures begin differing at:
# $got->[2] = 't/source_tests/harness_failure (Wstat: 199
Tests: 0 Failed: 0)'
# $expected->[2] = 't/source_tests/harness_failure (Wstat: 0
Tests: 2 Failed: 1)'
not ok 38 - ... the output should be correct
# Failed test '... the output should be correct'
# at t/file.t line 308.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'not ok 2 - we have a something # TODO some
output'
not ok 39 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/file.t line 309.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.06 usr +
0.00 sys = 0.06 CPU)'
# doesn't match '(?^:^Files=1, Tests=3, +\d+ wallclock secs)'
not ok 40 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/file.t line 312.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 42 - ... failing test output should be correct
# Failed test '... failing test output should be correct'
# at t/file.t line 334.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = '1..2'
not ok 44 - ... and the badtap summary should also be correct
# Failed test '... and the badtap summary should also be correct'
# at t/file.t line 346.
# Structures begin differing at:
# $got->[0] = 'Parse errors: No plan found in TAP output'
# $expected->[0] = 'Test Summary Report'
not ok 47 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/file.t line 374.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'not ok 2 - this is another test'
not ok 50 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/file.t line 398.
# Structures begin differing at:
# $got->[4] = 't/sample-tests/no_output (Wstat: 203 Tests: 0
Failed: 0)'
# $expected->[4] = 't/sample-tests/no_output (Wstat: 0 Tests: 0
Failed: 0)'
not ok 53 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/file.t line 427.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = '# Failed test 'this is another test''
not ok 56 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/file.t line 459.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'not ok 2 - this is another test'
# Looks like you failed 28 tests of 56.

glob-to-regexp.t OK
grammar.t OK
harness-bailout.t
1..4

# Failed test 'sequential: bailout message'
# at t/harness-bailout.t line 49.
# ''
# doesn't match '(?^:FAILED--Further testing stopped:
GERONIMMMOOOOOO!!!)'
ok 1 - sequential: didn't exit
not ok 2 - sequential: bailout message

# Failed test 'parallel: bailout message'
# at t/harness-bailout.t line 49.
# 'Can't use an undefined value as an ARRAY
reference at T:/CP
AN/build/Test-Harness-3.23-TTH7uN/blib/lib/TAP/Parser/Multiplexer.pm
line 139.
# '
# doesn't match '(?^:FAILED--Further testing stopped:
GERONIMMMOOOOOO!!!)'
# Looks like you failed 2 tests of 4.
ok 3 - parallel: didn't exit
not ok 4 - parallel: bailout message

harness-subclass.t OK
harness.t
1..128
not ok 47 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 127.
# Structures begin differing at:
# $got->[1] = '[[red]]'
# $expected->[1] = '1..1'
not ok 48 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 128.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 49 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/harness.t line 130.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.32 usr +
0.00 sys = 0.32 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 52 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 160.
# Structures begin differing at:
# $got->[1] = '[[red]]'
# $expected->[1] = '1..1'
not ok 53 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 161.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 54 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/harness.t line 163.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.07 usr +
0.00 sys = 0.07 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 57 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 201.
# Structures begin differing at:
# $got->[1] = '[[red]]'
# $expected->[1] = '1..1'
not ok 58 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 202.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 59 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/harness.t line 204.
# 'Files=2, Tests=0, 0 wallclock secs ( 0.11 usr +
0.00 sys = 0.11 CPU)'
# doesn't match '(?^:^Files=2, Tests=2, +\d+ wallclock secs)'
not ok 60 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 224.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'ok'
not ok 61 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 225.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 62 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/harness.t line 227.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.04 usr +
0.00 sys = 0.04 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 63 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 245.
# Structures begin differing at:
# $got->[0] = 'Test Summary Report'
# $expected->[0] = 'All tests successful.'
not ok 64 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 246.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 65 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/harness.t line 248.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.03 usr +
0.00 sys = 0.03 CPU)'
# doesn't match '(?^:^Files=1, Tests=1, +\d+ wallclock secs)'
not ok 67 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/harness.t line 286.
# Structures begin differing at:
# $got->[1] = '[[red]]'
# $expected->[1] = '1..2'
not ok 68 - ... and the failure summary should also be correct
# Failed test '... and the failure summary should also be correct'
# at t/harness.t line 304.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '[[reset]]'
not ok 70 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/harness.t line 327.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'Failed 1/2 subtests'
not ok 72 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/harness.t line 348.
# Structures begin differing at:
# $got->[2] = 't/source_tests/harness_failure (Wstat: 165
Tests: 0 Failed: 0)'
# $expected->[2] = 't/source_tests/harness_failure (Wstat: 0
Tests: 2 Failed: 1)'
not ok 73 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 381.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'not ok 2 - we have a something # TODO some
output'
not ok 74 - ... and the report summary should look correct
# Failed test '... and the report summary should look correct'
# at t/harness.t line 382.
# 'Files=1, Tests=0, 0 wallclock secs ( 0.05 usr +
0.00 sys = 0.05 CPU)'
# doesn't match '(?^:^Files=1, Tests=3, +\d+ wallclock secs)'
not ok 75 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 385.
# 'Result: FAIL'
# doesn't match '(?^:^Result: PASS$)'
not ok 76 - ... and failing test output should be correct
# Failed test '... and failing test output should be correct'
# at t/harness.t line 433.
# Structures begin differing at:
# $got->[1] = '[[red]]'
# $expected->[1] = '1..2'
not ok 78 - ... and the badtap summary should also be correct
# Failed test '... and the badtap summary should also be correct'
# at t/harness.t line 454.
# Structures begin differing at:
# $got->[0] = '[[red]]'
# $expected->[0] = '[[reset]]'
not ok 83 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 490.
# Structures begin differing at:
# $got->[1] = 'No subtests run'
# $expected->[1] = 'not ok 2 - this is another test'
not ok 85 - ... and the output should be correct
# Failed test '... and the output should be correct'
# at t/harness.t line 514.
# Structures begin differing at:
# $got->[4] = 't/sample-tests/no_output (Wstat: 169 Tests: 0
Failed: 0)'
# $expected->[4] = 't/sample-tests/no_output (Wstat: 0 Tests: 0
Failed: 0)'
not ok 88 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 562.
# 'Result: FAIL
# '
# doesn't match '(?^:^Result: PASS$)'
not ok 89 - cat meows
# Failed test 'cat meows'
# at t/harness.t line 566.
# got: ' Parse errors: No plan found in TAP output
# '
# expected: 'All tests successful.
# '
not ok 96 - ... and the status line should be correct
# Failed test '... and the status line should be correct'
# at t/harness.t line 666.
# 'Result: FAIL
# '
# doesn't match '(?^:^Result: PASS$)'
not ok 97 - No exec accumulation
# Failed test 'No exec accumulation'
# at t/harness.t line 669.
# got: ' Parse errors: No plan found in TAP output
# '
# expected: 'All tests successful.
# '
All tests successful.
Files=1, Tests=1, 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01
CPU)
Result: PASS
# Looks like you failed 30 tests of 128.

iterator_factory.t OK
iterators.t
1..76
not ok 12 - Process: ... and exit should now return 0
(TAP::parser::Iterator::process)
# Failed test 'Process: ... and exit should now return 0
(TAP::parser::Iterator::process)'
# at t/iterators.t line 123.
# got: '-1'
# expected: '0'
not ok 13 - Process: wait should also now return 0
(TAP::parser::Iterator::process)
# Failed test 'Process: wait should also now return 0
(TAP::parser::Iterator::process)'
# at t/iterators.t line 126.
# got: '-1'
# expected: '0'
not ok 48 - Process (Perl -e): next() should return the first result
# Failed test 'Process (Perl -e): next() should return the first
result'
# at t/iterators.t line 108.
# got: undef
# expected: 'one'
not ok 49 - Process (Perl -e): next() should return the second result
# Failed test 'Process (Perl -e): next() should return the second
result'
# at t/iterators.t line 111.
# got: undef
# expected: 'two'
not ok 50 - Process (Perl -e): next() should return the third result
# Failed test 'Process (Perl -e): next() should return the third
result'
# at t/iterators.t line 114.
# got: undef
# expected: ''
not ok 51 - Process (Perl -e): next() should return the fourth result
# Failed test 'Process (Perl -e): next() should return the fourth
result'
# at t/iterators.t line 117.
# got: undef
# expected: 'three'
not ok 54 - Process (Perl -e): wait should also now return 0
(TAP::parser::Iterator::process)
# Failed test 'Process (Perl -e): wait should also now return 0
(TAP::parser::Iterator::process)'
# at t/iterators.t line 126.
# got: '229'
# expected: '0'
# Looks like you failed 7 tests of 76.

lib
multiplexer.t
Can't use an undefined value as an ARRAY reference at
T:/CPAN/build/Test-Harness-3.23-TTH7uN/blib/lib/TAP/Parser/Multiplexer
pm line 139.
1..15
# Looks like your test died just after 15.

nested.t -T
nofork-mux.t
Can't use an undefined value as an ARRAY reference at
T:/CPAN/build/Test-Harness-3.23-TTH7uN/blib/lib/TAP/Parser/Multiplexer
pm line 139.
Compilation failed in require at t/nofork-mux.t line 10.
1..15
# Looks like your test died just after 15.

nofork.t
Could not execute (U:/PERL5/BIN/PERL.EXE -MNoFork
t/sample-tests/simple): open3: Can't call method "close" on an
undefined value at /perl5/lib/5.14.2/IPC/Open3.pm line 415.
1..2
# Looks like your test died just after 2.

object.t -T
parse.t OK
parser-config.t OK
parser-subclass.t
1..14
not ok 9 - i has results isa MyResult
# Failed test 'i has results isa MyResult'
# at t/parser-subclass.t line 51.
# i has results isn't defined
not ok 10 - initialized MyResult
# Failed test 'initialized MyResult'
# at t/parser-subclass.t line 52.
# got: undef
# expected: '1'
not ok 11 - ... and it was customized
# Failed test '... and it was customized'
# at t/parser-subclass.t line 53.
# got: undef
# expected: '1'
not ok 12 - "initialized" MyResultFactory
# Failed test '"initialized" MyResultFactory'
# at t/parser-subclass.t line 54.
# got: undef
# expected: '1'
# Looks like you failed 4 tests of 14.

perl5lib.t
1..1
not ok 1
# Failed test at t/perl5lib.t line 49.
# Looks like you failed 1 test of 1.

premature-bailout.t -T
process.t
1..27
not ok 1 - I/O ok with delay at position 0, chunk size 1
# Failed test 'I/O ok with delay at position 0, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 2 - I/O ok with delay at position 1, chunk size 1
# Failed test 'I/O ok with delay at position 1, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 3 - I/O ok with delay at position 2, chunk size 1
# Failed test 'I/O ok with delay at position 2, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 4 - I/O ok with delay at position 3, chunk size 1
# Failed test 'I/O ok with delay at position 3, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 5 - I/O ok with delay at position 4, chunk size 1
# Failed test 'I/O ok with delay at position 4, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 6 - I/O ok with delay at position 5, chunk size 1
# Failed test 'I/O ok with delay at position 5, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 7 - I/O ok with delay at position 6, chunk size 1
# Failed test 'I/O ok with delay at position 6, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 8 - I/O ok with delay at position 7, chunk size 1
# Failed test 'I/O ok with delay at position 7, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 9 - I/O ok with delay at position 8, chunk size 1
# Failed test 'I/O ok with delay at position 8, chunk size 1'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 10 - I/O ok with delay at position 0, chunk size 4
# Failed test 'I/O ok with delay at position 0, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 11 - I/O ok with delay at position 1, chunk size 4
# Failed test 'I/O ok with delay at position 1, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 12 - I/O ok with delay at position 2, chunk size 4
# Failed test 'I/O ok with delay at position 2, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 13 - I/O ok with delay at position 3, chunk size 4
# Failed test 'I/O ok with delay at position 3, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 14 - I/O ok with delay at position 4, chunk size 4
# Failed test 'I/O ok with delay at position 4, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 15 - I/O ok with delay at position 5, chunk size 4
# Failed test 'I/O ok with delay at position 5, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 16 - I/O ok with delay at position 6, chunk size 4
# Failed test 'I/O ok with delay at position 6, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 17 - I/O ok with delay at position 7, chunk size 4
# Failed test 'I/O ok with delay at position 7, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 18 - I/O ok with delay at position 8, chunk size 4
# Failed test 'I/O ok with delay at position 8, chunk size 4'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 19 - I/O ok with delay at position 0, chunk size 65536
# Failed test 'I/O ok with delay at position 0, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 20 - I/O ok with delay at position 1, chunk size 65536
# Failed test 'I/O ok with delay at position 1, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 21 - I/O ok with delay at position 2, chunk size 65536
# Failed test 'I/O ok with delay at position 2, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 22 - I/O ok with delay at position 3, chunk size 65536
# Failed test 'I/O ok with delay at position 3, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 23 - I/O ok with delay at position 4, chunk size 65536
# Failed test 'I/O ok with delay at position 4, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 24 - I/O ok with delay at position 5, chunk size 65536
# Failed test 'I/O ok with delay at position 5, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 25 - I/O ok with delay at position 6, chunk size 65536
# Failed test 'I/O ok with delay at position 6, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 26 - I/O ok with delay at position 7, chunk size 65536
# Failed test 'I/O ok with delay at position 7, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
not ok 27 - I/O ok with delay at position 8, chunk size 65536
# Failed test 'I/O ok with delay at position 8, chunk size 65536'
# at t/process.t line 50.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = '1..5'
# Looks like you failed 27 tests of 27.

prove.t OK
proveenv.t OK
proverc
proverc.t OK
proverun.t
1..6
t/sample-tests/simple ..
No subtests run
Test Summary Report
-------------------
t/sample-tests/simple (Wstat: 130 Tests: 0 Failed: 0)
Non-zero wait status: 130
Parse errors: No plan found in TAP output
Files=1, Tests=0, 1 wallclock secs ( 0.32 usr + 0.00 sys = 0.32
CPU)
Result: FAIL
not ok 1 - run returned true
# Failed test 'run returned true'
# at t/proverun.t line 160.
t/sample-tests/todo_inline ..
No subtests run
Test Summary Report
-------------------
t/sample-tests/todo_inline (Wstat: 131 Tests: 0 Failed: 0)
Non-zero wait status: 131
Parse errors: No plan found in TAP output
Files=1, Tests=0, 0 wallclock secs ( 0.09 usr + 0.00 sys = 0.09
CPU)
Result: FAIL
not ok 4 - run returned true
# Failed test 'run returned true'
# at t/proverun.t line 160.
# Looks like you failed 2 tests of 6.

proveversion.t OK
regression.t
not ok 78 - ... and exit should equal 0 (bailout)
# Failed test '... and exit should equal 0 (bailout)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 97 - ... and wait should equal 0 (bailout)
# Failed test '... and wait should equal 0 (bailout)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 164 - ... and exit should equal 0 (bignum)
# Failed test '... and exit should equal 0 (bignum)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 181 - ... and wait should equal 0 (bignum)
# Failed test '... and wait should equal 0 (bignum)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 339 - ... and exit should equal 0 (bignum_many)
# Failed test '... and exit should equal 0 (bignum_many)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 356 - ... and wait should equal 0 (bignum_many)
# Failed test '... and wait should equal 0 (bignum_many)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 501 - ... and exit should equal 0 (combined)
# Failed test '... and exit should equal 0 (combined)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 520 - ... and wait should equal 0 (combined)
# Failed test '... and wait should equal 0 (combined)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 600 - ... and exit should equal 0 (descriptive)
# Failed test '... and exit should equal 0 (descriptive)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 619 - ... and wait should equal 0 (descriptive)
# Failed test '... and wait should equal 0 (descriptive)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 699 - ... and exit should equal 0 (descriptive_trailing)
# Failed test '... and exit should equal 0 (descriptive_trailing)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 718 - ... and wait should equal 0 (descriptive_trailing)
# Failed test '... and wait should equal 0 (descriptive_trailing)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1074 - ... and exit should equal 0 (duplicates)
# Failed test '... and exit should equal 0 (duplicates)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1091 - ... and wait should equal 0 (duplicates)
# Failed test '... and wait should equal 0 (duplicates)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1099 - ... and exit should equal 0 (empty)
# Failed test '... and exit should equal 0 (empty)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1118 - ... and wait should equal 0 (empty)
# Failed test '... and wait should equal 0 (empty)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1159 - ... and exit should equal 0 (escape_eol)
# Failed test '... and exit should equal 0 (escape_eol)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1178 - ... and wait should equal 0 (escape_eol)
# Failed test '... and wait should equal 0 (escape_eol)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1232 - ... and exit should equal 0 (escape_hash)
# Failed test '... and exit should equal 0 (escape_hash)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1251 - ... and wait should equal 0 (escape_hash)
# Failed test '... and wait should equal 0 (escape_hash)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1342 - ... and exit should equal 0 (head_end)
# Failed test '... and exit should equal 0 (head_end)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1361 - ... and wait should equal 0 (head_end)
# Failed test '... and wait should equal 0 (head_end)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1452 - ... and exit should equal 0 (head_fail)
# Failed test '... and exit should equal 0 (head_fail)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1471 - ... and wait should equal 0 (head_fail)
# Failed test '... and wait should equal 0 (head_fail)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1499 - ... and exit should equal 0 (inc_taint)
# Failed test '... and exit should equal 0 (inc_taint)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1518 - ... and wait should equal 0 (inc_taint)
# Failed test '... and wait should equal 0 (inc_taint)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1550 - ... and exit should equal 0 (junk_before_plan)
# Failed test '... and exit should equal 0 (junk_before_plan)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1569 - ... and wait should equal 0 (junk_before_plan)
# Failed test '... and wait should equal 0 (junk_before_plan)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1644 - ... and exit should equal 0 (no_nums)
# Failed test '... and exit should equal 0 (no_nums)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1663 - ... and wait should equal 0 (no_nums)
# Failed test '... and wait should equal 0 (no_nums)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1671 - ... and exit should equal 0 (no_output)
# Failed test '... and exit should equal 0 (no_output)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1688 - ... and wait should equal 0 (no_output)
# Failed test '... and wait should equal 0 (no_output)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1898 - ... and exit should equal 0 (out_of_order)
# Failed test '... and exit should equal 0 (out_of_order)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1914 - ... and wait should equal 0 (out_of_order)
# Failed test '... and wait should equal 0 (out_of_order)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 1995 - ... and exit should equal 0 (sequence_misparse)
# Failed test '... and exit should equal 0 (sequence_misparse)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2014 - ... and wait should equal 0 (sequence_misparse)
# Failed test '... and wait should equal 0 (sequence_misparse)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2053 - ... and exit should equal 0 (shbang_misparse)
# Failed test '... and exit should equal 0 (shbang_misparse)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2072 - ... and wait should equal 0 (shbang_misparse)
# Failed test '... and wait should equal 0 (shbang_misparse)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2147 - ... and exit should equal 0 (simple)
# Failed test '... and exit should equal 0 (simple)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2166 - ... and wait should equal 0 (simple)
# Failed test '... and wait should equal 0 (simple)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2241 - ... and exit should equal 0 (simple_fail)
# Failed test '... and exit should equal 0 (simple_fail)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2260 - ... and wait should equal 0 (simple_fail)
# Failed test '... and wait should equal 0 (simple_fail)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2346 - ... and exit should equal 0 (simple_yaml)
# Failed test '... and exit should equal 0 (simple_yaml)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2365 - ... and wait should equal 0 (simple_yaml)
# Failed test '... and wait should equal 0 (simple_yaml)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2441 - ... and exit should equal 0 (skip)
# Failed test '... and exit should equal 0 (skip)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2460 - ... and wait should equal 0 (skip)
# Failed test '... and wait should equal 0 (skip)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2488 - ... and exit should equal 0 (skip_nomsg)
# Failed test '... and exit should equal 0 (skip_nomsg)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2507 - ... and wait should equal 0 (skip_nomsg)
# Failed test '... and wait should equal 0 (skip_nomsg)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2524 - ... and exit should equal 0 (skipall)
# Failed test '... and exit should equal 0 (skipall)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2544 - ... and wait should equal 0 (skipall)
# Failed test '... and wait should equal 0 (skipall)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2561 - ... and exit should equal 0 (skipall_nomsg)
# Failed test '... and exit should equal 0 (skipall_nomsg)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2581 - ... and wait should equal 0 (skipall_nomsg)
# Failed test '... and wait should equal 0 (skipall_nomsg)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2595 - ... and exit should equal 0 (skipall_v13)
# Failed test '... and exit should equal 0 (skipall_v13)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2614 - ... and wait should equal 0 (skipall_v13)
# Failed test '... and wait should equal 0 (skipall_v13)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2689 - ... and exit should equal 0 (space_after_plan)
# Failed test '... and exit should equal 0 (space_after_plan)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2708 - ... and wait should equal 0 (space_after_plan)
# Failed test '... and wait should equal 0 (space_after_plan)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2799 - ... and exit should equal 0 (stdout_stderr)
# Failed test '... and exit should equal 0 (stdout_stderr)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2818 - ... and wait should equal 0 (stdout_stderr)
# Failed test '... and wait should equal 0 (stdout_stderr)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2849 - ... and exit should equal 0 (strict)
# Failed test '... and exit should equal 0 (strict)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2868 - ... and wait should equal 0 (strict)
# Failed test '... and wait should equal 0 (strict)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2896 - ... and exit should equal 0 (switches)
# Failed test '... and exit should equal 0 (switches)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2915 - ... and wait should equal 0 (switches)
# Failed test '... and wait should equal 0 (switches)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2942 - ... and exit should equal 0 (taint)
# Failed test '... and exit should equal 0 (taint)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 2961 - ... and wait should equal 0 (taint)
# Failed test '... and wait should equal 0 (taint)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3042 - ... and exit should equal 0 (todo)
# Failed test '... and exit should equal 0 (todo)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3061 - ... and wait should equal 0 (todo)
# Failed test '... and wait should equal 0 (todo)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3115 - ... and exit should equal 0 (todo_inline)
# Failed test '... and exit should equal 0 (todo_inline)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3134 - ... and wait should equal 0 (todo_inline)
# Failed test '... and wait should equal 0 (todo_inline)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3162 - ... and exit should equal 0 (todo_misparse)
# Failed test '... and exit should equal 0 (todo_misparse)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3181 - ... and wait should equal 0 (todo_misparse)
# Failed test '... and wait should equal 0 (todo_misparse)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3287 - ... and exit should equal 4 (too_many)
# Failed test '... and exit should equal 4 (too_many)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '4'
not ok 3382 - ... and exit should equal 0 (version_good)
# Failed test '... and exit should equal 0 (version_good)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3401 - ... and wait should equal 0 (version_good)
# Failed test '... and wait should equal 0 (version_good)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3479 - ... and exit should equal 0 (version_late)
# Failed test '... and exit should equal 0 (version_late)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3498 - ... and wait should equal 0 (version_late)
# Failed test '... and wait should equal 0 (version_late)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3576 - ... and exit should equal 0 (version_old)
# Failed test '... and exit should equal 0 (version_old)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3595 - ... and wait should equal 0 (version_old)
# Failed test '... and wait should equal 0 (version_old)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3653 - ... and exit should equal 0 (yaml_late_plan)
# Failed test '... and exit should equal 0 (yaml_late_plan)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3672 - ... and wait should equal 0 (yaml_late_plan)
# Failed test '... and wait should equal 0 (yaml_late_plan)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3752 - ... and exit should equal 0 (zero_valid)
# Failed test '... and exit should equal 0 (zero_valid)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
not ok 3771 - ... and wait should equal 0 (zero_valid)
# Failed test '... and wait should equal 0 (zero_valid)'
# at t/regression.t line 3258.
# got: '-1'
# expected: '0'
1..7432
# Looks like you failed 81 tests of 7432.

results.t -Y
sample-tests
scheduler.t OK
source_handler.t
1..79
not ok 13 - ... line 1
# Failed test '... line 1'
# at t/source_handler.t line 383.
# got: undef
# expected: '1..1'
not ok 14 - ... line 2
# Failed test '... line 2'
# at t/source_handler.t line 383.
# got: undef
# expected: 'ok 1 - source'
not ok 39 - ... line 1
# Failed test '... line 1'
# at t/source_handler.t line 383.
# got: undef
# expected: '1..1'
not ok 40 - ... line 2
# Failed test '... line 2'
# at t/source_handler.t line 383.
# got: undef
# expected: 'ok 1 - source'
# Looks like you failed 4 tests of 79.

source_tests
source.t OK
spool.t OK
state_results.t OK
state.t OK
streams.t _T
subclass_tests
taint.t
1..1
not ok 1
# Failed test at t/taint.t line 34.
# Looks like you failed 1 test of 1.

testargs.t
1..13
Can't call method "is_plan" on an undefined value at t/testargs.t line
37.
# Looks like your test died before it could output anything.

unicode.t OK
utils.t OK
yamlish-output.t -T
yamlish-writer.t OK
yamlish.t OK


compat

env.t 1..1
env_check_t.tmp ..
No subtests run
not ok 1
# Failed test at t/compat/env.t line 36.
# got: '1'
# expected: '0'
# Looks like you failed 1 test of 1.

failure.t
1..5
not ok 1 - simple lives
# Failed test 'simple lives'
# at t/compat/failure.t line 28.
not ok 2 - Death never happened
# Failed test 'Death never happened'
# at t/compat/failure.t line 29.
# got: '1'
# expected: '0'
# Looks like you failed 2 tests of 5.

inc_taint.t
1..1
not ok 1 - tests with taint on preserve @INC
# Failed test 'tests with taint on preserve @INC'
# at t/compat/inc_taint.t line 33.
# Looks like you failed 1 test of 1.

inc-propagation.t
1..2
inc_check_taint.t.tmp ..
No subtests run
not ok 1
# Failed test at t/compat/inc-propagation.t line 57.
# got: '1'
# expected: '0'
inc_check.t.tmp ..
No subtests run
not ok 2
# Failed test at t/compat/inc-propagation.t line 57.
# got: '1'
# expected: '0'
# Looks like you failed 2 tests of 2.

nonumbers.t OK
regression.t OK
subclass.t OK
switches.t OK
test-harness-compat.t
1..120
not ok 2 - totals match for descriptive
# Failed test 'totals match for descriptive'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '5'
not ok 3 - failure summary matches for descriptive
# Failed test 'failure summary matches for descriptive'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/descriptive} = HASH(0x26f1c44)
# $expected->{t/sample-tests/descriptive} = Does not exist
not ok 6 - totals match for
descriptive,die,die_head_end,die_last_minute,duplicates,head_end,head_
fail,inc_taint,junk_before_plan,lone_not_bug,no_nums,no_output,schwern
,sequence_misparse,shbang_misparse,simple,simple_fail,skip,skip_nomsg,
skipall,skipall_nomsg,stdout_stderr,taint,todo_inline,todo_misparse,to
o_many,vms_nit
# Failed test 'totals match for
descriptive,die,die_head_end,die_last_minute,duplicates,head_end,head_
fail,inc_taint,junk_before_plan,lone_not_bug,no_nums,no_output,schwern
,sequence_misparse,shbang_misparse,simple,simple_fail,skip,skip_nomsg,
skipall,skipall_nomsg,stdout_stderr,taint,todo_inline,todo_misparse,to
o_many,vms_nit'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '76'
not ok 7 - failure summary matches for
descriptive,die,die_head_end,die_last_minute,duplicates,head_end,head_
fail,inc_taint,junk_before_plan,lone_not_bug,no_nums,no_output,schwern
,sequence_misparse,shbang_misparse,simple,simple_fail,skip,skip_nomsg,
skipall,skipall_nomsg,stdout_stderr,taint,todo_inline,todo_misparse,to
o_many,vms_nit
# Failed test 'failure summary matches for
descriptive,die,die_head_end,die_last_minute,duplicates,head_end,head_
fail,inc_taint,junk_before_plan,lone_not_bug,no_nums,no_output,schwern
,sequence_misparse,shbang_misparse,simple,simple_fail,skip,skip_nomsg,
skipall,skipall_nomsg,stdout_stderr,taint,todo_inline,todo_misparse,to
o_many,vms_nit'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/no_nums}{max} = '??'
# $expected->{t/sample-tests/no_nums}{max} = '5'
not ok 8 - todo summary matches for
descriptive,die,die_head_end,die_last_minute,duplicates,head_end,head_
fail,inc_taint,junk_before_plan,lone_not_bug,no_nums,no_output,schwern
,sequence_misparse,shbang_misparse,simple,simple_fail,skip,skip_nomsg,
skipall,skipall_nomsg,stdout_stderr,taint,todo_inline,todo_misparse,to
o_many,vms_nit
# Failed test 'todo summary matches for
descriptive,die,die_head_end,die_last_minute,duplicates,head_end,head_
fail,inc_taint,junk_before_plan,lone_not_bug,no_nums,no_output,schwern
,sequence_misparse,shbang_misparse,simple,simple_fail,skip,skip_nomsg,
skipall,skipall_nomsg,stdout_stderr,taint,todo_inline,todo_misparse,to
o_many,vms_nit'
# at t/compat/test-harness-compat.t line 847.
# Structures begin differing at:
# $got->{t/sample-tests/todo_inline} = Does not exist
# $expected->{t/sample-tests/todo_inline} = HASH(0x260b634)
not ok 11 - failure summary matches for die
# Failed test 'failure summary matches for die'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/die}{wstat} = '219'
# $expected->{t/sample-tests/die}{wstat} = '256'
not ok 14 - totals match for die_head_end
# Failed test 'totals match for die_head_end'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{ok} = '0'
# $expected->{ok} = '4'
not ok 15 - failure summary matches for die_head_end
# Failed test 'failure summary matches for die_head_end'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/die_head_end}{wstat} = '220'
# $expected->{t/sample-tests/die_head_end}{wstat} = '256'
not ok 18 - totals match for die_last_minute
# Failed test 'totals match for die_last_minute'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '4'
not ok 19 - failure summary matches for die_last_minute
# Failed test 'failure summary matches for die_last_minute'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/die_last_minute}{max} = '??'
# $expected->{t/sample-tests/die_last_minute}{max} = '4'
not ok 22 - totals match for duplicates
# Failed test 'totals match for duplicates'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '10'
not ok 23 - failure summary matches for duplicates
# Failed test 'failure summary matches for duplicates'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/duplicates}{max} = '??'
# $expected->{t/sample-tests/duplicates}{max} = '10'
not ok 26 - totals match for head_end
# Failed test 'totals match for head_end'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '4'
not ok 27 - failure summary matches for head_end
# Failed test 'failure summary matches for head_end'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/head_end} = HASH(0x2a2b234)
# $expected->{t/sample-tests/head_end} = Does not exist
not ok 30 - totals match for head_fail
# Failed test 'totals match for head_fail'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '4'
not ok 31 - failure summary matches for head_fail
# Failed test 'failure summary matches for head_fail'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/head_fail}{max} = '??'
# $expected->{t/sample-tests/head_fail}{max} = '4'
not ok 34 - totals match for inc_taint
# Failed test 'totals match for inc_taint'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 35 - failure summary matches for inc_taint
# Failed test 'failure summary matches for inc_taint'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/inc_taint}{max} = '??'
# $expected->{t/sample-tests/inc_taint}{max} = '1'
not ok 38 - totals match for junk_before_plan
# Failed test 'totals match for junk_before_plan'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 39 - failure summary matches for junk_before_plan
# Failed test 'failure summary matches for junk_before_plan'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/junk_before_plan} = HASH(0x2a23b04)
# $expected->{t/sample-tests/junk_before_plan} = Does not exist
not ok 42 - totals match for lone_not_bug
# Failed test 'totals match for lone_not_bug'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '4'
not ok 43 - failure summary matches for lone_not_bug
# Failed test 'failure summary matches for lone_not_bug'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/lone_not_bug} = HASH(0x2a22af4)
# $expected->{t/sample-tests/lone_not_bug} = Does not exist
not ok 46 - totals match for no_nums
# Failed test 'totals match for no_nums'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '5'
not ok 47 - failure summary matches for no_nums
# Failed test 'failure summary matches for no_nums'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/no_nums}{max} = '??'
# $expected->{t/sample-tests/no_nums}{max} = '5'
not ok 51 - failure summary matches for no_output
# Failed test 'failure summary matches for no_output'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/no_output}{wstat} = '229'
# $expected->{t/sample-tests/no_output}{wstat} = ''
not ok 54 - totals match for schwern
# Failed test 'totals match for schwern'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 55 - failure summary matches for schwern
# Failed test 'failure summary matches for schwern'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/schwern} = HASH(0x2845324)
# $expected->{t/sample-tests/schwern} = Does not exist
not ok 58 - totals match for sequence_misparse
# Failed test 'totals match for sequence_misparse'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '5'
not ok 59 - failure summary matches for sequence_misparse
# Failed test 'failure summary matches for sequence_misparse'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/sequence_misparse} = HASH(0x2a31cd4)
# $expected->{t/sample-tests/sequence_misparse} = Does not exist
not ok 62 - totals match for shbang_misparse
# Failed test 'totals match for shbang_misparse'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '2'
not ok 63 - failure summary matches for shbang_misparse
# Failed test 'failure summary matches for shbang_misparse'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/shbang_misparse} = HASH(0x2845484)
# $expected->{t/sample-tests/shbang_misparse} = Does not exist
not ok 66 - totals match for simple
# Failed test 'totals match for simple'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '5'
not ok 67 - failure summary matches for simple
# Failed test 'failure summary matches for simple'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/simple} = HASH(0x2a28994)
# $expected->{t/sample-tests/simple} = Does not exist
not ok 70 - totals match for simple_fail
# Failed test 'totals match for simple_fail'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '5'
not ok 71 - failure summary matches for simple_fail
# Failed test 'failure summary matches for simple_fail'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/simple_fail}{max} = '??'
# $expected->{t/sample-tests/simple_fail}{max} = '5'
not ok 74 - totals match for skip
# Failed test 'totals match for skip'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '5'
not ok 75 - failure summary matches for skip
# Failed test 'failure summary matches for skip'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/skip} = HASH(0x2a2b814)
# $expected->{t/sample-tests/skip} = Does not exist
not ok 78 - totals match for skip_nomsg
# Failed test 'totals match for skip_nomsg'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 79 - failure summary matches for skip_nomsg
# Failed test 'failure summary matches for skip_nomsg'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/skip_nomsg} = HASH(0x2a22d04)
# $expected->{t/sample-tests/skip_nomsg} = Does not exist
not ok 82 - totals match for skipall
# Failed test 'totals match for skipall'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{skipped} = '0'
# $expected->{skipped} = '1'
not ok 83 - failure summary matches for skipall
# Failed test 'failure summary matches for skipall'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/skipall} = HASH(0x2a23754)
# $expected->{t/sample-tests/skipall} = Does not exist
not ok 86 - totals match for skipall_nomsg
# Failed test 'totals match for skipall_nomsg'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{skipped} = '0'
# $expected->{skipped} = '1'
not ok 87 - failure summary matches for skipall_nomsg
# Failed test 'failure summary matches for skipall_nomsg'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/skipall_nomsg} = HASH(0x2a288a4)
# $expected->{t/sample-tests/skipall_nomsg} = Does not exist
not ok 90 - totals match for stdout_stderr
# Failed test 'totals match for stdout_stderr'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '4'
not ok 91 - failure summary matches for stdout_stderr
# Failed test 'failure summary matches for stdout_stderr'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/stdout_stderr} = HASH(0x2a23794)
# $expected->{t/sample-tests/stdout_stderr} = Does not exist
not ok 94 - totals match for switches
# Failed test 'totals match for switches'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 95 - failure summary matches for switches
# Failed test 'failure summary matches for switches'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/switches}{max} = '??'
# $expected->{t/sample-tests/switches}{max} = '1'
not ok 98 - totals match for taint
# Failed test 'totals match for taint'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 99 - failure summary matches for taint
# Failed test 'failure summary matches for taint'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/taint} = HASH(0x2a26564)
# $expected->{t/sample-tests/taint} = Does not exist
not ok 102 - totals match for taint_warn
# Failed test 'totals match for taint_warn'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 103 - failure summary matches for taint_warn
# Failed test 'failure summary matches for taint_warn'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/taint_warn} = HASH(0x2a296b4)
# $expected->{t/sample-tests/taint_warn} = Does not exist
not ok 106 - totals match for todo_inline
# Failed test 'totals match for todo_inline'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '3'
not ok 107 - failure summary matches for todo_inline
# Failed test 'failure summary matches for todo_inline'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/todo_inline} = HASH(0x2a304f4)
# $expected->{t/sample-tests/todo_inline} = Does not exist
not ok 108 - todo summary matches for todo_inline
# Failed test 'todo summary matches for todo_inline'
# at t/compat/test-harness-compat.t line 847.
# Structures begin differing at:
# $got->{t/sample-tests/todo_inline} = Does not exist
# $expected->{t/sample-tests/todo_inline} = HASH(0x25775c4)
not ok 110 - totals match for todo_misparse
# Failed test 'totals match for todo_misparse'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '1'
not ok 111 - failure summary matches for todo_misparse
# Failed test 'failure summary matches for todo_misparse'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/todo_misparse}{max} = '??'
# $expected->{t/sample-tests/todo_misparse}{max} = '1'
not ok 114 - totals match for too_many
# Failed test 'totals match for too_many'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '3'
not ok 115 - failure summary matches for too_many
# Failed test 'failure summary matches for too_many'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/too_many}{max} = '??'
# $expected->{t/sample-tests/too_many}{max} = '3'
not ok 118 - totals match for vms_nit
# Failed test 'totals match for vms_nit'
# at t/compat/test-harness-compat.t line 844.
# Structures begin differing at:
# $got->{max} = '0'
# $expected->{max} = '2'
not ok 119 - failure summary matches for vms_nit
# Failed test 'failure summary matches for vms_nit'
# at t/compat/test-harness-compat.t line 845.
# Structures begin differing at:
# $got->{t/sample-tests/vms_nit}{max} = '??'
# $expected->{t/sample-tests/vms_nit}{max} = '2'
# Looks like you failed 60 tests of 120.

version.t -T
 
D

Dave Saville

Well, that's not good. Have you succeeded in building any XS extensions
at all? What about MakeMaker-based ones: List::Util would be a good one
to try? If you've got gcc, have you got a nm, so you can see whether
lib.o exports that symbol?

I don't really know what those utilities are supposed to do (presumably
emximp builds a DLL import library? If that's necessary then why is it
not part of the link?) but it looks to me as though your development
environment is either rather broken or not compatible with your perl
install. If you're sure you've installed it all right you might want to
talk to Paul Smedley, who will presumably know how this is all supposed
to work (for instance, why does the DLL link libperl.a? That's not usual
on Unix platforms. And what's that rather suspicious-looking
libperl_override.a?).

[T:\tmp\ehMrMfzEos]ls
lib.a lib.c lib.def lib.o

[T:\tmp\ehMrMfzEos]nm lib.o
00000000 T _boot_compilet

List::Utils

Oh dear, we have fallen into another hephalump trap to do I suspect
with the port. Like the truncation of @INC paths when using
PERRLIB_PREFIX and the replacement is longer than the original.

In file included from ListUtil.xs:7:
u:/perl5/lib/5.14.2/os2/CORE/perl.h:2577:27: os2ish.h: No such file or
directory

At first I thought it was telling porkies as an ls CORE shows
os2ish.h. But a closer look shows the entry to in fact be a soft link
to os2/os2ish.h which indeed does not exist. Wonder when that changed?
5.8.2 has the actual file in CORE. I think you are right and it's time
to rattle Paul again :)
 
D

Dave Saville

Hi Ben

I think we have found the cause of the compilet fails. From my friend
Steven Levine:

===============================
It's the default calling convention. Our gcc defaults
to the cdecl calling convention. So objdump reports
objdump.exe --syms e:\tmp\wrOFA39OLc\lib.o

e:\tmp\wrOFA39OLc\lib.o: file format a.out-emx

SYMBOL TABLE:
00000000 g .text 0000 00 05 _boot_compilet

There are a couple of ways to fix the code. One is the specify a
calling
convention

int _System boot_compilet() { return 1; }

Another is to change the .def exports to

EXPORTS
_boot_compilet

=============================

I assume that there is something amiss in either Config.pm or
Config_Heavy.pl - but at the moment I have no idea what to look for. I
also asssume that this is something the configure stage of the port
ought to have picked up on.
 
Ad

Advertisements

D

Dave Saville

Hi Ben

I am informed that it is possible that Windows also uses the _ prefix
- So how is it handled there? I don't think perl does ifdefs so it
must be handled in the makefiles - yes?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top