Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_contextlib_async.cpython-38.pyc
U

>��gG;�@s�ddlZddlmZmZmZddlZddlmZddlZddl	m
Z
dd�ZGdd�dej�Z
Gd	d
�d
ej�ZGdd�de
ej�Zed
kr�e��dS)�N)�asynccontextmanager�AbstractAsyncContextManager�AsyncExitStack)�support)�TestBaseExitStackcst����fdd��}|S)z5Decorator to turn an async function into a test case.c	sD�||�}t��}t�|�z|�|�W�S|��t�d�XdS�N)�asyncio�new_event_loop�set_event_loop�close�set_event_loop_policyZrun_until_complete)�args�kwargs�coro�loop��func��9/opt/cppython/lib/python3.8/test/test_contextlib_async.py�wrappers

z_async_test.<locals>.wrapper)�	functools�wraps)rrrrr�_async_test
s	rc@s4eZdZedd��Zedd��Zdd�Zdd�Zd	S)
�TestAbstractAsyncContextManagerc
�sZGdd�dt�}|�}|�|��IdH|�|4IdH�}|�||�W5QIdHRXdS)NcseZdZ�fdd�Z�ZS)z@TestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnterc�st�j|�IdHdSr��super�	__aexit__��selfr
��	__class__rrrszJTestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnter.__aexit__��__name__�
__module__�__qualname__r�
__classcell__rrrr�DefaultEntersr&)r�assertIs�
__aenter__)rr&�manager�contextrrr�
test_enters
z*TestAbstractAsyncContextManager.test_enterc�s�tdd����fdd�}g}td�}|�t��J��4IdH�*|�2z3dHW}|�|�|�qF6W5QIdHRXW5QRX|�|dg�dS)NcSs
dVdSrrrrrr�ctx+szUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.ctxc
s*��4IdH�dVW5QIdHRXdS)N�rr�r,rr�gen/szUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.gen�r-)r�
ValueError�assertRaises�append�assertEqual)rr/�ret�exc�valrr.r�(test_async_gen_propagates_generator_exit's

"zHTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exitc	Cs0Gdd�dt�}|�t��|�W5QRXdS)Nc@seZdZdS)zKTestAbstractAsyncContextManager.test_exit_is_abstract.<locals>.MissingAexitN)r"r#r$rrrr�MissingAexit>sr9)rr2�	TypeError)rr9rrr�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|Srr�rrrrr(FszbTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aenter__c�sdSrr)r�exc_type�	exc_value�	tracebackrrrrHszaTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aexit__N�r"r#r$r(rrrrr�ManagerFromScratchEsrAcseZdZ�fdd�Z�ZS)zQTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnterc�st�j|�IdHdSrrrrrrrNsz[TestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnter.__aexit__r!rrrrr&Msr&c@seZdZdZdS)zOTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAenterN)r"r#r$r(rrrr�
NoneAenterSsrBc@seZdZdZdS)zNTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAexitN)r"r#r$rrrrr�	NoneAexitXsrC)Z
assertTrue�
issubclassr�assertFalse)rrAr&rBrCrrr�test_structural_subclassingDsz;TestAbstractAsyncContextManager.test_structural_subclassingN)r"r#r$rr+r8r;rFrrrrrs

rc@s�eZdZedd��Zedd��Zedd��Zedd��Zed	d
��Zedd��Z	ed
d��Z
edd��Zedd��Zedd��Z
dd�Zdd�Zejdd��Zejedd���Zedd��ZdS) �AsyncContextManagerTestCasec
�sng�t�fdd��}|�4IdH�*}|��dg�|�|d���|�W5QIdHRX|��dddg�dS)Ncs��d�dV��d�dS)N��*���r3r��staterr�woohoocs
zEAsyncContextManagerTestCase.test_contextmanager_plain.<locals>.woohoorHrIrJ)rr4r3�rrN�xrrLr�test_contextmanager_plain`sz5AsyncContextManagerTestCase.test_contextmanager_plainc�s�g�t�fdd��}|�t��P|�4IdH�0}|��dg�|�|d���|�t��W5QIdHRXW5QRX|��dddg�dS)Nc	s&��d�z
dVW5��d�XdS)NrHrJrIrKrrLrrrNqs

zGAsyncContextManagerTestCase.test_contextmanager_finally.<locals>.woohoorHrIrJ)rr2�ZeroDivisionErrorr4r3rOrrLr�test_contextmanager_finallyns
 z7AsyncContextManagerTestCase.test_contextmanager_finallyc�sBtdd��}|�}|��IdH|�|�ttd�d�IdH�dS)NcSs
dVdSrrrrrr�whee�szHAsyncContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee�foo)rr(rErr:)rrTr,rrr�test_contextmanager_no_reraise�s

z:AsyncContextManagerTestCase.test_contextmanager_no_reraisec	�sRtdd��}|�}|��IdH|�t��|�ttd�d�IdHW5QRXdS)NcSs"z
dVWndVYnXdSrrrrrr�whoo�s
zTAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throw.<locals>.whoorU)rr(r2�RuntimeErrorrr:�rrWr,rrr�*test_contextmanager_trap_yield_after_throw�s
zFAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throwc	�s:tdd��}|�}|�t��|��IdHW5QRXdS)NcSsdSrrrrrrrW�szKAsyncContextManagerTestCase.test_contextmanager_trap_no_yield.<locals>.whoo)rr2rXr(rYrrr�!test_contextmanager_trap_no_yield�s

z=AsyncContextManagerTestCase.test_contextmanager_trap_no_yieldc	�sNtdd��}|�}|��IdH|�t��|�ddd�IdHW5QRXdS)NcSsdVdVdSrrrrrrrW�szOAsyncContextManagerTestCase.test_contextmanager_trap_second_yield.<locals>.whoo)rr(r2rXrrYrrr�%test_contextmanager_trap_second_yield�s
zAAsyncContextManagerTestCase.test_contextmanager_trap_second_yieldc	�sNtdd��}|�}|��IdH|�t��|�tdd�IdHW5QRXdS)NcSs(z
dVWntk
r"t�YnXdSr)rX�SyntaxErrorrrrrrW�s
zLAsyncContextManagerTestCase.test_contextmanager_non_normalised.<locals>.whoo)rr(r2r]rrXrYrrr�"test_contextmanager_non_normalised�s
z>AsyncContextManagerTestCase.test_contextmanager_non_normalisedc
�sxg�t��fdd��}|�4IdH�2}���dg���|d���|�td��W5QIdHRX���dddg�dS)Nc
s^��d�z
dVWnDtk
rX}z&��|jd����dddg�W5d}~XYnXdS)NrHrIrrJ)r3rRr
r4)�e�rrMrrrN�s

zFAsyncContextManagerTestCase.test_contextmanager_except.<locals>.woohoorHrIrJ)rr4r3rRrOrr`r�test_contextmanager_except�s
z6AsyncContextManagerTestCase.test_contextmanager_exceptc�s�tdd��}td�td�fD]�}|jt|�d��nz(|�4IdH�
|�W5QIdHRXWn.tk
r�}z|�||�W5d}~XYnX|�|�d��W5QRXqdS)NcSs
dVdSrrrrrrrN�szOAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohoo�spamZham)�typez was suppressed)r�
StopIteration�StopAsyncIterationZsubTestrc�	Exceptionr'�fail)rrNZstop_exc�exrrr�#test_contextmanager_except_stopiter�s
z?AsyncContextManagerTestCase.test_contextmanager_except_stopiterc�s�tdd��}|�t��.|�4IdH�ddW5QIdHRXW5QRX|�t��*|�4IdH�
t�W5QIdHRXW5QRXdS)Nc
SsBz
dVWn2tk
r<}ztd|���|�W5d}~XYnXdS)Nzcaught )rfrX�r6rrrrN�s
zQAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerror.<locals>.woohoorHr)rr2rXre)rrNrrr�%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�decorate�sz]AsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs.<locals>.decorater)rqrrrrpr�attribs�szKAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs�bar)rUcSs
dVdS)�Whee!Nr)rbrrr�baz�szGAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.baz)r)rrsrvrrr�_create_contextmanager_attribs�s
z:AsyncContextManagerTestCase._create_contextmanager_attribscCs(|��}|�|jd�|�|jd�dS)Nrvrt)rwr4r"rU�rrvrrr�test_contextmanager_attribs�sz7AsyncContextManagerTestCase.test_contextmanager_attribscCs|��}|�|jd�dS�Nru�rwr4�__doc__rxrrr�test_contextmanager_doc_attribsz:AsyncContextManagerTestCase.test_contextmanager_doc_attribc
�s<|��d�}|�|jd�|4IdH�W5QIdHRXdSrzr{rxrrr�*test_instance_docstring_given_cm_docstringszFAsyncContextManagerTestCase.test_instance_docstring_given_cm_docstringc
�sFtdd��}|ddddd�4IdH�}|�|d�W5QIdHRXdS)	NcSs||||fVdSrr�rrr
�kwdsrrrrNsz9AsyncContextManagerTestCase.test_keywords.<locals>.woohoor-r0�!�,r)r-r0r�r�)rr4)rrN�targetrrr�
test_keywordss
z)AsyncContextManagerTestCase.test_keywordsN)r"r#r$rrQrSrVrZr[r\r^rarirkrwryrZrequires_docstringsr}r~r�rrrrrG^s:



	

	







rGc@sXeZdZGdd�de�ZeZdd�Zedd��Zedd��Z	ed	d
��Z
edd��Zd
S)�TestAsyncExitStackc@s0eZdZedd��Zdd�Zdd�Zdd�Zd	S)
z%TestAsyncExitStack.SyncAsyncExitStackcsjt���t�|�}|��fdd�����|��}|s@|��S|j}z|�Wn||_|�YnXdS)Ncs���Sr)�stop)�f�rrr�<lambda>!�zETestAsyncExitStack.SyncAsyncExitStack.run_coroutine.<locals>.<lambda>)rZget_event_loopZ
ensure_future�add_done_callbackZrun_forever�	exception�result�__context__)rr�r6r*rr�r�
run_coroutines
z3TestAsyncExitStack.SyncAsyncExitStack.run_coroutinecCs|�|���Sr)r��acloser<rrrr1sz+TestAsyncExitStack.SyncAsyncExitStack.closecCs|�|���Sr)r�r(r<rrr�	__enter__4sz/TestAsyncExitStack.SyncAsyncExitStack.__enter__cGs|�|j|��Sr)r�r�r�exc_detailsrrr�__exit__7sz.TestAsyncExitStack.SyncAsyncExitStack.__exit__N)r"r#r$�staticmethodr�rr�r�rrrr�SyncAsyncExitStacks

r�cCs6t��|_t�|j�|�|jj�|�tjd�dSr)rr	rr
Z
addCleanuprrr<rrr�setUp<s
zTestAsyncExitStack.setUpc
�s�difdifdifdtdd�fdtdd�fdtdd�fg}g��fdd�}t�4IdH��}t|�D]d\}}|r�|r�|j|f|�|�}n4|r�|j|f|��}n|r�|j|f|�}n
|�|�}|�||�qb|jD]>}|�|dj|�|�|dj|j�|�	|dj
|j
�q�W5QIdHRX|��|�g�t�4IdH�p}|�t
��|jdd�W5QRX|�t
��|jjd	d�W5QRX|�t��|j|d
d�W5QRXW5QIdHRX|��ddd
ifg�dS)
Nr)rH)rH�rH)Zexamplec�s��||f�dS)zTest metadata propagationNrK)r
r��r�rr�_exitMsz5TestAsyncExitStack.test_async_callback.<locals>._exit)�argr��)�callbackr�r�)�dictr�reversed�push_async_callbackr'�_exit_callbacks�__wrapped__ZassertNotEqualr"�assertIsNoner|r4r2r:�
exit_stackZassertWarns�DeprecationWarning)rZexpectedr��stackr
r�r�rrr�r�test_async_callbackBsB�

&(z&TestAsyncExitStack.test_async_callbackc
�s8t���fdd�}dd�}�fdd�}Gdd�dt�}���4IdH��}|�|���|jd	d
|�||�}|�|���|jd	d
j|�|�|���|jd	d
|�||�}|�|���|jd	d
j|�|�|���|jd	d
|�|�|���|jd	d
|�d
dW5QIdHRXdS)Nc�s��|��dSr)r'�r=r6�exc_tb�Z
exc_raisedrrr�_expect_excpsz7TestAsyncExitStack.test_async_push.<locals>._expect_excc�sdS�NTr�r�rrr�
_suppress_excrsz9TestAsyncExitStack.test_async_push.<locals>._suppress_excc�s"��|���|���|�dSr)r�r�r<rr�
_expect_okts

z6TestAsyncExitStack.test_async_push.<locals>._expect_okc@s$eZdZdd�Zdd�Zdd�ZdS)z2TestAsyncExitStack.test_async_push.<locals>.ExitCMcSs
||_dSr��	check_exc)rr�rrr�__init__ysz;TestAsyncExitStack.test_async_push.<locals>.ExitCM.__init__c�s|�d�dS)NzShould not be called!)rgr<rrrr({sz=TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aenter__c�s|j|�IdHdSrr�r�rrrr}sz<TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aexit__N)r"r#r$r�r(rrrrr�ExitCMxsr����rHr)rR�objectr��push_async_exitr'r��__self__)rr�r�r�r�r��cmrr�r�test_async_pushms*





z"TestAsyncExitStack.test_async_pushc
�s�G�fdd�dt�}g�|�}t�4IdH�T}|j�fdd��}|�|�|�|�IdH|�|jddj|���d�W5QIdHRX|�	�dddd	g�dS)
Ncs$eZdZ�fdd�Z�fdd�ZdS)z;TestAsyncExitStack.test_async_enter_context.<locals>.TestCMc�s��d�dS)NrHrKr<r�rrr(�szFTestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aenter__c�s��d�dS)Nr�rKr�r�rrr�szETestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aexit__Nr@rr�rr�TestCM�sr�c�s��d�dS)N�rKrr�rrr��sz:TestAsyncExitStack.test_async_enter_context.<locals>._exitr�rHr�r�r�)
r�rr�ZassertIsNotNone�enter_async_contextr'r�r�r3r4)rr�r�r�r�rr�r�test_async_enter_context�s
z+TestAsyncExitStack.test_async_enter_contextc
�sdd�}d��fdd�}zh|��4IdH�H}|�|t�|�|t�|�|t�|�|�|�|t�ddW5QIdHRXWnPtk
r�}z2|�|jt�|�|jjt�|�	|jjj�W5d}~XYnX|�
d��d}|�|t�|�|jt�dS)Nc�s|�dSrrrjrrr�	raise_exc�szHTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.raise_excc�s|�dSr�rr��Z
saved_detailsrr�suppress_exc�szKTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.suppress_excrHrz0Expected IndexError, but no exception was raised)r�r��
IndexError�KeyError�AttributeErrorr�r1ZassertIsInstancer�r�rgrR)rr�r�r�r6Z	inner_excrr�r�"test_async_exit_exception_chaining�s&
"
z5TestAsyncExitStack.test_async_exit_exception_chainingN)r"r#r$rr�r�r�rr�r�r�r�rrrrr�s
*
#
r��__main__)r�
contextlibrrrr�testrZunittestZtest.test_contextlibrrZTestCaserrGr�r"�mainrrrr�<module>sE=/

F1le Man4ger