Subject: | MPE/iX exit codes wrong |
Thus spake Mark Bixby <mark@bixby.org>:
16433 tests OK on MPE, including "make install".
New test failures since the last go round of 15877 were in
lib/Test/Harness/t/strap-analyze and test-harness:
../lib/Test/Harness/t/strap-analyze...ok 8/35# Failed test (../lib/Test/Harn
ess/t/strap-analyze.t at line 398)
../lib/Test/Harness/t/strap-analyze...NOK 9# Structures begin differing at:
# $got->{exit} = '0.00390625'
# $expected->{exit} = '1'
../lib/Test/Harness/t/strap-analyze...NOK 11# Failed test (../lib/Test/Harne
ss/t/strap-analyze.t at line 398)
# Structures begin differing at:
# $got->{exit} = '0.00390625'
# $expected->{exit} = '1'
../lib/Test/Harness/t/strap-analyze...ok 16/35# Failed test (../lib/Test/Har
ness/t/strap-analyze.t at line 398)
../lib/Test/Harness/t/strap-analyze...NOK 17# Structures begin differing at:
# $got->{exit} = '0.00390625'
# $expected->{exit} = '1'
../lib/Test/Harness/t/strap-analyze...ok 35/35# Looks like you failed 3 tests of
35.
../lib/Test/Harness/t/strap-analyze...dubious
Test returned status 0 (wstat 3, 0x3)
DIED. FAILED tests 9, 11, 17
Failed 3/35 tests, 91.43% okay
../lib/Test/Harness/t/strap...........ok
../lib/Test/Harness/t/test-harness....ok 16/77# Failed test (../lib/Test/Har
ness/t/test-harness.t at line 395)
../lib/Test/Harness/t/test-harness....NOK 17# Structures begin differing at:
# $got->{wstat} = '1'
# $expected->{wstat} = '256'
../lib/Test/Harness/t/test-harness....ok 20/77# Failed test (../lib/Test/Har
ness/t/test-harness.t at line 395)
../lib/Test/Harness/t/test-harness....NOK 21# Structures begin differing at:
# $got->{wstat} = '1'
# $expected->{wstat} = '256'
../lib/Test/Harness/t/test-harness....ok 68/77# Failed test (../lib/Test/Har
ness/t/test-harness.t at line 395)
../lib/Test/Harness/t/test-harness....NOK 69# Structures begin differing at:
# $got->{wstat} = '1'
# $expected->{wstat} = '256'
../lib/Test/Harness/t/test-harness....ok 76/77# Looks like you failed 3 tests of
77.
../lib/Test/Harness/t/test-harness....dubious
Test returned status 0 (wstat 3, 0x3)
DIED. FAILED tests 17, 21, 69
Failed 3/77 tests, 96.10% okay
On 15877 both of these tests completed without any errors.
The lack of documentation within these test scripts in combination with my lack
of free time precludes me from really understanding what they are trying to do.
But the references to "exit" and "wstat" suggests this is the good old exit()
status problem that has been with the MPE port of Perl since Day One.
Apparently Perl scripts all take the 32-bit exit status value and then shift it
right 8 bits to get the exit() parameter value. But on MPE, the exit()
parameter value is already in the low-order 8 bits of the exit status word, so
the right-shift replaces it with other bits, thus leading to test failures.
So far I've never had the time & personal motivation to look further into this,
which is not helped by a total absence of complaints about it by the MPE Perl
community.
If this exit() status thing sounds similar to other OSes for which a ready
solution exists rather than modifying all of the test cases to behave
differently on MPE (a la VMS), point me in the right direction and I'll see
what I can do to fix it on MPE.
- Mark B.