summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2022-06-02 22:44:48 (GMT)
committerGitHub <noreply@github.com>2022-06-02 22:44:48 (GMT)
commit069c96f84ccd302436be180c8628289cc0efa977 (patch)
treea012983468dcd35f92f451daf8c18cc16d6caa51 /Tools
parent94b1586ca538d24388a159de6dda7eff1c230364 (diff)
downloadcpython-069c96f84ccd302436be180c8628289cc0efa977.zip
cpython-069c96f84ccd302436be180c8628289cc0efa977.tar.gz
cpython-069c96f84ccd302436be180c8628289cc0efa977.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
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 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: '.'