summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier de Gaye <xdegaye@users.sourceforge.net>2016-11-14 16:14:42 (GMT)
committerXavier de Gaye <xdegaye@users.sourceforge.net>2016-11-14 16:14:42 (GMT)
commit38c8b7d2922c20010930eedacdccf61fb2246761 (patch)
tree46380aa06548d786d0f0990bdbb04122e2e3f116
parent8bf43e6d0b3dc5d76e9d99656528ccdcd5dd6e6a (diff)
downloadcpython-38c8b7d2922c20010930eedacdccf61fb2246761.zip
cpython-38c8b7d2922c20010930eedacdccf61fb2246761.tar.gz
cpython-38c8b7d2922c20010930eedacdccf61fb2246761.tar.bz2
Issue #28662: Catch PermissionError in tests when spawning a non existent program
-rw-r--r--Lib/test/test_dtrace.py2
-rw-r--r--Lib/test/test_shutil.py3
-rw-r--r--Lib/test/test_subprocess.py5
3 files changed, 6 insertions, 4 deletions
diff --git a/Lib/test/test_dtrace.py b/Lib/test/test_dtrace.py
index ca239b3..47a5010 100644
--- a/Lib/test/test_dtrace.py
+++ b/Lib/test/test_dtrace.py
@@ -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(
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index d93efb8..af5f00f 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -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
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 2d9239c..73da195 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -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: