$! Test.Com - DCL driver for perl5 regression tests
$!
-$! Version 1.0 30-Sep-1994
+$! Version 1.1 4-Dec-1995
$! Charles Bailey bailey@genetics.upenn.edu
$
$! A little basic setup
$ On Error Then Goto wrapup
$ olddef = F$Environment("Default")
-$ Set Default Perl_Root:[t]
+$ If F$Search("t.dir").nes.""
+$ Then
+$ Set Default [.t]
+$ Else
+$ If F$TrnLNm("Perl_Root").nes.""
+$ Then
+$ Set Default Perl_Root:[t]
+$ Else
+$ Write Sys$Error "Can't find test directory"
+$ Exit 44
+$ EndIf
+$ EndIf
$
$! Pick up a copy of perl to use for the tests
$ Delete/Log/NoConfirm Perl.;*
.end echo
$ Link/NoTrace Echo.Obj;
$ Delete/Log/NoConfirm Echo.Obj;*
-$ echo = "$Perl_Root:[T]Echo.Exe"
+$ echo = "$" + F$Parse("Echo.Exe")
$
$! And do it
-$ MCR Sys$Disk:[]Perl.
+$ testdir = "Directory/NoHead/NoTrail/Column=1"
+$ Define/User Perlshr Sys$Disk:[-]PerlShr.Exe
+$ MCR Sys$Disk:[]Perl. "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'"
$ Deck/Dollar=$$END-OF-TEST$$
# $RCSfile: TEST,v $$Revision: 4.1 $$Date: 92/08/07 18:27:00 $
# Modified for VMS 30-Sep-1994 Charles Bailey bailey@genetics.upenn.edu
$| = 1;
-#if ($ARGV[0] eq '-v') {
+@ARGV = grep($_,@ARGV); # remove empty elements due to "''p1'" syntax
+
+if ($ARGV[0] eq '-v') {
$verbose = 1;
-# shift;
-#}
+ shift;
+}
chdir 't' if -f 't/TEST';
if ($ARGV[0] eq '') {
- @files = split(/[ \n]/, `\$ dir/col=1/nohead/notrail [...]*.t;`);
- foreach (@files) {
- $fname = $_;
- $fname =~ s/.*\]([\w\$\-]+\.T);.*/$1/;
+ foreach (<[.*]*.t>) {
+ s/.*[\[.]t./[./;
+ ($fname = $_) =~ s/.*\]//;
if ($skip{"\L$fname"}) { push(@skipped,$_); }
else { push(@ARGV,$_); }
}
if (@skipped) {
print "The following tests were skipped because they rely extensively on\n";
print " Unixisms not compatible with the current version of perl for VMS:\n";
- print "\t",join("\n\t",@skipped);
+ print "\t",join("\n\t",@skipped),"\n\n";
}
$bad = 0;
}
$te = $test;
chop($te);
- print "$te" . '.' x (15 - length($te)) . "\n";
+ $te .= '.' x (24 - length($te));
open(script,"$test") || die "Can't run $test.\n";
$_ = <script>;
close(script);
$next = 0;
while (<results>) {
if ($verbose) {
- print $_;
+ print "$te$_";
+ $te = '';
}
unless (/^#/) {
if (/^1\.\.([0-9]+)/) {
}
$next = $next - 1;
if ($ok && $next == $max) {
- print "ok\n";
+ print "${te}ok\n";
$good = $good + 1;
} else {
$next += 1;
- print "FAILED on test $next\n";
+ print "${te}FAILED on test $next\n";
$bad = $bad + 1;
$_ = $test;
if (/^base/) {