add tests for version::is_strict() and version::is_lax()
[p5sagit/p5-mst-13.2.git] / lib / subs.t
index 2f684b4..709fcfa 100644 (file)
@@ -4,6 +4,7 @@ BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
     $ENV{PERL5LIB} = '../lib';
+    require './test.pl';
 }
 
 $| = 1;
@@ -14,10 +15,7 @@ print "1..", scalar @prgs, "\n";
 my $Is_VMS = $^O eq 'VMS';
 my $Is_MSWin32 = $^O eq 'MSWin32';
 my $Is_NetWare = $^O eq 'NetWare';
-my $tmpfile = "tmp0000";
 my $i = 0 ;
-1 while -f ++$tmpfile;
-END {  if ($tmpfile) { 1 while unlink $tmpfile} }
 
 for (@prgs){
     my $switch = "";
@@ -43,20 +41,21 @@ for (@prgs){
        shift @files ;
        $prog = shift @files ;
     }
+    my $tmpfile = tempfile();
     open TEST, ">$tmpfile";
     print TEST $prog,"\n";
     close TEST;
     my $results = $Is_VMS ?
-                  `./perl $switch $tmpfile 2>&1` :
+                     `./perl $switch $tmpfile 2>&1` :
                  $Is_MSWin32 ?
-                  `.\\perl -I../lib $switch $tmpfile 2>&1` :
+                     `.\\perl -I../lib $switch $tmpfile 2>&1` :
                  $Is_NetWare ?
-                  `perl -I../lib $switch $tmpfile 2>&1` :
+                     `perl -I../lib $switch $tmpfile 2>&1` :
                   `./perl $switch $tmpfile 2>&1`;
     my $status = $?;
     $results =~ s/\n+$//;
     # allow expected output to be written as if $prog is on STDIN
-    $results =~ s/tmp\d+/-/g;
+    $results =~ s/tmp\d+[A-Z][A-Z]?/-/g;
     $results =~ s/\n%[A-Z]+-[SIWEF]-.*$// if $Is_VMS;  # clip off DCL status msg
 # bison says 'parse error' instead of 'syntax error',
 # various yaccs may or may not capitalize 'syntax'.