From: Hood Chatham Date: Thu, 17 Jul 2025 15:39:01 +0000 (+0200) Subject: gh-127146: Emscripten: Set umask to zero in python.sh (#136740) X-Git-Tag: v3.15.0a1~950 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=22af5d35a620ee44393853036a8450ceb047688e;p=thirdparty%2FPython%2Fcpython.git gh-127146: Emscripten: Set umask to zero in python.sh (#136740) 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. --- diff --git a/Lib/test/test_pydoc/test_pydoc.py b/Lib/test/test_pydoc/test_pydoc.py index d1d6f4987def..005526d994bd 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')