python/selftest/parallel.sh
Karolina Surma db335e1e44 Explicitly declare the usage of distutils from Python stdlib for tests
setuptools 60+ bundles distutils which then have an impact on the test
environment, causing test_with_pip to fail.
2022-03-16 17:52:34 +01:00

32 lines
1.1 KiB
Bash
Executable file

#!/bin/sh -eux
# set default version to %{python3_version} if available
VERSION=${VERSION:-$(rpm --eval '%{?python3_version}')} || true
# ...or 3.8 if that macro is not available or rpm fails for any reason
VERSION=${VERSION:-3.8}
PYTHON=${PYTHON:-python$VERSION}
# what to skip
# test_socket swaps and kills the machine https://bugs.python.org/issue34587
X=${X:-"-x test_socket"}
# parallel jobs, 0 lets Python decide what's best
JOBS=${JOBS:-0}
# Fedora sets explicit minimum/maximum TLS versions.
# Python's test suite assumes that the minimum/maximum version is set to
# a magic marker. We workaround the test problem by setting:
export OPENSSL_CONF=/non-existing-file
# https://bugzilla.redhat.com/show_bug.cgi?id=1618753
# https://bugzilla.redhat.com/show_bug.cgi?id=1778357
# https://bugs.python.org/issue35045
# https://bugs.python.org/issue38815
# setuptools 60+ uses its own copy of distutils by default
# this setting must be overriden with the environment variable for
# Python tests to use the standard library's distutils
export SETUPTOOLS_USE_DISTUTILS=stdlib
$PYTHON -m test.pythoninfo
$PYTHON -m test -wW -j$JOBS $X