22import types
33import unittest
44import contextlib
5+ import warnings
56
67from test .support .import_helper import import_module
78from test .support import gc_collect , requires_working_socket
@@ -377,6 +378,13 @@ async def async_gen_wrapper():
377378
378379 self .compare_generators (sync_gen_wrapper (), async_gen_wrapper ())
379380
381+ def test_async_gen_3_arg_deprecation_warning (self ):
382+ async def gen ():
383+ yield 123
384+
385+ with self .assertWarns (DeprecationWarning ):
386+ gen ().athrow (GeneratorExit , GeneratorExit (), None )
387+
380388 def test_async_gen_api_01 (self ):
381389 async def gen ():
382390 yield 123
@@ -650,7 +658,7 @@ def test1(anext):
650658 agen = agenfn ()
651659 with contextlib .closing (anext (agen , "default" ).__await__ ()) as g :
652660 self .assertEqual (g .send (None ), 1 )
653- self .assertEqual (g .throw (MyError , MyError (), None ), 2 )
661+ self .assertEqual (g .throw (MyError () ), 2 )
654662 try :
655663 g .send (None )
656664 except StopIteration as e :
@@ -663,9 +671,9 @@ def test2(anext):
663671 agen = agenfn ()
664672 with contextlib .closing (anext (agen , "default" ).__await__ ()) as g :
665673 self .assertEqual (g .send (None ), 1 )
666- self .assertEqual (g .throw (MyError , MyError (), None ), 2 )
674+ self .assertEqual (g .throw (MyError () ), 2 )
667675 with self .assertRaises (MyError ):
668- g .throw (MyError , MyError (), None )
676+ g .throw (MyError () )
669677
670678 def test3 (anext ):
671679 agen = agenfn ()
@@ -692,9 +700,9 @@ async def agenfn():
692700 agen = agenfn ()
693701 with contextlib .closing (anext (agen , "default" ).__await__ ()) as g :
694702 self .assertEqual (g .send (None ), 10 )
695- self .assertEqual (g .throw (MyError , MyError (), None ), 20 )
703+ self .assertEqual (g .throw (MyError () ), 20 )
696704 with self .assertRaisesRegex (MyError , 'val' ):
697- g .throw (MyError , MyError ('val' ), None )
705+ g .throw (MyError ('val' ))
698706
699707 def test5 (anext ):
700708 @types .coroutine
@@ -713,7 +721,7 @@ async def agenfn():
713721 with contextlib .closing (anext (agen , "default" ).__await__ ()) as g :
714722 self .assertEqual (g .send (None ), 10 )
715723 with self .assertRaisesRegex (StopIteration , 'default' ):
716- g .throw (MyError , MyError (), None )
724+ g .throw (MyError () )
717725
718726 def test6 (anext ):
719727 @types .coroutine
@@ -728,7 +736,7 @@ async def agenfn():
728736 agen = agenfn ()
729737 with contextlib .closing (anext (agen , "default" ).__await__ ()) as g :
730738 with self .assertRaises (MyError ):
731- g .throw (MyError , MyError (), None )
739+ g .throw (MyError () )
732740
733741 def run_test (test ):
734742 with self .subTest ('pure-Python anext()' ):
0 commit comments