Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_contextlib_async.cpython-310.opt-2.pyc

o

0�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)�TestBaseExitStackcs	t����fdd��}|S)Ncs�|i|��}t�|�dS�N)�asyncio�run)�args�kwargs�coro��func��A/opt/alt/python310/lib64/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+Zmanager�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�r2rr�gen/s�.�zUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.gen�r4)r�
ValueError�assertRaises�append�assertEqual)r"r6Zret�exc�valrr5r�(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>�rA)rr9�	TypeError)r"rArrr�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 HrFzaTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aexit__N�r'r(r)r.r rrrr�ManagerFromScratchEsrKcr)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�rMc@rL)zNTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAexitN)r'r(r)r rrrr�	NoneAexitXrNrO)Z
assertTrue�
issubclassr�assertFalse)r"rKr+rMrOrrr�test_structural_subclassingDsz;TestAbstractAsyncContextManager.test_structural_subclassingN)r'r(r)rr0r>rDrRrrrrrs

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>.woohoorUrV�rUrVrW)rr;r:�r"r[�xrrYr�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�wrTrXrrYrrr[qs
�
zGAsyncContextManagerTestCase.test_contextmanager_finally.<locals>.woohoorUrVr\)rr9�ZeroDivisionErrorr;r:r]rrYr�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)NcSr1r
rrrrr�f�r3zDAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.frUr�test_contextmanager_tracebackz1/0c@r?)zWAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.RuntimeErrorSubclassNr@rrrr�RuntimeErrorSubclass�rBrdrVzraise RuntimeErrorSubclass(42)c@r?)zXAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.StopIterationSubclassNr@rrrr�StopIterationSubclass�rBrec@r?)z]AsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.StopAsyncIterationSubclassNr@rrrr�StopAsyncIterationSubclass�rBrf�spam�ham��type� was suppressedzraise stop_exc)rr`rI�
extract_tb�
__traceback__r;�len�name�line�RuntimeError�
StopIteration�StopAsyncIteration�subTestrjr-�fail)r"rb�eZframesrdrerf�stop_excrrrrc�sf�

(��������������z9AsyncContextManagerTestCase.test_contextmanager_tracebackc�sD�tdd��}|�}|��IdH|�|�ttd�d�IdH�dS)NcSr1r
rrrrr�whee�r3zHAsyncContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee�foo)rr.rQr rC)r"rxr2rrr�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>.whoory)rr.r9rqr rC�r"r{r2rrr�*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)rr9rqr.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.r9rqr 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
)rq�SyntaxErrorrrrrr{�s��zLAsyncContextManagerTestCase.test_contextmanager_non_normalised.<locals>.whoo)rr.r9r�r rqr|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)NrUrVrr\)r:r`r
r;)rv�r"rZrrr[�s�
��zFAsyncContextManagerTestCase.test_contextmanager_except.<locals>.woohoorUrVrWr\)rr;r:r`r]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)NcSr1r
rrrrrr[r3zOAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohooc@r?)z^AsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopIterationSubclassNr@rrrrrerBrec@r?)zcAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopAsyncIterationSubclassNr@rrrrrfrBrfrgrhrirk)rrrrsrtrj�	Exceptionr-ru)r"r[rerfrwZexrrr�#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�rq�r<rrrr["s���zQAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerror.<locals>.woohoorUr)rr9rqrs�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)rycSs�	dVdSr
r)rgrrr�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'ry�r"r�rrr�test_contextmanager_attribsBsz7AsyncContextManagerTestCase.test_contextmanager_attribscCs|��}|�|jd�dS�NzWhee!�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[Ws�z9AsyncContextManagerTestCase.test_keywords.<locals>.woohoor4r7�!�,r�)r4r7r�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�NrU)r;)Zbefore)�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)rr_rarcrzr}r~rr�r�r�r�r�r�r�requires_docstringsr�r�r�r�rrrrrS^sD


8
	

	







rSc@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�rXrErYrr�aclose���z0AclosingTestCase.test_aclosing.<locals>.C.acloseN�r'r(r)r�rrYrr�C��r�rU)r;r�r"r�r^�yrrYr�
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�rXrErYrrr��r�z6AclosingTestCase.test_aclosing_error.<locals>.C.acloseNr�rrYrrr��r�r�rUr)r;r9r`rr�rrYr�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�rXrrYrr�
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�rUr)rr;r9r`r�	__anext__)r"r�r^r�r)rZr�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)rb��looprr�<lambda>�szETestAsyncExitStack.SyncAsyncExitStack.run_coroutine.<locals>.<lambda>)rZget_event_loopZ
ensure_futureZadd_done_callbackZrun_foreverZ	exception�result�__context__)rrbr<r/rr�r�
run_coroutine�s
z3TestAsyncExitStack.SyncAsyncExitStack.run_coroutinecC�|�|���Sr
)r�r�rErrr�close�rz+TestAsyncExitStack.SyncAsyncExitStack.closecCr�r
)r�r.rErrr�	__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�rrErrr�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)rU)rU�rU)Zexamplec�s�	��||f�dSr
rX)r
r��r�rr�_exit�s�z5TestAsyncExitStack.test_async_callback.<locals>._exit)�argr��)�callbackr�)�dictr�reversed�push_async_callbackr-�_exit_callbacks�__wrapped__ZassertNotEqualr'�assertIsNoner�r;r9rC�
exit_stack)r"Zexpectedr��stackr
r�rbrrr�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-�rGr<Zexc_tb�Z
exc_raisedr"rr�_expect_excs�z7TestAsyncExitStack.test_async_push.<locals>._expect_excc�s�dS�NTr�r�rrr�
_suppress_excrFz9TestAsyncExitStack.test_async_push.<locals>._suppress_excc�s$���|���|���|�dSr
)r�r�rErr�
_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!)rurErrrr.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�rUr)r`�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�rXrEr�rrr.6r�zFTestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aenter__c�r�)Nr�rXr�r�rrr 8r�zETestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aexit__NrJrr�rr�TestCM5sr�c�r�)N�rXrr�rrr�?s�z:TestAsyncExitStack.test_async_enter_context.<locals>._exitr�rUr�)rUr�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_excLrFzHTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.raise_excc�s
�|�dSr�rr��Z
saved_detailsrr�suppress_excPs�zKTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.suppress_excrUr�0Expected IndexError, but no exception was raised)r�r��
IndexError�KeyError�AttributeErrorr�r8ZassertIsInstancer�r�rur`)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@r?)zWTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.MyExceptionNr@rrrr�MyExceptionnrBr�cs2�zdVWdSty��}z|�d|_wwr
)�
BaseExceptionr�r�)r�rr�my_cmqs��zQTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.my_cmc	s\����4IdH�}|����IdH|VWd�IdHdS1IdHs'wYdSr
)r�r�)r�)r�r"rr�my_cm_with_exit_stack|s
�.�zaTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.my_cm_with_exit_stackr�)r�rrtr�r�r�ru)r"r�r�r<r)r�r�r"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�r�r�rrrrr��s
*
#

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