From 80a39daecd9ea7cf5593d98221032f8b8fb1c485 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 6 Jun 2022 16:31:59 +0200 Subject: gh-90473: Skip POSIX tests that don't apply to WASI (GH-93536) --- Lib/test/test_posix.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index 28e5e90..7efe3c5 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -31,8 +31,8 @@ _DUMMY_SYMLINK = os.path.join(tempfile.gettempdir(), os_helper.TESTFN + '-dummy-symlink') requires_32b = unittest.skipUnless( - # Emscripten has 32 bits pointers, but support 64 bits syscall args. - sys.maxsize < 2**32 and not support.is_emscripten, + # Emscripten/WASI have 32 bits pointers, but support 64 bits syscall args. + sys.maxsize < 2**32 and not (support.is_emscripten or support.is_wasi), 'test is only meaningful on 32-bit builds' ) @@ -547,6 +547,7 @@ class PosixTester(unittest.TestCase): @unittest.skipUnless(hasattr(posix, 'dup'), 'test needs posix.dup()') + @unittest.skipIf(support.is_wasi, "WASI does not have dup()") def test_dup(self): fp = open(os_helper.TESTFN) try: @@ -564,6 +565,7 @@ class PosixTester(unittest.TestCase): @unittest.skipUnless(hasattr(posix, 'dup2'), 'test needs posix.dup2()') + @unittest.skipIf(support.is_wasi, "WASI does not have dup2()") def test_dup2(self): fp1 = open(os_helper.TESTFN) fp2 = open(os_helper.TESTFN) @@ -1212,6 +1214,7 @@ class PosixTester(unittest.TestCase): # bpo-47205: does not raise OSError on FreeBSD self.assertRaises(OSError, posix.sched_setaffinity, -1, mask) + @unittest.skipIf(support.is_wasi, "No dynamic linking on WASI") def test_rtld_constants(self): # check presence of major RTLD_* constants posix.RTLD_LAZY @@ -1406,6 +1409,10 @@ class TestPosixDirFd(unittest.TestCase): # whoops! using both together not supported on this platform. pass + @unittest.skipIf( + support.is_wasi, + "WASI: symlink following on path_link is not supported" + ) @unittest.skipUnless( hasattr(os, "link") and os.link in os.supports_dir_fd, "test needs dir_fd support in os.link()" -- cgit v0.12