@@ -318,21 +318,26 @@ def gen(it):
318318 yield x
319319 return gen (range (10 ))
320320
321- def process_tests (self , get_generator ):
321+ def process_tests (self , get_generator , is_expr ):
322+ err_iterator = "'.*' object is not an iterator"
323+ err_iterable = "'.*' object is not iterable"
322324 for obj in self .iterables :
323325 g_obj = get_generator (obj )
324326 with self .subTest (g_obj = g_obj , obj = obj ):
325- self .assertListEqual (list (g_obj ), list (obj ))
327+ if is_expr :
328+ self .assertRaisesRegex (TypeError , err_iterator , list , g_obj )
329+ else :
330+ self .assertListEqual (list (g_obj ), list (obj ))
326331
327332 g_iter = get_generator (iter (obj ))
328333 with self .subTest (g_iter = g_iter , obj = obj ):
329334 self .assertListEqual (list (g_iter ), list (obj ))
330335
331- err_regex = "'.*' object is not iterable"
332336 for obj in self .non_iterables :
333337 g_obj = get_generator (obj )
334338 with self .subTest (g_obj = g_obj ):
335- self .assertRaisesRegex (TypeError , err_regex , list , g_obj )
339+ err = err_iterator if is_expr else err_iterable
340+ self .assertRaisesRegex (TypeError , err , list , g_obj )
336341
337342 def test_modify_f_locals (self ):
338343 def modify_f_locals (g , local , obj ):
@@ -345,8 +350,8 @@ def get_generator_genexpr(obj):
345350 def get_generator_genfunc (obj ):
346351 return modify_f_locals (self .genfunc (), 'it' , obj )
347352
348- self .process_tests (get_generator_genexpr )
349- self .process_tests (get_generator_genfunc )
353+ self .process_tests (get_generator_genexpr , True )
354+ self .process_tests (get_generator_genfunc , False )
350355
351356 def test_new_gen_from_gi_code (self ):
352357 def new_gen_from_gi_code (g , obj ):
@@ -359,8 +364,8 @@ def get_generator_genexpr(obj):
359364 def get_generator_genfunc (obj ):
360365 return new_gen_from_gi_code (self .genfunc (), obj )
361366
362- self .process_tests (get_generator_genexpr )
363- self .process_tests (get_generator_genfunc )
367+ self .process_tests (get_generator_genexpr , True )
368+ self .process_tests (get_generator_genfunc , False )
364369
365370
366371class ExceptionTest (unittest .TestCase ):
0 commit comments