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.7/test/__pycache__/test_contextlib_async.cpython-37.pyc
B

��g�:�@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	s@�||�}t��}t�|�z
|�|�S|��t�d�XdS)N)�asyncio�new_event_loop�set_event_loopZrun_until_complete�close)�args�kwargs�coro�loop)�func��6/usr/local/lib/python3.7/test/test_contextlib_async.py�wrappers


z_async_test.<locals>.wrapper)�	functools�wraps)rrr)rr�_async_test
s
rc@s4eZdZedd��Zedd��Zdd�Zdd�Zd	S)
�TestAbstractAsyncContextManagerc
�sZGdd�dt�}|�}|�|��IdH|�|4IdH�}|�||�WdQIdHRXdS)NcseZdZ�fdd�Z�ZS)z@TestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnterc�st�j|�IdHdS)N)�super�	__aexit__)�selfr)�	__class__rrrszJTestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnter.__aexit__)�__name__�
__module__�__qualname__r�
__classcell__rr)rr�DefaultEntersr)r�assertIs�
__aenter__)rrZmanager�contextrrr�
test_enters
z*TestAbstractAsyncContextManager.test_enterc�s�tdd����fdd�}g}td�}|�t��b��4IdH�Bx:|�2y3dH}Wn
tk
spX|�|�|�qHYWWdQIdHRXWdQRX|�|dg�dS)NcSs
dVdS)Nrrrrr�ctx+szUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.ctxc
s*��4IdH�dVWdQIdHRXdS)N�rr)r$rr�gen/szUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.gen�r%)r�
ValueError�assertRaises�StopAsyncIteration�append�assertEqual)rr&�ret�exc�valr)r$r�(test_async_gen_propagates_generator_exit's 
,zHTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exitc	Cs0Gdd�dt�}|�t��|�WdQRXdS)Nc@seZdZdS)zKTestAbstractAsyncContextManager.test_exit_is_abstract.<locals>.MissingAexitN)rrrrrrr�MissingAexit>sr1)rr)�	TypeError)rr1rrr�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|S)Nr)rrrrr!FszbTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aenter__c�sdS)Nr)r�exc_type�	exc_value�	tracebackrrrrHszaTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aexit__N)rrrr!rrrrr�ManagerFromScratchEsr7cseZdZ�fdd�Z�ZS)zQTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnterc�st�j|�IdHdS)N)rr)rr)rrrrNsz[TestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnter.__aexit__)rrrrrrr)rrrMsrc@seZdZdZdS)zOTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAenterN)rrrr!rrrr�
NoneAenterSsr8c@seZdZdZdS)zNTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAexitN)rrrrrrrr�	NoneAexitXsr9)Z
assertTrue�
issubclassr�assertFalse)rr7rr8r9rrr�test_structural_subclassingDsz;TestAbstractAsyncContextManager.test_structural_subclassingN)rrrrr#r0r3r<rrrrrs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���|�WdQIdHRX|��dddg�dS)Ncs��d�dV��d�dS)N��*i�)r+r)�staterr�woohoocs
zEAsyncContextManagerTestCase.test_contextmanager_plain.<locals>.woohoor>r?i�)rr,r+)rrA�xr)r@r�test_contextmanager_plain`sz5AsyncContextManagerTestCase.test_contextmanager_plainc�s�g�t�fdd��}|�t��P|�4IdH�0}|��dg�|�|d���|�t��WdQIdHRXWdQRX|��dddg�dS)Nc	s&��d�z
dVWd��d�XdS)Nr>r?i�)r+r)r@rrrAqs

zGAsyncContextManagerTestCase.test_contextmanager_finally.<locals>.woohoor>r?i�)rr)�ZeroDivisionErrorr,r+)rrArBr)r@r�test_contextmanager_finallyns
 z7AsyncContextManagerTestCase.test_contextmanager_finallyc�sBtdd��}|�}|��IdH|�|�ttd�d�IdH�dS)NcSs
dVdS)Nrrrrr�whee�szHAsyncContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee�foo)rr!r;rr2)rrFr$rrr�test_contextmanager_no_reraise�sz:AsyncContextManagerTestCase.test_contextmanager_no_reraisec	�sRtdd��}|�}|��IdH|�t��|�ttd�d�IdHWdQRXdS)NcSs"y
dVWndVYnXdS)Nrrrrr�whoo�s
zTAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throw.<locals>.whoorG)rr!r)�RuntimeErrorrr2)rrIr$rrr�*test_contextmanager_trap_yield_after_throw�s
zFAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throwc	�s:tdd��}|�}|�t��|��IdHWdQRXdS)NcSsdS)NrrrrrrI�szKAsyncContextManagerTestCase.test_contextmanager_trap_no_yield.<locals>.whoo)rr)rJr!)rrIr$rrr�!test_contextmanager_trap_no_yield�sz=AsyncContextManagerTestCase.test_contextmanager_trap_no_yieldc	�sNtdd��}|�}|��IdH|�t��|�ddd�IdHWdQRXdS)NcSsdVdVdS)NrrrrrrI�szOAsyncContextManagerTestCase.test_contextmanager_trap_second_yield.<locals>.whoo)rr!r)rJr)rrIr$rrr�%test_contextmanager_trap_second_yield�s
zAAsyncContextManagerTestCase.test_contextmanager_trap_second_yieldc	�sNtdd��}|�}|��IdH|�t��|�tdd�IdHWdQRXdS)NcSs(y
dVWntk
r"t�YnXdS)N)rJ�SyntaxErrorrrrrrI�s
zLAsyncContextManagerTestCase.test_contextmanager_non_normalised.<locals>.whoo)rr!r)rNrrJ)rrIr$rrr�"test_contextmanager_non_normalised�s
z>AsyncContextManagerTestCase.test_contextmanager_non_normalisedc
�sxg�t��fdd��}|�4IdH�2}���dg���|d���|�td��WdQIdHRX���dddg�dS)Nc
s^��d�y
dVWnDtk
rX}z&��|jd����dddg�Wdd}~XYnXdS)Nr>r?ri�)r+rDrr,)�e)rr@rrrA�s

zFAsyncContextManagerTestCase.test_contextmanager_except.<locals>.woohoor>r?i�)rr,r+rD)rrArBr)rr@r�test_contextmanager_except�s
z6AsyncContextManagerTestCase.test_contextmanager_exceptc�s�tdd��}x�td�td�fD]�}|jt|�d��ny(|�4IdH�
|�WdQIdHRXWn.tk
r�}z|�||�Wdd}~XYnX|�|�d��WdQRXqWdS)NcSs
dVdS)NrrrrrrA�szOAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohoo�spamZham)�typez was suppressed)r�
StopIterationr*ZsubTestrS�	Exceptionr �fail)rrAZstop_excZexrrr�#test_contextmanager_except_stopiter�sz?AsyncContextManagerTestCase.test_contextmanager_except_stopiterc�s�tdd��}|�t��.|�4IdH�ddWdQIdHRXWdQRX|�t��*|�4IdH�
t�WdQIdHRXWdQRXdS)Nc
SsBy
dVWn2tk
r<}ztd|���|�Wdd}~XYnXdS)Nzcaught )rUrJ)r.rrrrA�s
zQAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerror.<locals>.woohoor>r)rr)rJr*)rrArrr�%test_contextmanager_wrap_runtimeerror�s"zAAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerrorcCs"dd�}t|dd�dd���}|S)Ncs�fdd�}|S)Ncs&x ���D]\}}t|||�q
W|S)N)�items�setattr)r�k�v)�kwrr�decorate�sz]AsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs.<locals>.decorater)r]r^r)r]r�attribs�szKAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs�bar)rGcSs
dVdS)zWhee!Nr)rRrrr�baz�szGAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.baz)r)rr_rarrr�_create_contextmanager_attribs�sz:AsyncContextManagerTestCase._create_contextmanager_attribscCs(|��}|�|jd�|�|jd�dS)Nrar`)rbr,rrG)rrarrr�test_contextmanager_attribs�sz7AsyncContextManagerTestCase.test_contextmanager_attribscCs|��}|�|jd�dS)NzWhee!)rbr,�__doc__)rrarrr�test_contextmanager_doc_attribsz:AsyncContextManagerTestCase.test_contextmanager_doc_attribc
�s<|��d�}|�|jd�|4IdH�WdQIdHRXdS)NzWhee!)rbr,rd)rrarrr�*test_instance_docstring_given_cm_docstringszFAsyncContextManagerTestCase.test_instance_docstring_given_cm_docstringc
�sFtdd��}|ddddd�4IdH�}|�|d�WdQIdHRXdS)	NcSs||||fVdS)Nr)rrr�kwdsrrrrAsz9AsyncContextManagerTestCase.test_keywords.<locals>.woohoor%r'�!�,)rrrrg)r%r'rhri)rr,)rrA�targetrrr�
test_keywordssz)AsyncContextManagerTestCase.test_keywordsN)rrrrrCrErHrKrLrMrOrQrWrXrbrcrZrequires_docstringsrerfrkrrrrr=^s 


r=c@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}y|�Wn||_|�YnXdS)Ncs���S)N)�stop)�f)rrr�<lambda>!�zETestAsyncExitStack.SyncAsyncExitStack.run_coroutine.<locals>.<lambda>)rZget_event_loopZ
ensure_futureZadd_done_callbackZrun_foreverZ	exception�result�__context__)r
rnr.r"r)rr�
run_coroutines
z3TestAsyncExitStack.SyncAsyncExitStack.run_coroutinecCs|�|���S)N)rs�aclose)rrrrr
1sz+TestAsyncExitStack.SyncAsyncExitStack.closecCs|�|���S)N)rsr!)rrrr�	__enter__4sz/TestAsyncExitStack.SyncAsyncExitStack.__enter__cGs|�|j|��S)N)rsr)r�exc_detailsrrr�__exit__7sz.TestAsyncExitStack.SyncAsyncExitStack.__exit__N)rrr�staticmethodrsr
rurwrrrr�SyncAsyncExitStacksrycCs(t��|_t�|j�|�|jj�dS)N)rrrr	Z
addCleanupr
)rrrr�setUp<s
zTestAsyncExitStack.setUpc
�s�difdifdifdtdd�fdtdd�fdtdd�fg}g��fdd�}t�4IdH��}xpt|�D]d\}}|r�|r�|j|f|�|�}n4|r�|j|f|��}n|r�|j|f|�}n
|�|�}|�||�qdWxH|jD]>}|�|dj|�|�|dj|j�|�	|dj
|j
�q�WWdQIdHRX|��|�g�t�4IdH�Z}|�t
��|jdd�WdQRX|�t
��|jjd	d�WdQRX|j|d
d�WdQIdHRX|��ddd
ifg�dS)
Nr)r>)r>�r>)Zexamplec�s��||f�dS)zTest metadata propagationN)r+)rrg)rqrr�_exitLsz5TestAsyncExitStack.test_async_callback.<locals>._exit)�argr{�)�callbackr}r})�dictr�reversed�push_async_callbackr �_exit_callbacks�__wrapped__ZassertNotEqualr�assertIsNonerdr,r)r2�
exit_stack)rZexpectedr|�stackrrgrnrr)rqr�test_async_callbackAs>
(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
dWdQIdHRXdS)Nc�s��|��dS)N)r )r4r.�exc_tb)�
exc_raisedrrr�_expect_excnsz7TestAsyncExitStack.test_async_push.<locals>._expect_excc�sdS)NTr)rvrrr�
_suppress_excpsz9TestAsyncExitStack.test_async_push.<locals>._suppress_excc�s"��|���|���|�dS)N)r�)r4r.r�)rrr�
_expect_okrs

z6TestAsyncExitStack.test_async_push.<locals>._expect_okc@s$eZdZdd�Zdd�Zdd�ZdS)z2TestAsyncExitStack.test_async_push.<locals>.ExitCMcSs
||_dS)N)�	check_exc)rr�rrr�__init__wsz;TestAsyncExitStack.test_async_push.<locals>.ExitCM.__init__c�s|�d�dS)NzShould not be called!)rV)rrrrr!ysz=TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aenter__c�s|j|�IdHdS)N)r�)rrvrrrr{sz<TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aexit__N)rrrr�r!rrrrr�ExitCMvsr����r>r)rD�objectr��push_async_exitr r��__self__)rr�r�r�r�r��cmr)r�rr�test_async_pushks*





z"TestAsyncExitStack.test_async_pushc
�s�G�fdd�dt�}g�|�}t�4IdH�T}|j�fdd��}|�|�|�|�IdH|�|jddj|���d�WdQIdHRX|�	�dddd	g�dS)
Ncs$eZdZ�fdd�Z�fdd�ZdS)z;TestAsyncExitStack.test_async_enter_context.<locals>.TestCMc�s��d�dS)Nr>)r+)r)rqrrr!�szFTestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aenter__c�s��d�dS)Nr~)r+)rrv)rqrrr�szETestAsyncExitStack.test_async_enter_context.<locals>.TestCM.__aexit__N)rrrr!rr)rqrr�TestCM�sr�c�s��d�dS)N�)r+r)rqrrr|�sz:TestAsyncExitStack.test_async_enter_context.<locals>._exitr�r>r{r~r�)
r�rr�ZassertIsNotNone�enter_async_contextr r�r�r+r,)rr�r�r�r|r)rqr�test_async_enter_context�s
z+TestAsyncExitStack.test_async_enter_contextc
�sdd�}d��fdd�}yh|��4IdH�H}|�|t�|�|t�|�|t�|�|�|�|t�ddWdQIdHRXWnPtk
r�}z2|�|jt�|�|jjt�|�	|jjj�Wdd}~XYnX|�
d��d}|�|t�|�|jt�dS)Nc�s|�dS)Nr)r.rrr�	raise_exc�szHTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.raise_excc�s|�dS)NTr)rv)�
saved_detailsrr�suppress_exc�szKTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.suppress_excr>rz0Expected IndexError, but no exception was raised)r�r��
IndexError�KeyError�AttributeErrorr�r(ZassertIsInstancerrr�rVrD)rr�r�r�r.Z	inner_excr)r�r�"test_async_exit_exception_chaining�s&
"
z5TestAsyncExitStack.test_async_exit_exception_chainingN)rrrrryr�rzrr�r�r�r�rrrrrls*$rl�__main__)r�
contextlibrrrrZtestrZunittestZtest.test_contextlibrrZTestCaserr=rlr�mainrrrr�<module>sE=-