diff options
Diffstat (limited to 'Lib/test/test_subprocess.py')
-rw-r--r-- | Lib/test/test_subprocess.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 12b88294a2d..c44a778d5bb 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -1991,9 +1991,9 @@ class POSIXProcessTestCase(BaseTestCase): @unittest.skipUnless(hasattr(os, 'setreuid'), 'no setreuid on platform') def test_user(self): - # For code coverage of the user parameter. We don't care if we get an - # EPERM error from it depending on the test execution environment, that - # still indicates that it was called. + # For code coverage of the user parameter. We don't care if we get a + # permission error from it depending on the test execution environment, + # that still indicates that it was called. uid = os.geteuid() test_users = [65534 if uid != 65534 else 65533, uid] @@ -2018,11 +2018,10 @@ class POSIXProcessTestCase(BaseTestCase): user=user, close_fds=close_fds) except PermissionError as e: # (EACCES, EPERM) - self.assertIsNone(e.filename) - except OSError as e: - if e.errno not in (errno.EACCES, errno.EPERM): - raise - self.assertIsNone(e.filename) + if e.errno == errno.EACCES: + self.assertEqual(e.filename, sys.executable) + else: + self.assertIsNone(e.filename) else: if isinstance(user, str): user_uid = pwd.getpwnam(user).pw_uid |