mirror of https://github.com/python/cpython
gh-121200: Fix test_expanduser_pwd2() of test_posixpath (#121228)
Call getpwnam() to get pw_dir, since it can be different than getpwall() pw_dir.
This commit is contained in:
parent
8a5176772c
commit
02cb5fdee3
|
@ -359,11 +359,16 @@ class PosixPathTest(unittest.TestCase):
|
|||
"no home directory on VxWorks")
|
||||
def test_expanduser_pwd2(self):
|
||||
pwd = import_helper.import_module('pwd')
|
||||
for entry in pwd.getpwall():
|
||||
name = entry.pw_name
|
||||
for all_entry in pwd.getpwall():
|
||||
name = all_entry.pw_name
|
||||
|
||||
# gh-121200: pw_dir can be different between getpwall() and
|
||||
# getpwnam(), so use getpwnam() pw_dir as expanduser() does.
|
||||
entry = pwd.getpwnam(name)
|
||||
home = entry.pw_dir
|
||||
home = home.rstrip('/') or '/'
|
||||
with self.subTest(pwd=entry):
|
||||
|
||||
with self.subTest(all_entry=all_entry, entry=entry):
|
||||
self.assertEqual(posixpath.expanduser('~' + name), home)
|
||||
self.assertEqual(posixpath.expanduser(os.fsencode('~' + name)),
|
||||
os.fsencode(home))
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Fix ``test_expanduser_pwd2()`` of ``test_posixpath``. Call ``getpwnam()``
|
||||
to get ``pw_dir``, since it can be different than ``getpwall()`` ``pw_dir``.
|
||||
Patch by Victor Stinner.
|
Loading…
Reference in New Issue