mirror of
https://github.com/python/cpython.git
synced 2026-01-06 23:42:34 +00:00
bpo-39855: Fix test_subprocess if nobody user doesn't exist (GH-18781)
test_subprocess.test_user() now skips the test on an user name if the user name doesn't exist. For example, skip the test if the user "nobody" doesn't exist on Linux.
This commit is contained in:
parent
85cf1d514b
commit
f7b5d419bf
2 changed files with 10 additions and 2 deletions
|
|
@ -1791,7 +1791,12 @@ def test_user(self):
|
|||
name_uid = "nobody" if sys.platform != 'darwin' else "unknown"
|
||||
|
||||
if pwd is not None:
|
||||
test_users.append(name_uid)
|
||||
try:
|
||||
pwd.getpwnam(name_uid)
|
||||
test_users.append(name_uid)
|
||||
except KeyError:
|
||||
# unknown user name
|
||||
name_uid = None
|
||||
|
||||
for user in test_users:
|
||||
# posix_spawn() may be used with close_fds=False
|
||||
|
|
@ -1819,7 +1824,7 @@ def test_user(self):
|
|||
with self.assertRaises(ValueError):
|
||||
subprocess.check_call(ZERO_RETURN_CMD, user=-1)
|
||||
|
||||
if pwd is None:
|
||||
if pwd is None and name_uid is not None:
|
||||
with self.assertRaises(ValueError):
|
||||
subprocess.check_call(ZERO_RETURN_CMD, user=name_uid)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
test_subprocess.test_user() now skips the test on an user name if the user
|
||||
name doesn't exist. For example, skip the test if the user "nobody" doesn't
|
||||
exist on Linux.
|
||||
Loading…
Add table
Add a link
Reference in a new issue