HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_contextlib_async.cpython-310.pyc
o

�i�R�@s�ddlZddlmZmZmZmZmZmZddlZddl	m
Z
ddlZddlZddl
mZdd�Zdd�ZGd	d
�d
ej�ZGdd�dej�ZGd
d�dej�ZGdd�deej�ZGdd�dej�Zedkrle��dSdS)�N)�asynccontextmanager�AbstractAsyncContextManager�AsyncExitStack�nullcontext�aclosing�contextmanager)�support)�TestBaseExitStackcst����fdd��}|S)z5Decorator to turn an async function into a test case.cs�|i|��}t�|�dS�N)�asyncio�run)�args�kwargs�coro��func��7/usr/local/lib/python3.10/test/test_contextlib_async.py�wrappersz_async_test.<locals>.wrapper)�	functools�wraps)rrrrr�_async_test
srcCst�d�dSr
)r�set_event_loop_policyrrrr�tearDownModule�rc@s4eZdZedd��Zedd��Zdd�Zdd�Zd	S)
�TestAbstractAsyncContextManagerc	�sx�Gdd�dt�}|�}|�|��IdH|�|4IdH�}|�||�Wd�IdHdS1IdHs5wYdS)Nc�eZdZ�fdd�Z�ZS)z@TestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnterc���t�j|�IdHdSr
��super�	__aexit__��selfr
��	__class__rrr ��zJTestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnter.__aexit__��__name__�
__module__�__qualname__r �
__classcell__rrr#r�DefaultEnter�r+)r�assertIs�
__aenter__)r"r+�manager�contextrrr�
test_enters�.�z*TestAbstractAsyncContextManager.test_enterc
�s��tdd����fdd�}g}td�}|�t��6��4IdH�|�2z3dHW}|�|�|�6Wd�IdHn1IdHsBwYWd�n1sQwY|�|dg�dS)NcS��dVdSr
rrrrr�ctx+��
zUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.ctxc	sH���4IdH�dVWd�IdHdS1IdHswYdS)N�rr�r3rr�gen/s�.�zUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.gen�r5)r�
ValueError�assertRaises�append�assertEqual)r"r7�ret�exc�valrr6r�(test_async_gen_propagates_generator_exit's �

�(���zHTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exitcCsFGdd�dt�}|�t��|�Wd�dS1swYdS)Nc@�eZdZdS)zKTestAbstractAsyncContextManager.test_exit_is_abstract.<locals>.MissingAexitN�r'r(r)rrrr�MissingAexit>�rC)rr:�	TypeError)r"rCrrr�test_exit_is_abstract=s"�z5TestAbstractAsyncContextManager.test_exit_is_abstractcCs�Gdd�d�}|�t|t��Gdd�dt�}|�t|t��Gdd�d|�}|�t|t��Gdd�d|�}|�t|t��dS)	Nc@seZdZdd�Zdd�ZdS)zWTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratchc�s�|Sr
r�r"rrrr.F��zbTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aenter__c�s�dSr
r)r"�exc_type�	exc_value�	tracebackrrrr HrHzaTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aexit__N�r'r(r)r.r rrrr�ManagerFromScratchEsrMcr)zQTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnterc�rr
rr!r#rrr Nr%z[TestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnter.__aexit__r&rrr#rr+Mr,r+c@�eZdZdZdS)zOTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAenterN)r'r(r)r.rrrr�
NoneAenterS�rOc@rN)zNTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAexitN)r'r(r)r rrrr�	NoneAexitXrPrQ)Z
assertTrue�
issubclassr�assertFalse)r"rMr+rOrQrrr�test_structural_subclassingDsz;TestAbstractAsyncContextManager.test_structural_subclassingN)r'r(r)rr1r@rFrTrrrrrs

rc@s�eZdZedd��Zedd��Zedd��Zedd��Zed	d
��Zedd��Z	ed
d��Z
edd��Zedd��Zedd��Z
edd��Zdd�Zdd�Zejdd��Zejedd���Zedd ��Zed!d"��Zd#S)$�AsyncContextManagerTestCasec	�s��g�t�fdd��}|�4IdH�}|��dg�|�|d���|�Wd�IdHn1IdHs5wY|��gd��dS)Ncs ���d�dV��d�dS�N��*���r;r��staterr�woohoocs�
zEAsyncContextManagerTestCase.test_contextmanager_plain.<locals>.woohoorWrX�rWrXrY)rr<r;�r"r]�xrr[r�test_contextmanager_plain`s�(�z5AsyncContextManagerTestCase.test_contextmanager_plainc
�s��g�t�fdd��}|�t��0|�4IdH�}|��dg�|�|d���|�t��1IdHs4wYWd�n1sCwY|��gd��dS)Nc	s0���d�zdVW��d�dS��d�wrVrZrr[rrr]qs
�
zGAsyncContextManagerTestCase.test_contextmanager_finally.<locals>.woohoorWrXr^)rr:�ZeroDivisionErrorr<r;r_rr[r�test_contextmanager_finallyns�
��z7AsyncContextManagerTestCase.test_contextmanager_finallyc�s��tdd��}z#|�4IdH�ddWd�IdHn1IdHs$wYWntyB}zt�|j�}WYd}~nd}~ww|�t|�d�|�|djd�|�|djd�Gdd�dt	�}z|�4IdH�|d	��1IdHsxwYWn|y�}zt�|j�}WYd}~nd}~ww|�t|�d�|�|djd�|�|djd
�Gdd�dt
�}Gd
d�dt�}t
d�td�|d�|d�fD]v}|jt
|�d��cz|�4IdH�|�1IdHs�wYWn!t
|��y}z|�||�t�|j�}WYd}~n
d}~ww|�|�d��|�t|�d�|�|djd�|�|djd�Wd�n	1�s@wYq�dS)NcSr2r
rrrrr�f�r4zDAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.frWr�test_contextmanager_tracebackz1/0c@rA)zWAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.RuntimeErrorSubclassNrBrrrr�RuntimeErrorSubclass�rDrfrXzraise RuntimeErrorSubclass(42)c@rA)zXAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.StopIterationSubclassNrBrrrr�StopIterationSubclass�rDrgc@rA)z]AsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.StopAsyncIterationSubclassNrBrrrr�StopAsyncIterationSubclass�rDrh�spam�ham��type� was suppressedzraise stop_exc)rrbrK�
extract_tb�
__traceback__r<�len�name�line�RuntimeError�
StopIteration�StopAsyncIteration�subTestrlr-�fail)r"rd�eZframesrfrgrh�stop_excrrrre�sf�

(��������������z9AsyncContextManagerTestCase.test_contextmanager_tracebackc�sD�tdd��}|�}|��IdH|�|�ttd�d�IdH�dS)NcSr2r
rrrrr�whee�r4zHAsyncContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee�foo)rr.rSr rE)r"rzr3rrr�test_contextmanager_no_reraise�s�
"z:AsyncContextManagerTestCase.test_contextmanager_no_reraisec�sj�tdd��}|�}|��IdH|�t��|�ttd�d�IdHWd�dS1s.wYdS)NcSs"�zdVWdSdVYdSr
rrrrr�whoo�s
�zTAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throw.<locals>.whoor{)rr.r:rsr rE�r"r}r3rrr�*test_contextmanager_trap_yield_after_throw�s�
"�zFAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throwc�sR�tdd��}|�}|�t��|��IdHWd�dS1s"wYdS)NcSs�dSr
rrrrrr}�s�zKAsyncContextManagerTestCase.test_contextmanager_trap_no_yield.<locals>.whoo)rr:rsr.r~rrr�!test_contextmanager_trap_no_yield�s�
"�z=AsyncContextManagerTestCase.test_contextmanager_trap_no_yieldc�sf�tdd��}|�}|��IdH|�t��|�ddd�IdHWd�dS1s,wYdS)NcSs�dVdVdSr
rrrrrr}�s�
zOAsyncContextManagerTestCase.test_contextmanager_trap_second_yield.<locals>.whoo)rr.r:rsr r~rrr�%test_contextmanager_trap_second_yield�s�
"�zAAsyncContextManagerTestCase.test_contextmanager_trap_second_yieldc�sf�tdd��}|�}|��IdH|�t��|�tdd�IdHWd�dS1s,wYdS)NcSs"�zdVWdStyt�wr
)rs�SyntaxErrorrrrrr}�s��zLAsyncContextManagerTestCase.test_contextmanager_non_normalised.<locals>.whoo)rr.r:r�r rsr~rrr�"test_contextmanager_non_normalised�s�
"�z>AsyncContextManagerTestCase.test_contextmanager_non_normalisedc	�s~�g�t��fdd��}|�4IdH�}���dg���|d���|�td��1IdHs0wY���gd��dS)Nc
s`���d�zdVWdSty/}z��|jd����gd��WYd}~dSd}~ww)NrWrXrr^)r;rbr
r<)rx�r"r\rrr]�s�
��zFAsyncContextManagerTestCase.test_contextmanager_except.<locals>.woohoorWrXrYr^)rr<r;rbr_rr�r�test_contextmanager_except�s�
�z6AsyncContextManagerTestCase.test_contextmanager_exceptc�s��tdd��}Gdd�dt�}Gdd�dt�}td�td�|d�|d�fD]R}|jt|�d	��@z|�4IdH�|�1IdHsAwYWnty_}z|�||�WYd}~n
d}~ww|�|�d
��Wd�n1srwYq%dS)NcSr2r
rrrrrr]r4zOAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohooc@rA)z^AsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopIterationSubclassNrBrrrrrgrDrgc@rA)zcAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopAsyncIterationSubclassNrBrrrrrhrDrhrirjrkrm)rrtrurvrl�	Exceptionr-rw)r"r]rgrhry�exrrr�#test_contextmanager_except_stopiters0�
��������z?AsyncContextManagerTestCase.test_contextmanager_except_stopiterc
�s��tdd��}|�t��)|�4IdH�ddWd�IdHn1IdHs)wYWd�n1s8wY|�t��|�4IdH�t�1IdHsSwYWd�dS1scwYdS)Nc
Ss8�zdVWdSty}ztd|���|�d}~ww)Nzcaught )r�rs�r>rrrr]"s���zQAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerror.<locals>.woohoorWr)rr:rsru�r"r]rrr�%test_contextmanager_wrap_runtimeerror s�

(����"�zAAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerrorcCs"dd�}t|dd�dd���}|S)Ncs�fdd�}|S)Ncs"���D]
\}}t|||�q|Sr
)�items�setattr)r�k�v��kwrr�decorate6sz]AsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs.<locals>.decorater)r�r�rr�r�attribs5szKAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs�bar)r{cSs�dVdS)�Whee!Nr)rirrr�baz;s�
zGAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.baz)r)r"r�r�rrr�_create_contextmanager_attribs4s
z:AsyncContextManagerTestCase._create_contextmanager_attribscCs(|��}|�|jd�|�|jd�dS)Nr�r�)r�r<r'r{�r"r�rrr�test_contextmanager_attribsBsz7AsyncContextManagerTestCase.test_contextmanager_attribscCs|��}|�|jd�dS�Nr��r�r<�__doc__r�rrr�test_contextmanager_doc_attribGsz:AsyncContextManagerTestCase.test_contextmanager_doc_attribc	�sZ�|��d�}|�|jd�|4IdH�Wd�IdHdS1IdHs&wYdSr�r�r�rrr�*test_instance_docstring_given_cm_docstringLs�.�zFAsyncContextManagerTestCase.test_instance_docstring_given_cm_docstringc	�sd�tdd��}|ddddd�4IdH�}|�|d�Wd�IdHdS1IdHs+wYdS)	NcSs�||||fVdSr
r�r"rr
�kwdsrrrr]W��z9AsyncContextManagerTestCase.test_keywords.<locals>.woohoor5r8�!�,r�)r5r8r�r��rr<)r"r]�targetrrr�
test_keywordsTs�
.�z)AsyncContextManagerTestCase.test_keywordsc�sZ�d�d�t���fdd��}|���fdd�����IdH���d����d�dS)Nrcs4��d7��}�d7�dV�d8����|�dS�NrW)r<)�before)�depth�ncolsr"rrr]bs�z:AsyncContextManagerTestCase.test_recursive.<locals>.woohooc�s��dkr
��IdHdSdS)N�
rr)r��	recursiverrr�ns��z=AsyncContextManagerTestCase.test_recursive.<locals>.recursiver�r�r�r)r�r�r�r"r�test_recursive]s�z*AsyncContextManagerTestCase.test_recursiveN)r'r(r)rrarcrer|rr�r�r�r�r�r�r�r�r�requires_docstringsr�r�r�r�rrrrrU^sD


8
	

	







rUc@s>eZdZejdd��Zedd��Zedd��Zedd��Z	d	S)
�AclosingTestCasecCs tj}td�}|�|j|�dSr
)rr�r<)r"Zcm_docstring�objrrr�test_instance_docs{sz#AclosingTestCase.test_instance_docsc	�s��g�G�fdd�d�}|�}|��g�t|�4IdH�}|�||�Wd�IdHn1IdHs4wY|��dg�dS)Nc�eZdZ�fdd�ZdS)z)AclosingTestCase.test_aclosing.<locals>.Cc�����d�dSr�rZrGr[rr�aclose���z0AclosingTestCase.test_aclosing.<locals>.C.acloseN�r'r(r)r�rr[rr�C��r�rW)r<r�r"r�r`�yrr[r�
test_aclosing�s�(�zAclosingTestCase.test_aclosingc
�s��g�G�fdd�d�}|�}|��g�|�t��0t|�4IdH�}|�||�ddWd�IdHn1IdHs>wYWd�n1sMwY|��dg�dS)Ncr�)z/AclosingTestCase.test_aclosing_error.<locals>.Cc�r�r�rZrGr[rrr��r�z6AclosingTestCase.test_aclosing_error.<locals>.C.acloseNr�rr[rrr��r�r�rWr)r<r:rbrr�rr[r�test_aclosing_error�s�
(���z$AclosingTestCase.test_aclosing_errorc
�s��g�t�fdd����fdd�}|�}|��g�|�t��;t|�4IdH� }|�||�|�d|��IdH�ddWd�IdHn1IdHsNwYWd�n1s]wY|��dg�dS)Nc	3s&�zdVW��d�dS��d�wr�rZrr[rr�
sync_resource�s�z>AclosingTestCase.test_aclosing_bpo41229.<locals>.sync_resourcecs:����dVdVWd�dS1swYdS)N������rr)r�rr�agenfunc�s
�"�z9AclosingTestCase.test_aclosing_bpo41229.<locals>.agenfuncr�rWr)rr<r:rbr�	__anext__)r"r�r`r�r)r\r�r�test_aclosing_bpo41229�s �
(���z'AclosingTestCase.test_aclosing_bpo41229N)
r'r(r)rr�r�rr�r�r�rrrrr�ys



r�c@sleZdZGdd�de�ZeZgd�Zdd�Zedd��Z	edd	��Z
ed
d��Zedd
��Zedd��Z
dS)�TestAsyncExitStackc@s0eZdZedd��Zdd�Zdd�Zdd�Zd	S)
z%TestAsyncExitStack.SyncAsyncExitStackcs\t���t�|�}|��fdd�����|��}|s |��S|j}z|�||_|�)Ncs���Sr
)�stop)rd��looprr�<lambda>�szETestAsyncExitStack.SyncAsyncExitStack.run_coroutine.<locals>.<lambda>)rZget_event_loopZ
ensure_future�add_done_callbackZrun_forever�	exception�result�__context__)rrdr>r0rr�r�
run_coroutine�s
z3TestAsyncExitStack.SyncAsyncExitStack.run_coroutinecC�|�|���Sr
)r�r�rGrrr�close�rz+TestAsyncExitStack.SyncAsyncExitStack.closecCr�r
)r�r.rGrrr�	__enter__�rz/TestAsyncExitStack.SyncAsyncExitStack.__enter__cGs|�|j|��Sr
)r�r �r"�exc_detailsrrr�__exit__�sz.TestAsyncExitStack.SyncAsyncExitStack.__exit__N)r'r(r)�staticmethodr�r�r�r�rrrr�SyncAsyncExitStack�s
r�))r�z7return self.run_coroutine(self.__aexit__(*exc_details))�r�z	raise excr�)r zraise exc_details[1])r zcb_suppress = cb(*exc_details)cCs6t��|_t�|j�|�|jj�|�tjd�dSr
)rZnew_event_loopr�Zset_event_loopZ
addCleanupr�rrGrrr�setUp�s
zTestAsyncExitStack.setUpc	�sJ�difdifdifdtdd�fdtdd�fdtdd�fg}g��fdd�}t�4IdH�k}t|�D]8\}}|rG|rG|j|g|�Ri|��}n|rS|j|g|�R�}n|r_|j|fi|��}n|�|�}|�||�q2|jD]}|�|dj|�|�|dj|j�|�	|dj
|j
�qnWd�IdHn1IdHs�wY|��|�g�t�4IdH�_}|�t
��|jdd�Wd�n1s�wY|�t
��|jjd	d�Wd�n1s�wY|�t
��|j|d
d�Wd�n	1�swYWd�IdHn1IdH�swY|��g�dS)Nr)rW)rW�rW)Zexamplec�s���||f�dS)zTest metadata propagationNrZ)r
r��r�rr�_exit�r�z5TestAsyncExitStack.test_async_callback.<locals>._exit)�argr��)�callbackr�)�dictr�reversed�push_async_callbackr-�_exit_callbacks�__wrapped__ZassertNotEqualr'�assertIsNoner�r<r:rE�
exit_stack)r"Zexpectedr��stackr
r�rdrrr�r�test_async_callback�sP��

�(��� �*�z&TestAsyncExitStack.test_async_callbackc	�sV�t���fdd�}dd�}�fdd�}Gdd�dt�}���4IdH�z}|�|���|jd	d
|�||�}|�|���|jd	d
j|�|�|���|jd	d
|�||�}|�|���|jd	d
j|�|�|���|jd	d
|�|�|���|jd	d
|�d
dWd�IdHdS1IdHs�wYdS)Nc�s���|��dSr
)r-�rIr>�exc_tb�Z
exc_raisedr"rr�_expect_excs�z7TestAsyncExitStack.test_async_push.<locals>._expect_excc�s�dS�NTr�r�rrr�
_suppress_excrHz9TestAsyncExitStack.test_async_push.<locals>._suppress_excc�s$���|���|���|�dSr
)r�r�rGrr�
_expect_oks�

z6TestAsyncExitStack.test_async_push.<locals>._expect_okc@s$eZdZdd�Zdd�Zdd�ZdS)z2TestAsyncExitStack.test_async_push.<locals>.ExitCMcSs
||_dSr
��	check_exc)r"r�rrr�__init__s
z;TestAsyncExitStack.test_async_push.<locals>.ExitCM.__init__c�s�|�d�dS)NzShould not be called!)rwrGrrrr.r�z=TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aenter__c�s�|j|�IdHdSr
r�r�rrrr s�z<TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aexit__N)r'r(r)r�r.r rrrr�ExitCMsr�r�rWr)rb�objectr��push_async_exitr-r��__self__)r"r�r�r�r�r��cmrr�r�test_async_pushs.�






.�z"TestAsyncExitStack.test_async_pushc	�s��G�fdd�dt�}g�|�}t�4IdH�2}|j�fdd��}|�|�|�|�IdH|�|jddj|���d�Wd�IdHn1IdHsOwY|�	�gd��dS)	Ncs$eZdZ�fdd�Z�fdd�ZdS)z;TestAsyncExitStack.test_async_enter_context.<locals>.TestCMc�r�r�rZrGr�rrr.6r�zFTestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aenter__c�r�)Nr�rZr�r�rrr 8r�zETestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aexit__NrLrr�rr�TestCM5sr�c�r�)N�rZrr�rrr�?s�z:TestAsyncExitStack.test_async_enter_context.<locals>._exitr�rWr�)rWr�r�r�)
r�rr�ZassertIsNotNone�enter_async_contextr-r�r�r;r<)r"r�r�r�r�rr�r�test_async_enter_context3s�
(�	z+TestAsyncExitStack.test_async_enter_contextc
�s �dd�}d��fdd�}zA|��4IdH�,}|�|t�|�|t�|�|t�|�|�|�|t�ddWd�IdHn1IdHsHwYWn)tyw}z|�|jt�|�|jjt�|�	|jjj�WYd}~n
d}~ww|�
d��d}|�|t�|�|jt�dS)Nc�s�|�r
rr�rrr�	raise_excLrHzHTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.raise_excc�s
�|�dSr�rr��Z
saved_detailsrr�suppress_excPs�zKTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.suppress_excrWr�0Expected IndexError, but no exception was raised)r�r��
IndexError�KeyError�AttributeErrorr�r9ZassertIsInstancer�r�rwrb)r"r�r�r�r>Z	inner_excrr�r�"test_async_exit_exception_chainingIs0�

(����
z5TestAsyncExitStack.test_async_exit_exception_chainingc�s��Gdd�dt��t�fdd���t��fdd��}�|fD]L}����>z|�4IdH�t��1IdHs7wYWn�yU}z��|j�WYd}~n
d}~ww��d�Wd�n1sewYqdS)Nc@rA)zWTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.MyExceptionNrBrrrr�MyExceptionnrDrcs2�zdVWdSty��}z|�d|_wwr
)�
BaseExceptionr�r�)rrr�my_cmqs��zQTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.my_cmc	s\����4IdH�}|����IdH|VWd�IdHdS1IdHs'wYdSr
)r�r�)r�)rr"rr�my_cm_with_exit_stack|s
�.�zaTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.my_cm_with_exit_stackr�)r�rrvr�r�r�rw)r"rr�r>r)rrr"r�/test_async_exit_exception_explicit_none_contextis*�

���
����zBTestAsyncExitStack.test_async_exit_exception_explicit_none_contextN)r'r(r)rr�r�Zcallback_error_internal_framesr�rr�r�r�rrrrrrr��s
*
#

r�c@seZdZedd��ZdS)�TestAsyncNullcontextc	�sd�Gdd�d�}|�}t|�4IdH�}|�||�Wd�IdHdS1IdHs+wYdS)Nc@rA)z6TestAsyncNullcontext.test_async_nullcontext.<locals>.CNrBrrrrr��rDr�)rr-)r"r��cZc_inrrr�test_async_nullcontext�s�.�z+TestAsyncNullcontext.test_async_nullcontextN)r'r(r)rr
rrrrr�sr�__main__)r�
contextlibrrrrrrr�testrrKZunittestZtest.test_contextlibr	rrZTestCaserrUr�r�rr'�mainrrrr�<module>s( E<Y
�