summaryrefslogtreecommitdiff
path: root/Lib/test/test_winconsoleio.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_winconsoleio.py')
-rw-r--r--Lib/test/test_winconsoleio.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/Lib/test/test_winconsoleio.py b/Lib/test/test_winconsoleio.py
index b1a2f7a302..06467e905a 100644
--- a/Lib/test/test_winconsoleio.py
+++ b/Lib/test/test_winconsoleio.py
@@ -1,9 +1,11 @@
'''Tests for WindowsConsoleIO
'''
+import os
import io
-import unittest
import sys
+import unittest
+import tempfile
if sys.platform != 'win32':
raise unittest.SkipTest("test only relevant on win32")
@@ -19,6 +21,16 @@ class WindowsConsoleIOTests(unittest.TestCase):
self.assertFalse(issubclass(ConIO, io.TextIOBase))
def test_open_fd(self):
+ self.assertRaisesRegex(ValueError,
+ "negative file descriptor", ConIO, -1)
+
+ fd, _ = tempfile.mkstemp()
+ try:
+ self.assertRaisesRegex(ValueError,
+ "Cannot open non-console file", ConIO, fd)
+ finally:
+ os.close(fd)
+
try:
f = ConIO(0)
except ValueError:
@@ -56,6 +68,20 @@ class WindowsConsoleIOTests(unittest.TestCase):
f.close()
def test_open_name(self):
+ self.assertRaises(ValueError, ConIO, sys.executable)
+
+ f = open('C:/con', 'rb', buffering=0)
+ self.assertIsInstance(f, ConIO)
+ f.close()
+
+ f = open(r'\\.\conin$', 'rb', buffering=0)
+ self.assertIsInstance(f, ConIO)
+ f.close()
+
+ f = open('//?/conout$', 'wb', buffering=0)
+ self.assertIsInstance(f, ConIO)
+ f.close()
+
f = ConIO("CON")
self.assertTrue(f.readable())
self.assertFalse(f.writable())