From 6d9f8a7d82759884f22aa91b2f6813eaaf952a59 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Thu, 23 Dec 2021 13:43:10 +0300 Subject: [PATCH 1/2] bpo-46150: ensure `fakename` does not exist in `PosixPathTest.test_expanduser` --- Lib/test/test_pathlib.py | 18 +++++++++++++----- .../2021-12-23-13-42-15.bpo-46150.RhtADs.rst | 2 ++ 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py index 5f6d9f47d13d75..555c7ee795bd12 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('~fakeuser/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 00000000000000..2369d0c61ece58 --- /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 check +to be non-existent. From 9807ba0f0a075aad6673aeb5ecf15a2b26e841d7 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Thu, 23 Dec 2021 13:43:55 +0300 Subject: [PATCH 2/2] Update 2021-12-23-13-42-15.bpo-46150.RhtADs.rst --- Misc/NEWS.d/next/Tests/2021-12-23-13-42-15.bpo-46150.RhtADs.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 2369d0c61ece58..8ef9cd9b4a5948 100644 --- 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 @@ -1,2 +1,2 @@ -Now ``fakename`` in ``test_pathlib.PosixPathTest.test_expanduser`` is check +Now ``fakename`` in ``test_pathlib.PosixPathTest.test_expanduser`` is checked to be non-existent.