I mentioned to Michael Schwern
recently that I'd look into seeing if we could
support a "test_harness" target in the VMS
build.  Enclosed is a patch that provides it
but running:

   mmk test_harness

runs into a lot of "spurious" failures
and does not even appear as nice
as running harness by hand by:

  1) defining your PERL_ROOT to point to the build tree
      (and assign perl foreign symbol if needed).
  2) set def [.t]
  3) perl "-I[-.lib]" harness

At any rate this could cut the preliminary
modifications to files vms/descrip_mms.template
and to vms/test.com.  Would anyone object to this
approach?  Note that I have shifted the "''p\d'"
parameters handled by test.com so as to use p3
for turning in the harness run (while leaving the
TEST run the default).  Does that seem OK?

diff -ru perl_21251/vms/descrip_mms.template perl/vms/descrip_mms.template
--- perl_21251/vms/descrip_mms.template   2003-09-02 09:42:01.000000000 -0400
+++ perl/vms/descrip_mms.template   2003-09-18 15:45:56.000000000 -0400
@@ -1226,6 +1226,10 @@
      - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
      @ $(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
 # there. Go figure...
 install : $(MINIPERL_EXE)
diff -ru perl_21251/vms/test.com perl/vms/test.com
--- perl_21251/vms/test.com   2003-09-02 09:42:02.000000000 -0400
+++ perl/vms/test.com   2003-09-18 16:36:08.000000000 -0400
@@ -1,5 +1,6 @@
 $!  Test.Com - DCL wrapper for perl5 regression test driver
 $!
+$!  Version 2.1  18-September-2003   Peter Prymmer added t/harness support.
 $!  Version 2.0  25-April-2002   Craig Berry  [EMAIL PROTECTED]
 $!                               (and many other hands in the last 7+ years)
 $!  The most significant difference is that we now run the external t/TEST
@@ -18,7 +19,9 @@
 $!
 $! 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.
+$! the VMS debugger.  P3 may indicate the desire to run [.t]harness. rather
+$! than [.t]TEST.  The other arguments are passed directly to t/TEST but
+$! not to t/harness.
 $!
 $   exe = ".Exe"
 $   If p1.nes."" Then exe = p1
@@ -26,7 +29,7 @@
 $   Then
 $     Write Sys$Error ""
 $     Write Sys$Error "The first parameter passed to Test.Com must be the file type 
used for the"
-$     Write Sys$Error "images produced when you built Perl (i.e. "".Exe"", unless you 
edited"
+$     Write Sys$Error "images produced when you built Perl, i.e. "".Exe"", unless you 
edited"
 $     Write Sys$Error "Descrip.MMS or used the AXE=1 macro in the MM[SK] command 
line."
 $     Write Sys$Error ""
 $     $status = 44
@@ -73,7 +76,12 @@
 $   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'"
+$   If p3 .eqs. "HARNESS"
+$   Then
+$     MCR Sys$Disk:[]Perl. "-I[-.lib]" harness.
+$   Else
+$     MCR Sys$Disk:[]Perl. "-I[-.lib]" TEST. "''p4'" "''p5'" "''p6'" "''p7'" "''p8'"
+$   Endif
 $   goto wrapup
 $!
 $ Control_Y_exit:
End of possible patch.


(See attached file: test_harness.patch)

Peter Prymmer

Attachment: test_harness.patch
Description: Binary data

Reply via email to