Subject: | Test::Simple 'reset.t' test case failures (2-14) on VMS, & patch. |
Test::Simple 0.62
This is perl, v5.8.7 built for VMS_AXP
Failed Test Stat Wstat Total Fail Failed List of Failed
---------------------------------------------------------
t/reset.t 44 1024 14 26 185.71% 2-14
5 tests and 9 subtests skipped.
Failed 1/63 test scripts, 98.41% okay. 13/478 subtests failed, 97.28%
okay.
t/reset...................
Can't open test output log foo.tmp: file currently locked by another
user at <removed>/TEST-SIMPLE-0_62/blib/lib/Test/Builder.pm line 1268.
%SYSTEM-F-ABORT, abort
dubious
Test returned status 44 (wstat 1024, 0x400)
(VMS status is 44)
DIED. FAILED tests 2-14
Failed 13/14 tests, 7.14% okay
Failures are due to VMS file system locking, when debugging these
failures, VMS file system versioning can also come into play.
Here are the lines I edited to fix these failures:
-----
line 25 of reset.t (this is the cause of the failure)
# These files were once one file, but due to OS's with file locking
(VMS) I split them into 3 files.
my $tmpfile_output = 'tmp_output.tmp';
my $tmpfile_failure_output = 'tmp_failure_output.tmp';
my $tmpfile_todo_output = 'tmp_todo_output.tmp';
$tb->output($tmpfile_output);
$tb->failure_output($tmpfile_failure_output);
$tb->todo_output($tmpfile_todo_output);
END { 1 while unlink $tmpfile_output; 1 while unlink
$tmpfile_failure_output; 1 while unlink $tmpfile_todo_output; }
-----
line 40 of output.t (this change would help OS's with file versioning)
change:
END { unlink($tmpfile) }
to:
END { 1 while unlink $tmpfile } # Required for file systems with
multiple versions, i.e. VMS
-----
line 22 of is_fh.t (this change would help OS's with file versioning)
change:
END { close FILE; unlink 'foo' }
to:
END { close FILE; 1 while unlink 'foo' } # Required for file systems
with multiple versions, i.e. VMS
-----
Cheers,
Peter (Stig) Edwards