| # Set of tests run by default if --tsan is specified. The tests below were | |
| # chosen because they use threads and run in a reasonable amount of time. | |
| TSAN_TESTS = [ | |
| 'test_asyncio', | |
| 'test_capi', | |
| 'test_code', | |
| 'test_ctypes', | |
| 'test_concurrent_futures', | |
| 'test_enum', | |
| 'test_enumerate', | |
| 'test_functools', | |
| 'test_httpservers', | |
| 'test_imaplib', | |
| 'test_importlib', | |
| 'test_io', | |
| 'test_logging', | |
| 'test_opcache', | |
| 'test_queue', | |
| 'test_signal', | |
| 'test_socket', | |
| 'test_sqlite3', | |
| 'test_ssl', | |
| 'test_syslog', | |
| 'test_thread', | |
| 'test_thread_local_bytecode', | |
| 'test_threadedtempfile', | |
| 'test_threading', | |
| 'test_threading_local', | |
| 'test_threadsignals', | |
| 'test_weakref', | |
| 'test_free_threading', | |
| 'test_embed', | |
| ] | |
| # Tests that should be run with `--parallel-threads=N` under TSAN. These tests | |
| # typically do not use threads, but are run multiple times in parallel by | |
| # the regression test runner with the `--parallel-threads` option enabled. | |
| TSAN_PARALLEL_TESTS = [ | |
| 'test_abc', | |
| 'test_hashlib', | |
| ] | |
| def setup_tsan_tests(cmdline_args) -> None: | |
| if not cmdline_args: | |
| cmdline_args[:] = TSAN_TESTS[:] | |
| def setup_tsan_parallel_tests(cmdline_args) -> None: | |
| if not cmdline_args: | |
| cmdline_args[:] = TSAN_PARALLEL_TESTS[:] |