1# flake8: noqa
2
3import contextlib
4import builtins
5import sys
6
7from test.support import requires_zlib
8import test.support
9
10
11ModuleNotFoundError = getattr(builtins, 'ModuleNotFoundError', ImportError)
12
13try:
14    from test.support.warnings_helper import check_warnings
15except (ModuleNotFoundError, ImportError):
16    from test.support import check_warnings
17
18
19try:
20    from test.support.os_helper import (
21        change_cwd,
22        rmtree,
23        EnvironmentVarGuard,
24        TESTFN,
25        unlink,
26        skip_unless_symlink,
27        temp_dir,
28        create_empty_file,
29        temp_cwd,
30    )
31except (ModuleNotFoundError, ImportError):
32    from test.support import (
33        change_cwd,
34        rmtree,
35        EnvironmentVarGuard,
36        TESTFN,
37        unlink,
38        skip_unless_symlink,
39        temp_dir,
40        create_empty_file,
41        temp_cwd,
42    )
43
44
45# From Python 3.9
46@contextlib.contextmanager
47def _save_restore_warnings_filters():
48    old_filters = warnings.filters[:]
49    try:
50        yield
51    finally:
52        warnings.filters[:] = old_filters
53
54
55try:
56    from test.support.warnings_helper import save_restore_warnings_filters
57except (ModuleNotFoundError, ImportError):
58    save_restore_warnings_filters = _save_restore_warnings_filters
59
60
61if sys.version_info < (3, 9):
62    requires_zlib = lambda: test.support.requires_zlib
63