Files affected:

t/lib/filehand.t
t/lib/test-harness.t
t/lib/texttabs.t

Rationale:

Since on VMS the test output (in the context of the test suite) gets
piped through a virtual device called a mailbox, and a mailbox is a
record-oriented device (at least the way Perl's pipes use them), an
'ok' or 'not ok' line consisting of multiple print statements will
result in multiple lines of output, like so:

[.LIB]TEST-HARNESS......1..13
ok 1
  - compile

ok 2
  - no_nums

ok 3
  - combined

. . .

[.LIB]FILEHAND..........1..11
ok
1
ok 2
ok 3

The patch attached here fixes this by combining multiple print
statements into one integral print statement.
--- t/lib/filehand.t;-0 Fri Feb  9 13:06:11 2001
+++ t/lib/filehand.t    Sun Feb 11 00:10:37 2001
@@ -20,7 +20,7 @@
  autoflush $mystdout;
  print "1..11\n";

-print $mystdout "ok ",fileno($mystdout),"\n";
+print $mystdout "ok ".fileno($mystdout)."\n";

  $fh = (new FileHandle "./TEST", O_RDONLY
         or new FileHandle "TEST", O_RDONLY)
--- t/lib/test-harness.t;-0     Fri Feb  9 13:06:18 2001
+++ t/lib/test-harness.t        Sun Feb 11 00:50:07 2001
@@ -20,10 +20,11 @@
  my $test_num = 1;
  sub ok ($;$) {
      my($test, $name) = @_;
-    print "not " unless $test;
-    print "ok $test_num";
-    print " - $name" if defined $name;
-    print "\n";
+    my $okstring = '';
+    $okstring = "not " unless $test;
+    $okstring .= "ok $test_num";
+    $okstring .= " - $name" if defined $name;
+    print "$okstring\n";
      $test_num++;
  }

--- t/lib/texttabs.t;-0 Sat Feb 10 16:53:32 2001
+++ t/lib/texttabs.t    Mon Feb 12 08:40:26 2001
@@ -92,7 +92,7 @@
  $| = 1;

-print "1..";
-print @tests/2;
-print "\n";
+my $testcount = "1..";
+$testcount .= @tests/2;
+print "$testcount\n";

  use Text::Tabs;
-- 
____________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

Reply via email to