The patch here gets all tests passing for a threaded build on OpenVMS
Alpha 7.3-1, Compaq C 6.5, TCP/IP Services 5.3 ECO 1. It should be
applied to both maintperl and bleadperl. The changes are as follows:

t/run/switchI.t  -- can't have a directory with double colons in it
ext/Devel/Peek/Peek.t  -- innards of $ENV{PATH} look different on VMS
ext/Filter/t/call.t -- remove extra newline
lib/charnames.t  -- now uses runperl

Peter Prymmer (who contributed the call.t fix) also is seeing some other
failures in his environment that I have not been able to reproduce.
Hopefully he will step forward with additional patch(es).



--- ext/Devel/Peek/Peek.t;-0    Mon Dec  2 08:35:16 2002
+++ ext/Devel/Peek/Peek.t       Thu Jan  2 00:59:06 2003
@@ -433,8 +433,14 @@
     MG_TYPE = PERL_MAGIC_envelem\\(e\\)
 (?:    MG_FLAGS = 0x01
       TAINTEDDIR
-)?    MG_LEN = 4
-    MG_PTR = $ADDR "(?i:PATH)"
+)?    MG_LEN = -?\d+
+    MG_PTR = $ADDR (?:"(?i:PATH)"|=> HEf_SVKEY
+    SV = PV\\($ADDR\\) at $ADDR
+      REFCNT = \d+
+      FLAGS = \\(TEMP,POK,pPOK\\)
+      PV = $ADDR "(?i:PATH)"\\\0
+      CUR = \d+
+      LEN = \d+)
   MAGIC = $ADDR
     MG_VIRTUAL = &PL_vtbl_taint
     MG_TYPE = PERL_MAGIC_taint\\(t\\)');
--- ext/Filter/t/call.t;-0  Sun Dec  8 19:26:42 2002
+++ ext/Filter/t/call.t  Tue Dec 31 16:43:30 2002
@@ -806,10 +806,12 @@
 
 my $a = `$Perl "-I." $Inc -e "no ${module6}; print q{ok}"`;
 ok(29, ($? >>8) == 0);
+chomp( $a ) if $^O eq 'VMS';
 ok(30, $a eq 'ok');
 
 $a = `$Perl "-I." $Inc $filename2`;
 ok(31, ($? >>8) == 0);
+chomp( $a ) if $^O eq 'VMS';
 ok(32, $a eq 'ok');
 
 }
--- lib/charnames.t;-0  Mon Nov  4 12:57:26 2002
+++ lib/charnames.t     Fri Jan  3 17:15:47 2003
@@ -6,6 +6,7 @@
     unless(grep /blib/, @INC) {
        chdir 't' if -d 't';
        @INC = '../lib';
+       require './test.pl';
     }
     $SIG{__WARN__} = sub { push @WARN, @_ };
 }
@@ -292,11 +293,9 @@
        print $ali $fil;
        close $ali or die "Could not close $alifile: $!";
        }
-    my $res =
-       $^O eq "MSWin32" ? `.\\perl -I../lib $switch $tmpfile 2>&1` :
-       $^O eq "NetWare" ? `perl    -I../lib $switch $tmpfile 2>&1` :
-       $^O eq "MacOS"   ? `$^X     -I::lib -MMac::err=unix $switch $tmpfile` :
-                          `./perl -I. -I../lib $switch $tmpfile 2>&1`;
+    my $res = runperl( switches => $switch, 
+                       progfile => $tmpfile,
+                       stderr => 1 );
     my $status = $?;
     $res =~ s/[\r\n]+$//;
     $res =~ s/tmp\d+/-/g;                      # fake $prog from STDIN
--- t/run/switchI.t;-0  Mon Nov  4 16:53:02 2002
+++ t/run/switchI.t     Mon Dec 30 18:21:01 2002
@@ -11,9 +11,15 @@
 }
 
 ok(grep { $_ eq 'Bla' } @INC);
-ok(grep { $_ eq 'Foo::Bar' } @INC);
+SKIP: {
+  skip 'Double colons not allowed in dir spec', 1 if $^O eq 'VMS';
+  ok(grep { $_ eq 'Foo::Bar' } @INC);
+}
 
 fresh_perl_is('print grep { $_ eq "Bla2" } @INC', 'Bla2',
              { switches => ['-IBla2'] }, '-I');
-fresh_perl_is('print grep { $_ eq "Foo::Bar2" } @INC', 'Foo::Bar2',
-             { switches => ['-IFoo::Bar2'] }, '-I with colons');
+SKIP: {
+  skip 'Double colons not allowed in dir spec', 1 if $^O eq 'VMS';
+  fresh_perl_is('print grep { $_ eq "Foo::Bar2" } @INC', 'Foo::Bar2',
+               { switches => ['-IFoo::Bar2'] }, '-I with colons');
+}

Reply via email to