diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/libregrtest/main.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index 0cacccf..85bf6e1 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -628,11 +628,16 @@ class Regrtest: # Define a writable temp dir that will be used as cwd while running # the tests. The name of the dir includes the pid to allow parallel # testing (see the -j option). - pid = os.getpid() + # Emscripten and WASI have stubbed getpid(), Emscripten has only + # milisecond clock resolution. Use randint() instead. + if sys.platform in {"emscripten", "wasi"}: + nounce = random.randint(0, 1_000_000) + else: + nounce = os.getpid() if self.worker_test_name is not None: - test_cwd = 'test_python_worker_{}'.format(pid) + test_cwd = 'test_python_worker_{}'.format(nounce) else: - test_cwd = 'test_python_{}'.format(pid) + test_cwd = 'test_python_{}'.format(nounce) test_cwd += os_helper.FS_NONASCII test_cwd = os.path.join(self.tmp_dir, test_cwd) return test_cwd |