aboutsummaryrefslogtreecommitdiff
path: root/setuptools/_distutils/tests/py38compat.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/_distutils/tests/py38compat.py')
-rw-r--r--setuptools/_distutils/tests/py38compat.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/setuptools/_distutils/tests/py38compat.py b/setuptools/_distutils/tests/py38compat.py
new file mode 100644
index 0000000..c949f58
--- /dev/null
+++ b/setuptools/_distutils/tests/py38compat.py
@@ -0,0 +1,62 @@
+# flake8: noqa
+
+import contextlib
+import builtins
+import sys
+
+from test.support import requires_zlib
+import test.support
+
+
+ModuleNotFoundError = getattr(builtins, 'ModuleNotFoundError', ImportError)
+
+try:
+ from test.support.warnings_helper import check_warnings
+except (ModuleNotFoundError, ImportError):
+ from test.support import check_warnings
+
+
+try:
+ from test.support.os_helper import (
+ change_cwd,
+ rmtree,
+ EnvironmentVarGuard,
+ TESTFN,
+ unlink,
+ skip_unless_symlink,
+ temp_dir,
+ create_empty_file,
+ temp_cwd,
+ )
+except (ModuleNotFoundError, ImportError):
+ from test.support import (
+ change_cwd,
+ rmtree,
+ EnvironmentVarGuard,
+ TESTFN,
+ unlink,
+ skip_unless_symlink,
+ temp_dir,
+ create_empty_file,
+ temp_cwd,
+ )
+
+
+# From Python 3.9
+@contextlib.contextmanager
+def _save_restore_warnings_filters():
+ old_filters = warnings.filters[:]
+ try:
+ yield
+ finally:
+ warnings.filters[:] = old_filters
+
+
+try:
+ from test.support.warnings_helper import save_restore_warnings_filters
+except (ModuleNotFoundError, ImportError):
+ save_restore_warnings_filters = _save_restore_warnings_filters
+
+
+if sys.version_info < (3, 9):
+ requires_zlib = lambda: test.support.requires_zlib