Issue #17883: Tweak test_tcl testLoadWithUNC to skip the test in the

event of a permission error on Windows and to properly report other
skip conditions.
This commit is contained in:
Zachary Ware 2013-11-03 22:51:25 -06:00
parent a1ea893334
commit 57d35c6494
2 changed files with 14 additions and 6 deletions

View File

@ -138,18 +138,15 @@ class TclTest(unittest.TestCase):
tcl = self.interp
self.assertRaises(TclError,tcl.eval,'package require DNE')
@unittest.skipUnless(sys.platform == 'win32', "only applies to Windows")
def testLoadWithUNC(self):
import sys
if sys.platform != 'win32':
return
# Build a UNC path from the regular path.
# Something like
# \\%COMPUTERNAME%\c$\python27\python.exe
fullname = os.path.abspath(sys.executable)
if fullname[1] != ':':
return
self.skipTest('unusable path: %r' % fullname)
unc_name = r'\\%s\%s$\%s' % (os.environ['COMPUTERNAME'],
fullname[0],
fullname[3:])
@ -158,7 +155,14 @@ class TclTest(unittest.TestCase):
env.unset("TCL_LIBRARY")
cmd = '%s -c "import Tkinter; print Tkinter"' % (unc_name,)
p = Popen(cmd, stdout=PIPE, stderr=PIPE)
try:
p = Popen(cmd, stdout=PIPE, stderr=PIPE)
except WindowsError as e:
if e.winerror == 5:
self.skipTest('Not permitted to start the child process')
else:
raise
out_data, err_data = p.communicate()
msg = '\n\n'.join(['"Tkinter.py" not in output',

View File

@ -23,6 +23,10 @@ Library
Tests
-----
- Issue #17883: Tweak test_tcl testLoadWithUNC to skip the test in the
event of a permission error on Windows and to properly report other
skip conditions.
- Issue #17883: Backported _is_gui_available() in test.test_support to
avoid hanging Windows buildbots on test_ttk_guionly.