bpo-40280: Skip socket, fork, subprocess tests on Emscripten (GH-31986)

- Add requires_fork and requires_subprocess to more tests
- Skip extension import tests if dlopen is not available
- Don't assume that _testcapi is a shared extension
- Skip a lot of socket tests that don't work on Emscripten
- Skip mmap tests, mmap emulation is incomplete
- venv does not work yet
- Cannot get libc from executable

The "entire" test suite is now passing on Emscripten with EMSDK from git head (91 suites are skipped).
This commit is contained in:
Christian Heimes 2022-03-22 12:04:36 +02:00 committed by GitHub
parent a25a985535
commit deeaac49e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 238 additions and 23 deletions

View file

@ -84,10 +84,15 @@ CYGWIN = (HOST_PLATFORM == 'cygwin')
MACOS = (HOST_PLATFORM == 'darwin')
AIX = (HOST_PLATFORM.startswith('aix'))
VXWORKS = ('vxworks' in HOST_PLATFORM)
EMSCRIPTEN = HOST_PLATFORM == 'emscripten-wasm32'
CC = os.environ.get("CC")
if not CC:
CC = sysconfig.get_config_var("CC")
if EMSCRIPTEN:
# emcc is a Python script from a different Python interpreter.
os.environ.pop("PYTHONPATH", None)
SUMMARY = """
Python is an interpreted, interactive, object-oriented programming