$OpenBSD: patch-Lib_test_test_file2k_py,v 1.2 2014/12/14 08:32:55 rpointel Exp $

No /dev/full on OpenBSD (http://bugs.python.org/issue21934).

--- Lib/test/test_file2k.py.orig	Wed Dec 10 16:59:44 2014
+++ Lib/test/test_file2k.py	Sat Dec 13 12:13:40 2014
@@ -4,6 +4,7 @@ import unittest
 import itertools
 import select
 import signal
+import stat
 import subprocess
 import time
 from array import array
@@ -424,17 +425,21 @@ class OtherFileTests(unittest.TestCase):
 
     @unittest.skipUnless(os.name == 'posix', 'test requires a posix system.')
     def test_write_full(self):
-        # Issue #17976
-        try:
-            f = open('/dev/full', 'w', 1)
-        except IOError:
-            self.skipTest("requires '/dev/full'")
-        try:
-            with self.assertRaises(IOError):
-                f.write('hello')
-                f.write('\n')
-        finally:
-            f.close()
+        # OpenBSD does not have a /dev/full character device.
+        if os.path.exists('/dev/full'):
+            if stat.S_ISCHR(os.stat('/dev/full').st_mode):
+                # Issue #17976
+                f = open('/dev/full', 'w', 1)
+                try:
+                    with self.assertRaises(IOError):
+                        f.write('hello')
+                        f.write('\n')
+                finally:
+                    f.close()
+            else:
+                self.skipTest("'/dev/full' must be a character device")
+        else:
+             self.skipTest("requires '/dev/full'")
 
     @unittest.skipUnless(sys.maxsize > 2**31, "requires 64-bit system")
     @test_support.precisionbigmemtest(2**31, 2.5, dry_run=False)
