| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  | # 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 = [ | 
					
						
							| 
									
										
										
										
											2024-03-17 09:47:14 +01:00
										 |  |  |     # TODO: enable more of test_capi once bugs are fixed (GH-116908, GH-116909). | 
					
						
							|  |  |  |     'test_capi.test_mem', | 
					
						
							|  |  |  |     'test_capi.test_pyatomic', | 
					
						
							| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  |     'test_code', | 
					
						
							|  |  |  |     'test_enum', | 
					
						
							|  |  |  |     'test_functools', | 
					
						
							|  |  |  |     'test_httpservers', | 
					
						
							|  |  |  |     'test_imaplib', | 
					
						
							|  |  |  |     'test_importlib', | 
					
						
							|  |  |  |     'test_io', | 
					
						
							|  |  |  |     'test_logging', | 
					
						
							| 
									
										
										
										
											2025-02-11 16:53:08 -05:00
										 |  |  |     'test_opcache', | 
					
						
							| 
									
										
										
										
											2024-03-16 23:52:44 +09:00
										 |  |  |     'test_queue', | 
					
						
							| 
									
										
										
										
											2024-03-17 09:47:14 +01:00
										 |  |  |     'test_signal', | 
					
						
							|  |  |  |     'test_socket', | 
					
						
							|  |  |  |     'test_sqlite3', | 
					
						
							| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  |     'test_ssl', | 
					
						
							|  |  |  |     'test_syslog', | 
					
						
							|  |  |  |     'test_thread', | 
					
						
							|  |  |  |     'test_threadedtempfile', | 
					
						
							| 
									
										
										
										
											2024-03-16 12:55:46 +01:00
										 |  |  |     'test_threading', | 
					
						
							| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  |     'test_threading_local', | 
					
						
							|  |  |  |     'test_threadsignals', | 
					
						
							| 
									
										
										
										
											2024-03-16 23:52:44 +09:00
										 |  |  |     'test_weakref', | 
					
						
							| 
									
										
										
										
											2025-02-06 18:37:05 -05:00
										 |  |  |     'test_free_threading', | 
					
						
							| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-06 10:19:00 -05:00
										 |  |  | # 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', | 
					
						
							| 
									
										
										
										
											2025-02-08 15:12:21 -05:00
										 |  |  |     'test_hashlib', | 
					
						
							| 
									
										
										
										
											2025-02-06 10:19:00 -05:00
										 |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-04 13:15:57 +03:00
										 |  |  | def setup_tsan_tests(cmdline_args) -> None: | 
					
						
							| 
									
										
										
										
											2024-03-16 01:07:16 +09:00
										 |  |  |     if not cmdline_args: | 
					
						
							|  |  |  |         cmdline_args[:] = TSAN_TESTS[:] | 
					
						
							| 
									
										
										
										
											2025-02-06 10:19:00 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | def setup_tsan_parallel_tests(cmdline_args) -> None: | 
					
						
							|  |  |  |     if not cmdline_args: | 
					
						
							|  |  |  |         cmdline_args[:] = TSAN_PARALLEL_TESTS[:] |