]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46150: ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser` (GH...
authorNikita Sobolev <mail@sobolevn.me>
Fri, 24 Dec 2021 08:07:50 +0000 (11:07 +0300)
committerGitHub <noreply@github.com>
Fri, 24 Dec 2021 08:07:50 +0000 (00:07 -0800)
Ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser`

Lib/test/test_pathlib.py
Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst [new file with mode: 0644]

index 2268d36b0639fdaa4aff3e0ea5bcfc913d32b3bb..555c7ee795bd12cc73b8573dbda96abdef60428e 100644 (file)
@@ -2558,13 +2558,21 @@ class PosixPathTest(_BasePathTest, unittest.TestCase):
             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 (file)
index 0000000..8ef9cd9
--- /dev/null
@@ -0,0 +1,2 @@
+Now ``fakename`` in ``test_pathlib.PosixPathTest.test_expanduser`` is checked
+to be non-existent.