https://github.com/python/cpython/commit/363dddba14741ad1a63b62dde7dc54a8e0ab1f87 commit: 363dddba14741ad1a63b62dde7dc54a8e0ab1f87 branch: 3.11 author: Miss Islington (bot) <[email protected]> committer: encukou <[email protected]> date: 2024-01-18T13:19:18+01:00 summary:
[3.11] gh-104522: Fix test_subprocess failure when build Python in the root home directory (GH-114236) (GH-114245) EPERM is raised when setreuid() fails. EACCES is set in execve() when the test user has not access to sys.executable. (cherry picked from commit 311d1e2701037952eaf75f993be76f3092c1f01c) Co-authored-by: Serhiy Storchaka <[email protected]> files: M Lib/test/test_subprocess.py diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index b4206c7bea897d..7f7d84214b0e86 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -2004,9 +2004,9 @@ def test_process_group_0(self): @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] @@ -2031,11 +2031,10 @@ def test_user(self): 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 _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: [email protected]
