From 8fb587880b2b51be44c85fab903c5e8daa8e669e Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 18 Jan 2024 11:51:16 +0200 Subject: [PATCH] gh-104522: Fix test_subprocess failure when build Python in the root home directory EPERM is raised when setreuid() fails. EACCES is set in execve() when the test user has not access to sys.executable. --- Lib/test/test_subprocess.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 12b88294a2d370..83ce9c1bcb5175 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -2018,11 +2018,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