my @tests = ();
+# [.VMS]TEST.COM calls harness with empty arguments, so clean-up @ARGV
+@ARGV = grep $_ && length( $_ ) => @ARGV;
+
if (@ARGV) {
if ($^O eq 'MSWin32') {
@tests = map(glob($_),@ARGV);
@ Continue
test : all [.t.lib]vmsfspec.t [.t.lib]vms_dclsym.t [.t.lib]vms_stdio.t
- - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
+ - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)" "TEST."
+ @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
+
+test_harness : all [.t.lib]vmsfspec.t [.t.lib]vms_dclsym.t [.t.lib]vms_stdio.t
+ - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)" "HARNESS."
@ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
# install ought not need a source, but it doesn't work if one's not
$ oldpriv = F$SetPrv("NOALL") ! downgrade privs for safety
$ discard = F$SetPrv("NETMBX,TMPMBX") ! only need these to run tests
$!
-$! Process arguments. P1 is the file extension of the Perl images. P2,
-$! when not empty, indicates that we are testing a version of Perl built for
-$! the VMS debugger. The other arguments are passed directly to t/TEST.
+$! Process arguments. P1 is the file extension of the Perl images.
+$! P2, when not empty, indicates that we are testing a version of Perl built
+$! for the VMS debugger. The other arguments are passed directly to t/TEST.
+$! P3 is the test target to use:
+$! TEST. or harness.
$!
$ exe = ".Exe"
$ If p1.nes."" Then exe = p1
$ if p2.nes."" then dbg = "dbg"
$ if p2.nes."" then ndbg = "ndbg"
$!
+$! P3 - testfile
+$ testfile = "TEST."
+$ if p3.nes."" then testfile = p3
+$!
$! Make sure we are where we need to be.
$ If F$Search("t.dir").nes.""
$ Then
$ PerlShr_filespec = f$parse("Sys$Disk:[-]''dbg'PerlShr''exe'")
$ Define 'dbg'Perlshr 'PerlShr_filespec'
$ If F$Mode() .nes. "INTERACTIVE" Then Define/Nolog PERL_SKIP_TTY_TEST 1
-$ MCR Sys$Disk:[]Perl. "-I[-.lib]" TEST. "''p3'" "''p4'" "''p5'" "''p6'"
+$ MCR Sys$Disk:[]Perl. "-I[-.lib]" 'testfile' "''p4'" "''p5'" "''p6'" "''p7'"
$ goto wrapup
$!
$ Control_Y_exit: