diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-06-03 06:50:44 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-03 06:50:44 (GMT) |
commit | 1d2b766100e1807d5fb7df858776a755644ed41b (patch) | |
tree | aaf70d02279849700d5383a911490cd1b484abdb /Tools | |
parent | e798f698e51727d1e6596b4780e876e2b5db7528 (diff) | |
download | cpython-1d2b766100e1807d5fb7df858776a755644ed41b.zip cpython-1d2b766100e1807d5fb7df858776a755644ed41b.tar.gz cpython-1d2b766100e1807d5fb7df858776a755644ed41b.tar.bz2 |
gh-90473: Skip and document more failing tests on WASI (GH-93436)
- Mark more ``umask()`` cases
- ``dup()`` is not supported
- ``/dev/null`` is not available
- document missing features
- mark more modules as not available
(cherry picked from commit 069c96f84ccd302436be180c8628289cc0efa977)
Co-authored-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/wasm/README.md | 14 | ||||
-rw-r--r-- | Tools/wasm/config.site-wasm32-wasi | 1 |
2 files changed, 14 insertions, 1 deletions
diff --git a/Tools/wasm/README.md b/Tools/wasm/README.md index 239eb90..6bb9bd9 100644 --- a/Tools/wasm/README.md +++ b/Tools/wasm/README.md @@ -237,13 +237,25 @@ are: ``socket.gethostbyname()`` are not implemented and always fail. - ``chmod(2)`` is not available. It's not possible to modify file permissions, yet. A future version of WASI may provide a limited ``set_permissions`` API. +- User/group related features like ``os.chown()``, ``os.getuid``, etc. are + stubs or fail with ``ENOTSUP``. - File locking (``fcntl``) is not available. - ``os.pipe()``, ``os.mkfifo()``, and ``os.mknod()`` are not supported. - ``process_time`` does not work as expected because it's implemented using wall clock. -- ``os.umask`` is a stub. +- ``os.umask()`` is a stub. - ``sys.executable`` is empty. - ``/dev/null`` / ``os.devnull`` may not be available. +- ``os.utime*()`` is buggy in WASM SDK 15.0, see + [utimensat() with timespec=NULL sets wrong time](https://github.com/bytecodealliance/wasmtime/issues/4184) +- ``os.symlink()`` fails with ``PermissionError`` when attempting to create a + symlink with an absolute path with wasmtime 0.36.0. The wasmtime runtime + uses ``openat2(2)`` syscall with flag ``RESOLVE_BENEATH`` to open files. + The flag causes the syscall to reject symlinks with absolute paths. +- ``os.curdir`` (aka ``.``) seems to behave differently, which breaks some + ``importlib`` tests that add ``.`` to ``sys.path`` and indirectly + ``sys.path_importer_cache``. +- WASI runtime environments may not provide a dedicated temp directory. # Detect WebAssembly builds diff --git a/Tools/wasm/config.site-wasm32-wasi b/Tools/wasm/config.site-wasm32-wasi index ee3fc83..a6fcbed 100644 --- a/Tools/wasm/config.site-wasm32-wasi +++ b/Tools/wasm/config.site-wasm32-wasi @@ -26,6 +26,7 @@ ac_cv_func_mkfifo=no ac_cv_func_mkfifoat=no ac_cv_func_mknod=no ac_cv_func_mknodat=no +ac_cv_func_makedev=no # fdopendir() fails on SDK 15.0, # OSError: [Errno 28] Invalid argument: '.' |