Mercurial > cpython
changeset 106455:8132bcc1522d
Issue #28164: Improves test on Windows 7 [#28164]
author | Steve Dower <steve.dower@microsoft.com> |
---|---|
date | Mon, 06 Feb 2017 14:53:21 -0800 |
parents | 98c17a44f7c1 (current diff) 4463e311f5bd (diff) |
children | e376d2bfde9b |
files | |
diffstat | 1 files changed, 22 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/Lib/test/test_winconsoleio.py +++ b/Lib/test/test_winconsoleio.py @@ -6,6 +6,7 @@ import os 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 @@ class WindowsConsoleIOTests(unittest.Tes 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')