SYN SYN
[p5sagit/p5-mst-13.2.git] / t / base / rs.t
index 2f467a6..e470f3a 100755 (executable)
@@ -6,6 +6,8 @@ print "1..14\n";
 $teststring = "1\n12\n123\n1234\n1234\n12345\n\n123456\n1234567\n";
 
 # Create our test datafile
+1 while unlink 'foo';                # in case junk left around
+rmdir 'foo';
 open TESTFILE, ">./foo" or die "error $! $^E opening";
 binmode TESTFILE;
 print TESTFILE $teststring;
@@ -24,7 +26,7 @@ $bar = <TESTFILE>;
 if ($bar eq "12\n") {print "ok 2\n";} else {print "not ok 2\n";}
 
 # Try a non line terminator
-$/ = "3";
+$/ = 3;
 $bar = <TESTFILE>;
 if ($bar eq "123") {print "ok 3\n";} else {print "not ok 3\n";}
 
@@ -85,20 +87,27 @@ $bar = <TESTFILE>;
 if ($bar eq "78") {print "ok 10\n";} else {print "not ok 10\n";}
 
 # Get rid of the temp file
+close TESTFILE;
 unlink "./foo";
 
 # Now for the tricky bit--full record reading
 if ($^O eq 'VMS') {
   # Create a temp file. We jump through these hoops 'cause CREATE really
   # doesn't like our methods for some reason.
-  open TEMPFILE, ">./foo";
+  open FDLFILE, "> ./foo.fdl";
+  print FDLFILE "RECORD\n FORMAT VARIABLE\n";
+  close FDLFILE;
+  open CREATEFILE, "> ./foo.com";
+  print CREATEFILE '$ DEFINE/USER SYS$INPUT NL:', "\n";
+  print CREATEFILE '$ DEFINE/USER SYS$OUTPUT NL:', "\n";
+  print CREATEFILE '$ OPEN YOW []FOO.BAR/WRITE', "\n";
+  print CREATEFILE '$ CLOSE YOW', "\n";
+  print CREATEFILE "\$EXIT\n";
+  close CREATEFILE;
+  $throwaway = `\@\[\]foo`, "\n";
+  open(TEMPFILE, ">./foo.bar") or print "# open failed $! $^E\n";
   print TEMPFILE "foo\nfoobar\nbaz\n";
   close TEMPFILE;
-  open CREATEPIPE, "|\@sys\$input";
-  print CREATEPIPE "DEFINE SYS\$INPUT FOO./user\n";
-  print CREATEPIPE "CREATE []FOO.BAR\n";
-  close CREATEPIPE;
-  unlink "./foo";
 
   open TESTFILE, "<./foo.bar";
   $/ = \10;
@@ -114,7 +123,8 @@ if ($^O eq 'VMS') {
   $bar = <TESTFILE>;
   if ($bar eq "z\n") {print "ok 14\n";} else {print "not ok 14\n";}
 
-  unlink "./foo.bar";
+  close TESTFILE;
+  1 while unlink qw(foo.bar foo.com foo.fdl);
 } else {
   # Nobody else does this at the moment (well, maybe OS/390, but they can
   # put their own tests in) so we just punt