aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2022-06-02 23:50:44 -0700
committerGitHub <noreply@github.com>2022-06-02 23:50:44 -0700
commit1d2b766100e1807d5fb7df858776a755644ed41b (patch)
treeaaf70d02279849700d5383a911490cd1b484abdb /Tools
parente798f698e51727d1e6596b4780e876e2b5db7528 (diff)
downloadcpython3-1d2b766100e1807d5fb7df858776a755644ed41b.tar.gz
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.md14
-rw-r--r--Tools/wasm/config.site-wasm32-wasi1
2 files changed, 14 insertions, 1 deletions
diff --git a/Tools/wasm/README.md b/Tools/wasm/README.md
index 239eb90d07..6bb9bd9978 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 ee3fc830e3..a6fcbed48f 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: '.'