t/io/dup.t See if >& works right
t/io/fflush.t See if auto-flush on fork/exec/system/qx works
t/io/fs.t See if directory manipulations work
+t/io/full.t See if 'disk full' errors are reported
t/io/inplace.t See if inplace editing works
t/io/iprefix.t See if inplace editing works with prefixes
t/io/nargv.t See if nested ARGV stuff works
FILE *stdio = PerlIOSelf(f, PerlIOStdio)->stdio;
if (PerlIOUnix_refcnt_dec(fileno(stdio)) > 0) {
/* Do not close it but do flush any buffers */
- PerlIO_flush(f);
- return 0;
+ return PerlIO_flush(f);
}
return (
#ifdef SOCKS5_VERSION_NAME
--- /dev/null
+#!./perl
+#
+# Test for 'disk full' errors, if possible
+# 20020416 mjd-perl-patch+@plover.com
+
+unless (-c "/dev/full" && open FULL, "> /dev/full") {
+ print "1..0\n"; exit;
+}
+
+my $z;
+print "1..6\n";
+
+print FULL "I like pie.\n" ? print "ok 1\n" : print "not ok 1\n";
+# Should fail
+$z = close(FULL);
+print $z ? "not ok 2 # z=$z; $!\n" : "ok 2\n";
+print $!{ENOSPC} ? "ok 3\n" : print "not ok 3\n";
+
+unless (open FULL, "> /dev/full") {
+ print "# couldn't open /dev/full the second time: $!\n";
+ print "not ok $_\n" for 4..6;
+}
+
+select FULL; $| = 1; select STDOUT;
+
+# Should fail
+$z = print FULL "I like pie.\n";
+print $z ? "not ok 4 # z=$z; $!\n" : "ok 4\n";
+print $!{ENOSPC} ? "ok 5\n" : "not ok 5\n";
+$z = close FULL;
+print $z ? "ok 6\n" : "not ok 6 # z=$s; $!\n";