@@ -3138,32 +3138,41 @@ def produce_args():
31383138 p .terminate ()
31393139 p .join ()
31403140
3141- def test_imap_and_imap_unordered_buffersize_on_infinite_iterable (self ):
3141+ def test_imap_and_imap_unordered_buffersize_on_empty_iterable (self ):
3142+ for method_name in ("imap" , "imap_unordered" ):
3143+ with self .subTest (method = method_name ):
3144+ method = getattr (self .pool , method_name )
3145+
3146+ res = method (str , [], buffersize = 2 )
3147+
3148+ self .assertIsNone (next (res , None ))
3149+
3150+ def test_imap_buffersize_on_infinite_iterable (self ):
31423151 if self .TYPE != "threads" :
31433152 self .skipTest ("test not appropriate for {}" .format (self .TYPE ))
31443153
3145- for method_name in ("imap" , "imap_unordered" ):
3146- with self .subTest (method = method_name ):
3147- p = self .Pool (4 )
3148- method = getattr (p , method_name )
3154+ p = self .Pool (4 )
3155+ res = p .imap (str , itertools .count (), buffersize = 2 )
31493156
3150- res = method (str , itertools .count (), buffersize = 2 )
3157+ self .assertEqual (next (res , None ), "0" )
3158+ self .assertEqual (next (res , None ), "1" )
3159+ self .assertEqual (next (res , None ), "2" )
31513160
3152- self .assertEqual (next (res , None ), "0" )
3153- self .assertEqual (next (res , None ), "1" )
3154- self .assertEqual (next (res , None ), "2" )
3161+ p .terminate ()
3162+ p .join ()
31553163
3156- p .terminate ()
3157- p .join ()
3164+ def test_imap_unordered_buffersize_on_infinite_iterable (self ):
3165+ if self .TYPE != "threads" :
3166+ self .skipTest ("test not appropriate for {}" .format (self .TYPE ))
31583167
3159- def test_imap_and_imap_unordered_buffersize_on_empty_iterable (self ):
3160- for method_name in ("imap" , "imap_unordered" ):
3161- with self .subTest (method = method_name ):
3162- method = getattr (self .pool , method_name )
3168+ p = self .Pool (4 )
3169+ res = p .imap (str , itertools .count (), buffersize = 2 )
3170+ first_three_results = sorted (next (res , None ) for _ in range (3 ))
31633171
3164- res = method ( str , [], buffersize = 2 )
3172+ self . assertEqual ( first_three_results , ["0" , "1" , "2" ] )
31653173
3166- self .assertIsNone (next (res , None ))
3174+ p .terminate ()
3175+ p .join ()
31673176
31683177 def test_make_pool (self ):
31693178 expected_error = (RemoteError if self .TYPE == 'manager'
0 commit comments