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

@ -11,7 +11,8 @@ import threading
import socket
from test.support import (verbose,
run_with_tz, run_with_locale, cpython_only)
run_with_tz, run_with_locale, cpython_only,
requires_working_socket)
from test.support import hashlib_helper
from test.support import threading_helper
from test.support import warnings_helper
@ -23,6 +24,8 @@ try:
except ImportError:
ssl = None
support.requires_working_socket(module=True)
CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir, "keycert3.pem")
CAFILE = os.path.join(os.path.dirname(__file__) or os.curdir, "pycacert.pem")