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'
)
@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:
@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)
# 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
# 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()"