[Python-checkins] bpo-46150: ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser` (GH-30240)
gpshead
webhook-mailer at python.org
Fri Dec 24 03:07:54 EST 2021
https://github.com/python/cpython/commit/b8de8b7039cee47465b2af9950b0b9ed2d3f2903
commit: b8de8b7039cee47465b2af9950b0b9ed2d3f2903
branch: main
author: Nikita Sobolev <mail at sobolevn.me>
committer: gpshead <greg at krypto.org>
date: 2021-12-24T00:07:50-08:00
summary:
bpo-46150: ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser` (GH-30240)
Ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser`
files:
A Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst
M Lib/test/test_pathlib.py
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index 2268d36b0639f..555c7ee795bd1 100644
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -2558,13 +2558,21 @@ def test_expanduser(self):
othername = username
otherhome = userhome
+ fakename = 'fakeuser'
+ # This user can theoretically exist on a test runner. Create unique name:
+ try:
+ while pwd.getpwnam(fakename):
+ fakename += '1'
+ except KeyError:
+ pass # Non-existent name found
+
p1 = P('~/Documents')
- p2 = P('~' + username + '/Documents')
- p3 = P('~' + othername + '/Documents')
- p4 = P('../~' + username + '/Documents')
- p5 = P('/~' + username + '/Documents')
+ p2 = P(f'~{username}/Documents')
+ p3 = P(f'~{othername}/Documents')
+ p4 = P(f'../~{username}/Documents')
+ p5 = P(f'/~{username}/Documents')
p6 = P('')
- p7 = P('~fake800813user/Documents')
+ p7 = P(f'~{fakename}/Documents')
with os_helper.EnvironmentVarGuard() as env:
env.pop('HOME', None)
diff --git a/Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst b/Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst
new file mode 100644
index 0000000000000..8ef9cd9b4a594
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst
@@ -0,0 +1,2 @@
+Now ``fakename`` in ``test_pathlib.PosixPathTest.test_expanduser`` is checked
+to be non-existent.
More information about the Python-checkins
mailing list