2022-10-22 22:50:37 +02:00

63 lines
2.1 KiB
Python

import pathlib
import sys
import warnings
CH_02 = pathlib.Path('CH_02_interactive_python')
CH_03 = pathlib.Path('CH_03_pythonic_syntax')
CH_04 = pathlib.Path('CH_04_design_patterns')
CH_10 = pathlib.Path('CH_10_testing_and_logging')
CH_11 = pathlib.Path('CH_11_debugging')
CH_12 = pathlib.Path('CH_12_performance')
CH_13 = pathlib.Path('CH_13_async_io')
CH_14 = pathlib.Path('CH_14_multithreading_and_multiprocessing')
CH_15 = pathlib.Path('CH_15_scientific_python')
CH_17 = pathlib.Path('CH_17_c_and_cpp_extensions')
CH_18 = pathlib.Path('CH_18_packaging')
collect_ignore_paths = [
CH_03 / 'T_18_flake8.py',
CH_03 / 'T_28_circular_imports_a.py',
CH_03 / 'T_28_circular_imports_b.py',
CH_10 / 'T_02_testing_with_documentation' / 'conf.py',
CH_10 / 'T_11_representing_assertions.py',
CH_10 / 'T_12_assert_representation.py',
CH_10 / 'T_18_bad_code.py',
CH_10 / 'T_22_tox' / 'test.py',
CH_11 / 'T_07_faulthandler.py',
CH_11 / 'T_08_faulthandler_try_catch.py',
CH_11 / 'T_09_faulthandler_enabled.py',
CH_11 / 'T_13_pdb_catching_exceptions.py',
# CH_12 / 'T_07_profile_statistics.py',
CH_12 / 'T_08_line_profiler.py',
CH_13 / 'T_00_async_await.py',
CH_13 / 'T_13_forgot_await.py',
CH_14 / 'T_14_deadlocks.py',
CH_14 / 'T_17_remote_multiprocessing' / 'client.py',
CH_14 / 'T_17_remote_multiprocessing' / 'server.py',
CH_14 / 'T_17_remote_multiprocessing' / 'submitter.py',
CH_17 / 'T_00_platform_specific_libraries.rst',
CH_17 / 'T_04_cffi.rst',
CH_17 / 'T_05_cffi_open_library.rst',
CH_18 / 'T_02_basic_setup_py' / 'entry_points.rst',
]
for filename in collect_ignore_paths:
assert filename.exists(), f'{filename!r} is missing'
if sys.version_info < (3, 10):
collect_ignore_paths.append(CH_03 / 'T_19_match_statement.rst')
else:
warnings.warn(f'Skipping Python 3.10+ tests on {sys.version}')
try:
import numpy
assert numpy
except ImportError:
warnings.warn(
'Skipping Scientific Python, requirements not installed')
for filename in CH_15.glob('*.rst'):
collect_ignore_paths.append(filename)
collect_ignore = [str(p) for p in collect_ignore_paths]