55from concurrent import futures
66from operator import add
77from test import support
8- from test .support import Py_GIL_DISABLED
8+ from test .support import Py_GIL_DISABLED , warnings_helper
99
1010
1111def mul (x , y ):
@@ -43,10 +43,12 @@ class ExecutorTest:
4343
4444 # Executor.shutdown() and context manager usage is tested by
4545 # ExecutorShutdownTest.
46+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
4647 def test_submit (self ):
4748 future = self .executor .submit (pow , 2 , 8 )
4849 self .assertEqual (256 , future .result ())
4950
51+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
5052 def test_submit_keyword (self ):
5153 future = self .executor .submit (mul , 2 , y = 8 )
5254 self .assertEqual (16 , future .result ())
@@ -57,6 +59,7 @@ def test_submit_keyword(self):
5759 with self .assertRaises (TypeError ):
5860 self .executor .submit (arg = 1 )
5961
62+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
6063 def test_map (self ):
6164 self .assertEqual (
6265 list (self .executor .map (pow , range (10 ), range (10 ))),
@@ -66,13 +69,15 @@ def test_map(self):
6669 list (self .executor .map (pow , range (10 ), range (10 ), chunksize = 3 )),
6770 list (map (pow , range (10 ), range (10 ))))
6871
72+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
6973 def test_map_exception (self ):
7074 i = self .executor .map (divmod , [1 , 1 , 1 , 1 ], [2 , 3 , 0 , 5 ])
7175 self .assertEqual (i .__next__ (), (0 , 1 ))
7276 self .assertEqual (i .__next__ (), (0 , 1 ))
7377 with self .assertRaises (ZeroDivisionError ):
7478 i .__next__ ()
7579
80+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
7681 @support .requires_resource ('walltime' )
7782 def test_map_timeout (self ):
7883 results = []
@@ -108,26 +113,30 @@ def test_map_buffersize_value_validation(self):
108113 ):
109114 self .executor .map (str , range (4 ), buffersize = buffersize )
110115
116+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
111117 def test_map_buffersize (self ):
112118 ints = range (4 )
113119 for buffersize in (1 , 2 , len (ints ), len (ints ) * 2 ):
114120 with self .subTest (buffersize = buffersize ):
115121 res = self .executor .map (str , ints , buffersize = buffersize )
116122 self .assertListEqual (list (res ), ["0" , "1" , "2" , "3" ])
117123
124+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
118125 def test_map_buffersize_on_multiple_iterables (self ):
119126 ints = range (4 )
120127 for buffersize in (1 , 2 , len (ints ), len (ints ) * 2 ):
121128 with self .subTest (buffersize = buffersize ):
122129 res = self .executor .map (add , ints , ints , buffersize = buffersize )
123130 self .assertListEqual (list (res ), [0 , 2 , 4 , 6 ])
124131
132+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
125133 def test_map_buffersize_on_infinite_iterable (self ):
126134 res = self .executor .map (str , itertools .count (), buffersize = 2 )
127135 self .assertEqual (next (res , None ), "0" )
128136 self .assertEqual (next (res , None ), "1" )
129137 self .assertEqual (next (res , None ), "2" )
130138
139+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
131140 def test_map_buffersize_on_multiple_infinite_iterables (self ):
132141 res = self .executor .map (
133142 add ,
@@ -147,6 +156,7 @@ def test_map_buffersize_without_iterable(self):
147156 res = self .executor .map (str , buffersize = 2 )
148157 self .assertIsNone (next (res , None ))
149158
159+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
150160 def test_map_buffersize_when_buffer_is_full (self ):
151161 ints = iter (range (4 ))
152162 buffersize = 2
@@ -158,13 +168,15 @@ def test_map_buffersize_when_buffer_is_full(self):
158168 msg = "should have fetched only `buffersize` elements from `ints`." ,
159169 )
160170
171+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
161172 def test_shutdown_race_issue12456 (self ):
162173 # Issue #12456: race condition at shutdown where trying to post a
163174 # sentinel in the call queue blocks (the queue is full while processes
164175 # have exited).
165176 self .executor .map (str , [2 ] * (self .worker_count + 1 ))
166177 self .executor .shutdown ()
167178
179+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
168180 @support .cpython_only
169181 def test_no_stale_references (self ):
170182 # Issue #16284: check that the executors don't unnecessarily hang onto
@@ -209,6 +221,7 @@ def test_max_workers_negative(self):
209221 "than 0" ):
210222 self .executor_type (max_workers = number )
211223
224+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
212225 def test_free_reference (self ):
213226 # Issue #14406: Result iterator should not keep an internal
214227 # reference to result objects.
@@ -221,6 +234,7 @@ def test_free_reference(self):
221234 if wr () is None :
222235 break
223236
237+ @warnings_helper .ignore_fork_in_thread_deprecation_warnings ()
224238 def test_swallows_falsey_exceptions (self ):
225239 # see gh-132063: Prevent exceptions that evaluate as falsey
226240 # from being ignored.
0 commit comments