mirror of https://github.com/python/cpython
Issue #28662: Catch PermissionError in tests when spawning a non existent program
This commit is contained in:
parent
8bf43e6d0b
commit
38c8b7d292
|
@ -79,7 +79,7 @@ class TraceBackend:
|
|||
try:
|
||||
output = self.trace(abspath("assert_usable" + self.EXTENSION))
|
||||
output = output.strip()
|
||||
except FileNotFoundError as fnfe:
|
||||
except (FileNotFoundError, PermissionError) as fnfe:
|
||||
output = str(fnfe)
|
||||
if output != "probe: success":
|
||||
raise unittest.SkipTest(
|
||||
|
|
|
@ -1869,7 +1869,8 @@ class TermsizeTests(unittest.TestCase):
|
|||
"""
|
||||
try:
|
||||
size = subprocess.check_output(['stty', 'size']).decode().split()
|
||||
except (FileNotFoundError, subprocess.CalledProcessError):
|
||||
except (FileNotFoundError, PermissionError,
|
||||
subprocess.CalledProcessError):
|
||||
self.skipTest("stty invocation failed")
|
||||
expected = (int(size[1]), int(size[0])) # reversed order
|
||||
|
||||
|
|
|
@ -293,7 +293,8 @@ class ProcessTestCase(BaseTestCase):
|
|||
# Verify first that the call succeeds without the executable arg.
|
||||
pre_args = [sys.executable, "-c"]
|
||||
self._assert_python(pre_args)
|
||||
self.assertRaises(FileNotFoundError, self._assert_python, pre_args,
|
||||
self.assertRaises((FileNotFoundError, PermissionError),
|
||||
self._assert_python, pre_args,
|
||||
executable="doesnotexist")
|
||||
|
||||
@unittest.skipIf(mswindows, "executable argument replaces shell")
|
||||
|
@ -2753,7 +2754,7 @@ class ContextManagerTests(BaseTestCase):
|
|||
self.assertEqual(proc.returncode, 1)
|
||||
|
||||
def test_invalid_args(self):
|
||||
with self.assertRaises(FileNotFoundError) as c:
|
||||
with self.assertRaises((FileNotFoundError, PermissionError)) as c:
|
||||
with subprocess.Popen(['nonexisting_i_hope'],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE) as proc:
|
||||
|
|
Loading…
Reference in New Issue