diff options
-rw-r--r-- | Lib/test/test_os.py | 10 | ||||
-rw-r--r-- | Tools/wasm/config.site-wasm32-emscripten | 18 |
2 files changed, 11 insertions, 17 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 9a60bf5..5f73af8 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -1334,7 +1334,9 @@ class WalkTests(unittest.TestCase): else: self.sub2_tree = (sub2_path, ["SUB21"], ["tmp3"]) - os.chmod(sub21_path, 0) + if not support.is_emscripten: + # Emscripten fails with inaccessible directory + os.chmod(sub21_path, 0) try: os.listdir(sub21_path) except PermissionError: @@ -1517,6 +1519,9 @@ class FwalkTests(WalkTests): # check that listdir() returns consistent information self.assertEqual(set(os.listdir(rootfd)), set(dirs) | set(files)) + @unittest.skipIf( + support.is_emscripten, "Cannot dup stdout on Emscripten" + ) def test_fd_leak(self): # Since we're opening a lot of FDs, we must be careful to avoid leaks: # we both check that calling fwalk() a large number of times doesn't @@ -2935,6 +2940,9 @@ class DeviceEncodingTests(unittest.TestCase): @unittest.skipUnless(os.isatty(0) and not win32_is_iot() and (sys.platform.startswith('win') or (hasattr(locale, 'nl_langinfo') and hasattr(locale, 'CODESET'))), 'test requires a tty and either Windows or nl_langinfo(CODESET)') + @unittest.skipIf( + support.is_emscripten, "Cannot get encoding of stdin on Emscripten" + ) def test_device_encoding(self): encoding = os.device_encoding(0) self.assertIsNotNone(encoding) diff --git a/Tools/wasm/config.site-wasm32-emscripten b/Tools/wasm/config.site-wasm32-emscripten index 7f2df3a..60ede49 100644 --- a/Tools/wasm/config.site-wasm32-emscripten +++ b/Tools/wasm/config.site-wasm32-emscripten @@ -27,11 +27,6 @@ ac_cv_func_prlimit=no # unsupported syscall, https://github.com/emscripten-core/emscripten/issues/13393 ac_cv_func_shutdown=no -# clock_nanosleep() causes time.sleep() to sleep forever. -# nanosleep() works correctly -ac_cv_func_clock_nanosleep=no -ac_cv_lib_rt_clock_nanosleep=no - # The rest is based on pyodide # https://github.com/pyodide/pyodide/blob/main/cpython/pyconfig.undefs.h @@ -39,20 +34,11 @@ ac_cv_func_epoll_create=no ac_cv_func_epoll_create1=no ac_cv_header_linux_vm_sockets_h=no ac_cv_func_socketpair=no -ac_cv_func_utimensat=no ac_cv_func_sigaction=no -# Untested or failing syscalls in emscripten -ac_cv_func_openat=no -ac_cv_func_mkdirat=no -ac_cv_func_faccessat=no -ac_cv_func_fchownat=no -ac_cv_func_renameat=no -ac_cv_func_linkat=no +# symlinkat is implemented, but fails ac_cv_func_symlinkat=no -ac_cv_func_readlinkat=no -ac_cv_func_fchmodat=no -ac_cv_func_dup3=no + # lchmod/lchown are implemented, but fail with ENOTSUP. ac_cv_func_lchmod=no ac_cv_func_lchown=no |