@@ -274,21 +274,26 @@ def gen(it):
274274 yield x
275275 return gen (range (10 ))
276276
277- def process_tests (self , get_generator ):
277+ def process_tests (self , get_generator , is_expr ):
278+ err_iterator = "'.*' object is not an iterator"
279+ err_iterable = "'.*' object is not iterable"
278280 for obj in self .iterables :
279281 g_obj = get_generator (obj )
280282 with self .subTest (g_obj = g_obj , obj = obj ):
281- self .assertListEqual (list (g_obj ), list (obj ))
283+ if is_expr :
284+ self .assertRaisesRegex (TypeError , err_iterator , list , g_obj )
285+ else :
286+ self .assertListEqual (list (g_obj ), list (obj ))
282287
283288 g_iter = get_generator (iter (obj ))
284289 with self .subTest (g_iter = g_iter , obj = obj ):
285290 self .assertListEqual (list (g_iter ), list (obj ))
286291
287- err_regex = "'.*' object is not iterable"
288292 for obj in self .non_iterables :
289293 g_obj = get_generator (obj )
290294 with self .subTest (g_obj = g_obj ):
291- self .assertRaisesRegex (TypeError , err_regex , list , g_obj )
295+ err = err_iterator if is_expr else err_iterable
296+ self .assertRaisesRegex (TypeError , err , list , g_obj )
292297
293298 def test_modify_f_locals (self ):
294299 def modify_f_locals (g , local , obj ):
@@ -301,8 +306,8 @@ def get_generator_genexpr(obj):
301306 def get_generator_genfunc (obj ):
302307 return modify_f_locals (self .genfunc (), 'it' , obj )
303308
304- self .process_tests (get_generator_genexpr )
305- self .process_tests (get_generator_genfunc )
309+ self .process_tests (get_generator_genexpr , True )
310+ self .process_tests (get_generator_genfunc , False )
306311
307312 def test_new_gen_from_gi_code (self ):
308313 def new_gen_from_gi_code (g , obj ):
@@ -315,8 +320,8 @@ def get_generator_genexpr(obj):
315320 def get_generator_genfunc (obj ):
316321 return new_gen_from_gi_code (self .genfunc (), obj )
317322
318- self .process_tests (get_generator_genexpr )
319- self .process_tests (get_generator_genfunc )
323+ self .process_tests (get_generator_genexpr , True )
324+ self .process_tests (get_generator_genfunc , False )
320325
321326
322327class ExceptionTest (unittest .TestCase ):
0 commit comments