]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-127146: Emscripten: Set umask to zero in python.sh (GH-136740) (#136745)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 17 Jul 2025 16:05:40 +0000 (18:05 +0200)
committerGitHub <noreply@github.com>
Thu, 17 Jul 2025 16:05:40 +0000 (16:05 +0000)
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 <roberthoodchatham@gmail.com>
Lib/test/test_pydoc/test_pydoc.py

index 281b24eaa36b80150949cb00ef2e2972fb7700e4..f5ba5e1eb754be029f0a88487c7dbd45e4159afa 100644 (file)
@@ -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')