diff options
author | Xavier de Gaye <xdegaye@users.sourceforge.net> | 2016-11-14 16:14:42 (GMT) |
---|---|---|
committer | Xavier de Gaye <xdegaye@users.sourceforge.net> | 2016-11-14 16:14:42 (GMT) |
commit | 38c8b7d2922c20010930eedacdccf61fb2246761 (patch) | |
tree | 46380aa06548d786d0f0990bdbb04122e2e3f116 | |
parent | 8bf43e6d0b3dc5d76e9d99656528ccdcd5dd6e6a (diff) | |
download | cpython-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.py | 2 | ||||
-rw-r--r-- | Lib/test/test_shutil.py | 3 | ||||
-rw-r--r-- | Lib/test/test_subprocess.py | 5 |
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: |