SYN SYN
[p5sagit/p5-mst-13.2.git] / t / lib / posix.t
index 10c06be..994704a 100755 (executable)
@@ -2,7 +2,7 @@
 
 BEGIN {
     chdir 't' if -d 't';
-    unshift @INC, '../lib';
+    @INC = '../lib';
     require Config; import Config;
     if ($^O ne 'VMS' and $Config{'extensions'} !~ /\bPOSIX\b/) {
        print "1..0\n";
@@ -14,9 +14,10 @@ use POSIX qw(fcntl_h signal_h limits_h _exit getcwd open read strftime write);
 use strict subs;
 
 $| = 1;
-print "1..26\n";
+print "1..27\n";
 
 $Is_W32 = $^O eq 'MSWin32';
+$Is_Dos = $^O eq 'dos';
 
 $testfd = open("TEST", O_RDONLY, 0) and print "ok 1\n";
 read($testfd, $buffer, 9) if $testfd > 2;
@@ -24,6 +25,11 @@ print $buffer eq "#!./perl\n" ? "ok 2\n" : "not ok 2\n";
 
 write(1,"ok 3\nnot ok 3\n", 5);
 
+if ($Is_Dos) {
+    for (4..5) {
+        print "ok $_ # skipped, no pipe() support on dos\n";
+    }
+} else {
 @fds = POSIX::pipe();
 print $fds[0] > $testfd ? "ok 4\n" : "not ok 4\n";
 CORE::open($reader = \*READER, "<&=".$fds[0]);
@@ -32,10 +38,11 @@ print $writer "ok 5\n";
 close $writer;
 print <$reader>;
 close $reader;
+}
 
-if ($Is_W32) {
+if ($Is_W32 || $Is_Dos) {
     for (6..11) {
-       print "ok $_ # skipped, no sigaction support on win32\n";
+       print "ok $_ # skipped, no sigaction support on win32/dos\n";
     }
 }
 else {
@@ -121,6 +128,7 @@ try_strftime(23, "Mon Mar 01 00:00:00 1999 060", 0,0,24, 28,1,99);
 try_strftime(24, "Mon Feb 28 00:00:00 2000 059", 0,0,0, 28,1,100);
 try_strftime(25, "Tue Feb 29 00:00:00 2000 060", 0,0,0, 0,2,100);
 try_strftime(26, "Wed Mar 01 00:00:00 2000 061", 0,0,0, 1,2,100);
+try_strftime(27, "Fri Mar 31 00:00:00 2000 091", 0,0,0, 31,2,100);
 &POSIX::setlocale(&POSIX::LC_TIME, $lc) if $Config{d_setlocale};
 
 $| = 0;