bpo-46150: ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser` (GH-30240)
https://github.com/python/cpython/commit/d718764f389acd1bf4a5a65661bb58862f1... commit: d718764f389acd1bf4a5a65661bb58862f14fb98 branch: 3.9 author: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> committer: miss-islington <31488909+miss-islington@users.noreply.github.com> date: 2021-12-24T00:32:27-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` (cherry picked from commit b8de8b7039cee47465b2af9950b0b9ed2d3f2903) Co-authored-by: Nikita Sobolev <mail@sobolevn.me> 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 548951a67a6f2..1406ed3b12c4a 100644 --- a/Lib/test/test_pathlib.py +++ b/Lib/test/test_pathlib.py @@ -2443,13 +2443,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 support.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.
participants (1)
-
miss-islington