(original) (raw)
changeset: 106454:4463e311f5bd branch: 3.6 parent: 106452:9c325166ba5f user: Steve Dower steve.dower@microsoft.com date: Mon Feb 06 14:50:17 2017 -0800 files: Lib/test/test_winconsoleio.py description: Issue #28164: Improves test on Windows 7 diff -r 9c325166ba5f -r 4463e311f5bd Lib/test/test_winconsoleio.py --- a/Lib/test/test_winconsoleio.py Mon Feb 06 14:12:19 2017 -0800 +++ b/Lib/test/test_winconsoleio.py Mon Feb 06 14:50:17 2017 -0800 @@ -6,6 +6,7 @@ import sys import tempfile import unittest +from test import support if sys.platform != 'win32': raise unittest.SkipTest("test only relevant on win32") @@ -97,23 +98,28 @@ self.assertIsInstance(f, ConIO) f.close() - try: - f = open(r'\\.\conin$', 'rb', buffering=0) - except FileNotFoundError: - # If we cannot find the file, this part should be skipped - print('\\\\.\\conin$ was not found on this OS') - else: - self.assertIsInstance(f, ConIO) - f.close() + @unittest.skipIf(sys.getwindowsversion()[:2] <= (6, 1), + "test does not work on Windows 7 and earlier") + def test_conin_conout_names(self): + 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() - try: - f = open('//?/conout$', 'wb', buffering=0) - except FileNotFoundError: - # If we cannot find the file, this part should be skipped - print('//?/conout$ was not found on this OS') - else: - self.assertIsInstance(f, ConIO) - f.close() + def test_conout_path(self): + temp_path = tempfile.mkdtemp() + self.addCleanup(support.rmtree, temp_path) + + conout_path = os.path.join(temp_path, 'CONOUT$') + + with open(conout_path, 'wb', buffering=0) as f: + if sys.getwindowsversion()[:2] > (6, 1): + self.assertIsInstance(f, ConIO) + else: + self.assertNotIsInstance(f, ConIO) def assertStdinRoundTrip(self, text): stdin = open('CONIN$', 'r') /steve.dower@microsoft.com