From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 17 Jul 2025 16:05:40 +0000 (+0200) Subject: [3.14] gh-127146: Emscripten: Set umask to zero in python.sh (GH-136740) (#136745) X-Git-Tag: v3.14.0rc1~57 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76d4a43bd8d1409dc0f67a3c2b52b3437a1bd049;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-127146: Emscripten: Set umask to zero in python.sh (GH-136740) (#136745) Clears the umask used during a test of pydoc.apropos when testing on Emscripten. This is to work around a known issue in Emscripten; but it's not clear if the chmod call that is causing the problem is actually testing anything of significance. (cherry picked from commit 22af5d35a620ee44393853036a8450ceb047688e) Co-authored-by: Hood Chatham --- diff --git a/Lib/test/test_pydoc/test_pydoc.py b/Lib/test/test_pydoc/test_pydoc.py index 281b24eaa36b..f5ba5e1eb754 100644 --- a/Lib/test/test_pydoc/test_pydoc.py +++ b/Lib/test/test_pydoc/test_pydoc.py @@ -1303,6 +1303,11 @@ class PydocImportTest(PydocBaseTest): @os_helper.skip_unless_working_chmod def test_apropos_empty_doc(self): pkgdir = os.path.join(TESTFN, 'walkpkg') + if support.is_emscripten: + # Emscripten's readdir implementation is buggy on directories + # with read permission but no execute permission. + old_umask = os.umask(0) + self.addCleanup(os.umask, old_umask) os.mkdir(pkgdir) self.addCleanup(rmtree, pkgdir) init_path = os.path.join(pkgdir, '__init__.py')