diff options
author | Victor Stinner <vstinner@python.org> | 2024-07-01 15:49:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-01 15:49:03 (GMT) |
commit | 02cb5fdee391670d63b2fc0a92ca9b36a32ac95a (patch) | |
tree | 8c7e7ddce302dbf424843461dcba0ced431123b8 | |
parent | 8a5176772c932d764daa83c50b99fe0805260b2c (diff) | |
download | cpython-02cb5fdee391670d63b2fc0a92ca9b36a32ac95a.zip cpython-02cb5fdee391670d63b2fc0a92ca9b36a32ac95a.tar.gz cpython-02cb5fdee391670d63b2fc0a92ca9b36a32ac95a.tar.bz2 |
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.
-rw-r--r-- | Lib/test/test_posixpath.py | 11 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Tests/2024-07-01-16-15-06.gh-issue-121200.4Pc-gc.rst | 3 |
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py index 9f36a4c..fb714fd 100644 --- a/Lib/test/test_posixpath.py +++ b/Lib/test/test_posixpath.py @@ -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)) diff --git a/Misc/NEWS.d/next/Tests/2024-07-01-16-15-06.gh-issue-121200.4Pc-gc.rst b/Misc/NEWS.d/next/Tests/2024-07-01-16-15-06.gh-issue-121200.4Pc-gc.rst new file mode 100644 index 0000000..01e0d9b --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2024-07-01-16-15-06.gh-issue-121200.4Pc-gc.rst @@ -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. |