Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/test/test_asyncio/__pycache__/test_locks.cpython-34.pyo

�
f f%f�@s�dZddlZddlmZddlZddlZddlmZdZeje�ZGdd�dej	�Z
Gdd	�d	ej	�ZGd
d�dej	�ZGdd
�d
ej	�Z
edkr�ej�ndS)zTests for lock.py�N)�mock)�
test_utilszt^<(?P<class>.*?) object at (?P<address>.*?)\[(?P<extras>(set|unset|locked|unlocked)(,value:\d)?(,waiters:\d+)?)\]>\Zc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�	LockTestscCs|j�|_dS)N)�
new_test_loop�loop)�self�r�A/opt/alt/python34/lib64/python3.4/test/test_asyncio/test_locks.py�setUpszLockTests.setUpcCs`tj�}tjd|�}|j|j|�tjd|j�}|j|j|j�dS)Nr)r�Mock�asyncio�Lock�assertIs�_loopr)rr�lockrrr	�test_ctor_loops
zLockTests.test_ctor_loopcCs6tj|j�tj�}|j|j|j�dS)N)r�set_event_looprr
rr)rrrrr	�test_ctor_noloop szLockTests.test_ctor_noloopcs�tjd|j��|jt��jd��|jtjt����tj�fdd��}|jj	|��|jt��jd��|jtjt����dS)Nrz[unlocked]>c3s
�DdHdS)Nrr)rrr	�acquire_lock*sz)LockTests.test_repr.<locals>.acquire_lockz	[locked]>)
rr
r�
assertTrue�repr�endswith�RGX_REPR�match�	coroutine�run_until_complete)rrr)rr	�	test_repr%szLockTests.test_reprcs�tjd|j��tj�fdd��}|jj|��}|j|�|j�j���j�|j�j��dS)Nrc3s	�DdHS)Nrr)rrr	r5sz)LockTests.test_lock.<locals>.acquire_lock)	rr
rrrr�locked�release�assertFalse)rr�resr)rr	�	test_lock2s

zLockTests.test_lockcs.tjd|j��g}|j|jj�j���tj�fdd��}tj�fdd��}tj�fdd��}tj||�d|j�}tj||�d|j�}tj	|j�|j
g|��j�tj	|j�|j
dg|�tj	|j�|j
dg|�tj||�d|j�}�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)Nrc3s%�j�DdHr!|jd�ndS)N�T)�acquire�append)�result)rrr	�c1Gsz"LockTests.test_acquire.<locals>.c1c3s%�j�DdHr!|jd�ndS)N�T)r#r$)r%)rrr	�c2Msz"LockTests.test_acquire.<locals>.c2c3s%�j�DdHr!|jd�ndS)N�T)r#r$)r%)rrr	�c3Ssz"LockTests.test_acquire.<locals>.c3r"r'r))rr
rrrr#r�Taskr�run_briefly�assertEqualr�doner%)rr%r&r(r*�t1�t2�t3r)rr	�test_acquireAs8


zLockTests.test_acquirecCs�tjd|j�}|j|jj|j���tj|j�d|j�}|jj|j�|j	tj
|jj|�|j|j�dS)Nr)
rr
rrrr#r+�	call_soon�cancel�assertRaises�CancelledErrorr�_waiters)rrZtaskrrr	�test_acquire_cancelwszLockTests.test_acquire_cancelcs�tjd|j��tj�fdd��}tjd|j�}tj|d|�d|j�}tj|j�|j�j	��tj|dd�d|j�}tj|j�|j
t�j�d�tj|dd�d|j�}tj|j�|j
t�j�d�|j
d�|j�|j�jd	j��tj|j�|j�j	��|j|j��|j|j��|j|j��dS)
Nrc
3s=�j�DdHz|dk	r*|DdHnWd�j�XdS)N)r#r)�nameZblocker)rrr	�lockit�s
z*LockTests.test_cancel_race.<locals>.lockit�A�Br"�Cr'r)rr
rrZFuturer+rr,rrr-�lenr7Z
set_resultr4Z	cancelledrr.)rr:ZfaZta�tbZtcr)rr	�test_cancel_race�s(	!!!

zLockTests.test_cancel_racecCs,tjd|j�}|jt|j�dS)Nr)rr
rr5�RuntimeErrorr)rrrrr	�test_release_not_acquired�sz#LockTests.test_release_not_acquiredcCs_tjd|j�}|jj|j��|j|j��|j�|j|j��dS)Nr)	rr
rrr#rrrr)rrrrr	�test_release_no_waiters�s

z!LockTests.test_release_no_waitersc	svtjd|j��tj�fdd��}|jj|���|j�j��WdQX|j�j��dS)Nrc3s	�DdHS)Nrr)rrr	r�sz4LockTests.test_context_manager.<locals>.acquire_lock)rr
rrrrrr)rrr)rr	�test_context_manager�s
zLockTests.test_context_managercs�tjd|j��tj�fdd��}|jj|��}|�|j�j��WdQX|j�j��|jt	��|�WdQXWdQXdS)Nrc3s	�DdHS)Nrr)rrr	r�sz?LockTests.test_context_manager_cant_reuse.<locals>.acquire_lock)
rr
rrrrrrr5�AttributeError)rr�cmr)rr	�test_context_manager_cant_reuse�sz)LockTests.test_context_manager_cant_reusecCs�tjd|j�}y|�|jd�WdQXWn;tk
rp}z|jt|�d�WYdd}~XnX|j|j��dS)Nrz-RuntimeError is not raised in with expressionz9"yield from" should be used as context manager expression)	rr
r�failrAr-�strrr)rr�errrrr	�test_context_manager_no_yield�s	z'LockTests.test_context_manager_no_yieldN)�__name__�
__module__�__qualname__r
rrrr!r2r8r@rBrCrDrGrKrrrr	rs
60rc@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�
EventTestscCs|j�|_dS)N)rr)rrrr	r
�szEventTests.setUpcCs`tj�}tjd|�}|j|j|�tjd|j�}|j|j|j�dS)Nr)rrr�Eventrrr)rr�evrrr	r�s
zEventTests.test_ctor_loopcCs6tj|j�tj�}|j|j|j�dS)N)rrrrPrr)rrQrrr	r�szEventTests.test_ctor_noloopcCs�tjd|j�}|jt|�jd��tjt|��}|j|j	d�d�|j
�|jt|�jd��|jtjt|���|jjt
j��|jdt|�k�|jtjt|���dS)Nrz[unset]>ZextrasZunsetz[set]>z	waiters:1)rrPrrrrrrr-�group�setr7r$rr)rrQrrrr	r�s
zEventTests.test_reprcs�tjd|j��|j�j��g}tj�fdd��}tj�fdd��}tj�fdd��}tj||�d|j�}tj||�d|j�}tj|j�|j	g|�tj||�d|j�}�j
�tj|j�|j	dd	d
g|�|j|j��|j
|j��|j|j��|j
|j��|j|j��|j
|j��dS)Nrc3s%�j�DdHr!|jd�ndS)Nr")�waitr$)r%)rQrr	r&sz EventTests.test_wait.<locals>.c1c3s%�j�DdHr!|jd�ndS)Nr')rTr$)r%)rQrr	r(sz EventTests.test_wait.<locals>.c2c3s%�j�DdHr!|jd�ndS)Nr))rTr$)r%)rQrr	r*sz EventTests.test_wait.<locals>.c3r)r"r')rrPrr�is_setrr+rr,r-rSrr.ZassertIsNoner%)rr%r&r(r*r/r0r1r)rQr	�	test_waits(
zEventTests.test_waitcCsHtjd|j�}|j�|jj|j��}|j|�dS)Nr)rrPrrSrrTr)rrQr rrr	�test_wait_on_set3s
zEventTests.test_wait_on_setcCsvtjd|j�}tj|j�d|j�}|jj|j�|jtj|jj	|�|j
|j�dS)Nr)rrPrr+rTr3r4r5r6rrr7)rrQrTrrr	�test_wait_cancel:szEventTests.test_wait_cancelcCsftjd|j�}|j|j��|j�|j|j��|j�|j|j��dS)Nr)rrPrrrUrSr�clear)rrQrrr	�
test_clearDs

zEventTests.test_clearcs.tjd|j��g}tj�fdd��}tj||�d|j�}tj|j�|jg|��j��j	�|j
�j���j��j�|jdt�j
��tj|j�|jdg|�|jdt�j
��|j|j��|j|j��dS)Nrc3s%�j�DdHr!|jd�ndS)Nr"T)rTr$)r%)rQrr	r&Rsz.EventTests.test_clear_with_waiters.<locals>.c1r"r)rrPrrr+rr,r-rSrYrrUr>r7rr.r%)rr%r&�tr)rQr	�test_clear_with_waitersNs"



z"EventTests.test_clear_with_waitersN)rLrMrNr
rrrrVrWrXrZr\rrrr	rO�s(

rOc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#S)$�ConditionTestscCs|j�|_dS)N)rr)rrrr	r
nszConditionTests.setUpcCs`tj�}tjd|�}|j|j|�tjd|j�}|j|j|j�dS)Nr)rrr�	Conditionrrr)rr�condrrr	rqs
zConditionTests.test_ctor_loopcCs6tj|j�tj�}|j|j|j�dS)N)rrrr^rr)rr_rrr	ryszConditionTests.test_ctor_noloopcs�tjd|j��g}tj�fdd��}tj�fdd��}tj�fdd��}tj||�d|j�}tj||�d|j�}tj||�d|j�}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)Nrc3s4�j�DdH�j�DdHr0|jd�ndS)Nr"T)r#rTr$)r%)r_rr	r&�sz$ConditionTests.test_wait.<locals>.c1c3s4�j�DdH�j�DdHr0|jd�ndS)Nr'T)r#rTr$)r%)r_rr	r(�sz$ConditionTests.test_wait.<locals>.c2c3s4�j�DdH�j�DdHr0|jd�ndS)Nr)T)r#rTr$)r%)r_rr	r*�sz$ConditionTests.test_wait.<locals>.c3r"r'r))rr^rrr+rr,r-rrrrr#�notifyrr.r%)rr%r&r(r*r/r0r1r)r_r	rV~sL




zConditionTests.test_waitcCs�tjd|j�}|jj|j��tj|j�d|j�}|jj|j�|j	tj
|jj|�|j|j�|j
|j��dS)Nr)rr^rrr#r+rTr3r4r5r6rr7rr)rr_rTrrr	rX�szConditionTests.test_wait_cancelcCs8tjd|j�}|jt|jj|j��dS)Nr)rr^rr5rArrT)rr_rrr	�test_wait_unacquired�sz#ConditionTests.test_wait_unacquiredcsVtjd|j��d��fdd��g}tj��fdd��}tj||�d|j�}tj|j�|jg|�|jj�j	���j
��j�tj|j�|jg|�d�|jj�j	���j
��j�tj|j�|jdg|�|j|j
��|j|j��dS)	NrFcs�S)Nrr)�presultrr	�	predicate�sz/ConditionTests.test_wait_for.<locals>.predicatec3sA�j�DdH�j��DdHr=|jd��j�ndS)Nr"T)r#�wait_forr$r)r%)r_rcrr	r&�s


z(ConditionTests.test_wait_for.<locals>.c1Tr")rr^rrr+rr,r-rr#r`rrr.r%)rr%r&r[r)r_rcrbr	�
test_wait_for�s*



zConditionTests.test_wait_forcCs{tjd|j�}|jj|jdd���}|jdddg|�|jt|jj|jdd���dS)NrcSs
dddgS)Nr"r'r)rrrrr	�<lambda>�sz9ConditionTests.test_wait_for_unacquired.<locals>.<lambda>r"r'r)cSsdS)NFrrrrr	rfs)rr^rrrdr-r5rA)rr_r rrr	�test_wait_for_unacquired�s!	z'ConditionTests.test_wait_for_unacquiredcstjd|j��g}tj�fdd��}tj�fdd��}tj�fdd��}tj||�d|j�}tj||�d|j�}tj||�d|j�}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)Nrc3s>�j�DdH�j�DdHr:|jd��j�ndS)Nr"T)r#rTr$r)r%)r_rr	r&s


z&ConditionTests.test_notify.<locals>.c1c3s>�j�DdH�j�DdHr:|jd��j�ndS)Nr'T)r#rTr$r)r%)r_rr	r(s


z&ConditionTests.test_notify.<locals>.c2c3s>�j�DdH�j�DdHr:|jd��j�ndS)Nr)T)r#rTr$r)r%)r_rr	r*s


z&ConditionTests.test_notify.<locals>.c3r"ir'r))rr^rrr+rr,r-rr#r`rrr.r%)rr%r&r(r*r/r0r1r)r_r	�test_notifys6




zConditionTests.test_notifycsMtjd|j��g}tj�fdd��}tj�fdd��}tj||�d|j�}tj||�d|j�}tj|j�|jg|�|jj�j	���j
��j�tj|j�|jddg|�|j|j
��|j|j��|j|j
��|j|j��dS)Nrc3s>�j�DdH�j�DdHr:|jd��j�ndS)Nr"T)r#rTr$r)r%)r_rr	r&@s


z*ConditionTests.test_notify_all.<locals>.c1c3s>�j�DdH�j�DdHr:|jd��j�ndS)Nr'T)r#rTr$r)r%)r_rr	r(Hs


z*ConditionTests.test_notify_all.<locals>.c2r"r')rr^rrr+rr,r-rr#�
notify_allrrr.r%)rr%r&r(r/r0r)r_r	�test_notify_all;s"

zConditionTests.test_notify_allcCs,tjd|j�}|jt|j�dS)Nr)rr^rr5rAr`)rr_rrr	�test_notify_unacquiredasz%ConditionTests.test_notify_unacquiredcCs,tjd|j�}|jt|j�dS)Nr)rr^rr5rAri)rr_rrr	�test_notify_all_unacquiredesz)ConditionTests.test_notify_all_unacquiredcCstjd|j�}|jdt|�k�|jtjt|���|jj|j��|jdt|�k�|j	j
tj��|jdt|�k�|jtjt|���|j	j
tj��|jdt|�k�|jtjt|���dS)NrZunlockedrz	waiters:1z	waiters:2)
rr^rrrrrrr#r7r$rr)rr_rrr	riszConditionTests.test_reprc	svtjd|j��tj�fdd��}|jj|���|j�j��WdQX|j�j��dS)Nrc3s	�DdHS)Nrr)r_rr	�acquire_cond|sz9ConditionTests.test_context_manager.<locals>.acquire_cond)rr^rrrrrr)rrmr)r_r	rDys
z#ConditionTests.test_context_managercCs�tjd|j�}y|�|jd�WdQXWn;tk
rp}z|jt|�d�WYdd}~XnX|j|j��dS)Nrz-RuntimeError is not raised in with expressionz9"yield from" should be used as context manager expression)	rr^rrHrAr-rIrr)rr_rJrrr	rK�s	z,ConditionTests.test_context_manager_no_yieldcCsZtjd|j�}tj|d|j�}|j|j|�|j|j|j�dS)Nr)rr
rr^r�_lockr)rrr_rrr	�test_explicit_lock�sz!ConditionTests.test_explicit_lockcCs^|j�}|j|j�tjd|j�}|jt��tj|d|�WdQXdS)Nr)	rZ
addCleanup�closerr
rr5�
ValueErrorr^)rrrrrr	�test_ambiguous_loops�s
z#ConditionTests.test_ambiguous_loopsN)rLrMrNr
rrrVrXrarergrhrjrkrlrrDrKrorrrrrr	r]ls"B&7&
r]c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) �SemaphoreTestscCs|j�|_dS)N)rr)rrrr	r
�szSemaphoreTests.setUpcCs`tj�}tjd|�}|j|j|�tjd|j�}|j|j|j�dS)Nr)rrr�	Semaphorerrr)rr�semrrr	r�s
zSemaphoreTests.test_ctor_loopcCs6tj|j�tj�}|j|j|j�dS)N)rrrrtrr)rrurrr	r�szSemaphoreTests.test_ctor_noloopcCs/tjdd|j�}|j|j��dS)Nrr)rrtrrr)rrurrr	�test_initial_value_zero�sz&SemaphoreTests.test_initial_value_zerocCsNtjd|j�}|jt|�jd��|jtjt|���|jj|j	��|jt|�jd��|jdt|�k�|jtjt|���|j
jtj
��|jdt|�k�|jtjt|���|j
jtj
��|jdt|�k�|jtjt|���dS)Nrz[unlocked,value:1]>z	[locked]>�waitersz	waiters:1z	waiters:2)rrtrrrrrrrr#r7r$rr)rrurrr	r�szSemaphoreTests.test_reprcs�tjd|j��|jd�j�tj�fdd��}|jj|��}|j|�|j�j��|jd�j��j	�|j
�j��|jd�j�dS)Nrr"c3s	�DdHS)Nrr)rurr	r�sz3SemaphoreTests.test_semaphore.<locals>.acquire_lockr)rrtrr-�_valuerrrrrr)rrr r)rur	�test_semaphore�s

zSemaphoreTests.test_semaphorecCs|jttjd�dS)Nr"���)r5rqrrt)rrrr	�test_semaphore_value�sz#SemaphoreTests.test_semaphore_valuecs�tjdd|j��g}|j|jj�j���|j|jj�j���|j�j��tj�fdd��}tj�fdd��}tj�fdd��}tj�fd	d
��}tj	||�d|j�}tj	||�d|j�}tj	||�d|j�}t
j|j�|jdg|�|j�j��|jdt
�j��|jd
�j�tj	||�d|j�}	�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�DdH|jd�dS)Nr"T)r#r$)r%)rurr	r&�s
z'SemaphoreTests.test_acquire.<locals>.c1c3s �j�DdH|jd�dS)Nr'T)r#r$)r%)rurr	r(�s
z'SemaphoreTests.test_acquire.<locals>.c2c3s �j�DdH|jd�dS)Nr)T)r#r$)r%)rurr	r*�s
z'SemaphoreTests.test_acquire.<locals>.c3c3s �j�DdH|jd�dS)N�T)r#r$)r%)rurr	�c4�s
z'SemaphoreTests.test_acquire.<locals>.c4r"r'rcSs.g|]$}|j�r|j�r|�qSr)r.r%)�.0r[rrr	�
<listcomp>s	z/SemaphoreTests.test_acquire.<locals>.<listcomp>)rrtrrrr#rrrr+rr,r-r>r7rxrr.r%Zgather)rr%r&r(r*r}r/r0r1�t4Z
race_tasksZ
done_tasksr)rur	r2�sD


zSemaphoreTests.test_acquirecCs�tjd|j�}|jj|j��tj|j�d|j�}|jj|j�|jtj	|jj|�|j
|jp�tdd�|jD���dS)Nrcss|]}|j�VqdS)N)r.)r~Zwaiterrrr	�	<genexpr>*sz5SemaphoreTests.test_acquire_cancel.<locals>.<genexpr>)
rrtrrr#r+r3r4r5r6rr7�all)rrur#rrr	r8 sz"SemaphoreTests.test_acquire_cancelcCs(tjddd|j�}tj|j�d|j�}tj|j�d|j�}tj|j�d|j�}tj|j�d|j�}tj|j�|j�|j�|j�tj|j�t	dd�||gD��}|j
|d�|j�|j�tj|j�dS)N�valuerrcss|]}|j�VqdS)N)r.)r~r[rrr	r�;szCSemaphoreTests.test_acquire_cancel_before_awoken.<locals>.<genexpr>r")rrtrr+r#rr,rr4�sumr-)rrur/r0r1r�Znum_donerrr	�!test_acquire_cancel_before_awoken,s




z0SemaphoreTests.test_acquire_cancel_before_awokencCs�tjddd|j�}tj|j�d|j�}tj|j�d|j�}tj|j�|j�|j�tj|j�|j	|j
��dS)Nr�rr)rrtrr+r#rr,rr4rr)rrur/r0rrr	�test_acquire_hangBs

z SemaphoreTests.test_acquire_hangcCs,tjd|j�}|jt|j�dS)Nr)rZBoundedSemaphorerr5rqr)rrurrr	rBPsz(SemaphoreTests.test_release_not_acquiredcCs_tjd|j�}|jj|j��|j|j��|j�|j|j��dS)Nr)	rrtrrr#rrrr)rrurrr	rCUs

z&SemaphoreTests.test_release_no_waiterscs�tjdd|j��tj�fdd��}|jj|���Z|j�j��|jd�j�|jj|���|j	�j��WdQXWdQX|jd�j�dS)Nr'rc3s	�DdHS)Nrr)rurr	r`sz9SemaphoreTests.test_context_manager.<locals>.acquire_lockr")
rrtrrrrrr-rxr)rrr)rur	rD]sz#SemaphoreTests.test_context_managercCs�tjdd|j�}y|�|jd�WdQXWn;tk
rs}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)rrtrrHrAr-rIrx)rrurJrrr	rKms	z,SemaphoreTests.test_context_manager_no_yieldN)rLrMrNr
rrrvrryr{r2r8r�r�rBrCrDrKrrrr	rs�sArs�__main__)�__doc__Zunittestr�rerrZSTR_RGX_REPR�compilerZTestCaserrOr]rsrL�mainrrrr	�<module>s���7�