Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/lock_tests.cpython-33.pyo

�
��f�ec@sadZddlZddlZddlmZmZddlZddlZddlm	Z	dd�Z
Gdd�de�ZGd	d
�d
ej
�ZGdd�de�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS(u/
Various tests for synchronization primitives.
iN(ustart_new_threaduTIMEOUT_MAX(usupportcCstjd�dS(Ng{�G�z�?(utimeusleep(((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu_waitsu_waitcBsM|EeZdZdZddd�Zdd�Zdd�Zdd	�Zd
S(uBunchu
    A bunch of threads.
    csk��_|�_g�_g�_|�_��fdd�}x!t|�D]}t|f�qPWdS(u�
        Construct a bunch of `n` threads running the same function `f`.
        If `wait_before_exit` is True, the threads won't terminate until
        do_finish() is called.
        csVtj�}�jj|�z��Wd�jj|�x�jsPt�q=WXdS(N(u	threadingu	get_identustarteduappendufinishedu	_can_exitu_wait(utid(ufuself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutask!suBunch.__init__.<locals>.taskN(ufunustartedufinishedu	_can_exiturangeustart_new_thread(uselfufunuwait_before_exitutaskui((ufuselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu__init__s				
	uBunch.__init__cCs*x#t|j�|jkr%t�qWdS(N(ulenustartedunu_wait(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuwait_for_started-suBunch.wait_for_startedcCs*x#t|j�|jkr%t�qWdS(N(ulenufinishedunu_wait(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuwait_for_finished1suBunch.wait_for_finishedcCs
d|_dS(NT(uTrueu	_can_exit(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu	do_finish5suBunch.do_finishNF(	u__name__u
__module__u__qualname__u__doc__uFalseu__init__uwait_for_starteduwait_for_finishedu	do_finish(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuBunchs
uBunchcBs8|EeZdZdd�Zdd�Zdd�ZdS(uBaseTestCasecCstj�|_dS(N(usupportuthreading_setupu_threads(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyusetUp:suBaseTestCase.setUpcCstj|j�tj�dS(N(usupportuthreading_cleanupu_threadsu
reap_children(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutearDown=suBaseTestCase.tearDowncCs,|j||d�|j||d�dS(Ng333333�?g$@(uassertGreaterEqualu
assertLess(uselfuactualuexpected((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
assertTimeoutAsuBaseTestCase.assertTimeoutN(u__name__u
__module__u__qualname__usetUputearDownu
assertTimeout(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuBaseTestCase9suBaseTestCasecBs�|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS(u
BaseLockTestsu;
    Tests for both recursive and non-recursive locks.
    cCs|j�}~dS(N(ulocktype(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_constructorOsuBaseLockTests.test_constructorcCs|j�}|j�~dS(N(ulocktypeuacquire(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire_destroySs
u"BaseLockTests.test_acquire_destroycCs'|j�}|j�|j�~dS(N(ulocktypeuacquireurelease(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire_releaseXs

u"BaseLockTests.test_acquire_releasecCs0|j�}|j|jd��|j�dS(NF(ulocktypeu
assertTrueuacquireuFalseurelease(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_try_acquire^suBaseLockTests.test_try_acquirecsc|j���j�g���fdd�}t|d�j�|j�d��j�dS(Ncs�j�jd��dS(NF(uappenduacquireuFalse((ulockuresult(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufgsu3BaseLockTests.test_try_acquire_contended.<locals>.fii(ulocktypeuacquireuBunchuwait_for_finisheduassertFalseurelease(uselfuf((ulockuresultu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_try_acquire_contendedcs
u(BaseLockTests.test_try_acquire_contendedcs�|j���j�d}�fdd�}t||�}|j�t�|jt|j�d��j�|j	�|jt|j�|�dS(Nics�j��j�dS(N(uacquireurelease((ulock(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufqs
u/BaseLockTests.test_acquire_contended.<locals>.fi(
ulocktypeuacquireuBunchuwait_for_startedu_waituassertEqualulenufinishedureleaseuwait_for_finished(uselfuNufub((ulocku4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire_contendedms



u$BaseLockTests.test_acquire_contendedcsw|j���fdd�}d�fdd�}|�t|d�j�|jt|t�t|d�j�dS(Ncs�j��j�dS(N(uacquireurelease((ulock(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufs
u"BaseLockTests.test_with.<locals>.fc	s&��|dk	r|�nWdQXdS(N(uNone(uerr(ulock(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu_with�su&BaseLockTests.test_with.<locals>._withi(ulocktypeuNoneuBunchuwait_for_finisheduassertRaisesu	TypeError(uselfufu_with((ulocku4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu	test_with}suBaseLockTests.test_withcs�|j���fdd�}ttj��}t|d�j�ttj��|kr�tjd�|j|ttj���ndS(Ncs�j��j�dS(N(uacquireurelease((ulock(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s
u)BaseLockTests.test_thread_leak.<locals>.fig�������?(	ulocktypeulenu	threadingu	enumerateuBunchuwait_for_finishedutimeusleepuassertEqual(uselfufun((ulocku4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_thread_leak�s
uBaseLockTests.test_thread_leakcs*|j��|jt�jdd�|jt�jdd
�|jt�jdd�|jt�jdtd��jdt��j�tj�}|j�jdd��tj�}|j	||d�g���fdd�}t
|d�j�|j�d�|j
�dd	�dS(Niiutimeoutidg}Ô%�I�TicsFtj�}�j�jdd��tj�}�j||�dS(Nutimeoutg�?(utimeuappenduacquire(ut1ut2(ulockuresults(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�su%BaseLockTests.test_timeout.<locals>.fg�?i����(ulocktypeuassertRaisesu
ValueErroruacquireu
OverflowErroruTIMEOUT_MAXureleaseutimeu
assertTrueu
assertLessuBunchuwait_for_finisheduassertFalseu
assertTimeout(uselfut1ut2uf((ulockuresultsu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_timeout�s 
uBaseLockTests.test_timeoutN(
u__name__u
__module__u__qualname__u__doc__utest_constructorutest_acquire_destroyutest_acquire_releaseutest_try_acquireutest_try_acquire_contendedutest_acquire_contendedu	test_withutest_thread_leakutest_timeout(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
BaseLockTestsJs
u
BaseLockTestscBs>|EeZdZdZdd�Zdd�Zdd�ZdS(	u	LockTestsun
    Tests for non-recursive, weak locks
    (which can be acquired and released from different threads).
    cs�|j��g���fdd�}t|f�xt��dkrSt�q7Wt�|jt��d��j�xt��dkr�t�q~W|jt��d�dS(Ncs2�j��jd��j��jd�dS(N(uacquireuappenduNone((ulockuphase(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s


u#LockTests.test_reacquire.<locals>.fiii(ulocktypeustart_new_threadulenu_waituassertEqualurelease(uselfuf((ulockuphaseu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_reacquire�s

uLockTests.test_reacquirecsY|j���j��fdd�}t|d�}|j��j��j�dS(Ncs�j�dS(N(urelease((ulock(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�su*LockTests.test_different_thread.<locals>.fi(ulocktypeuacquireuBunchuwait_for_finishedurelease(uselfufub((ulocku4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_different_thread�s


uLockTests.test_different_threadcCsi|j�}|j�|j|jdd��|j�|j|j��|j|jdd��dS(Nutimeoutg{�G�z�?ublockingF(ulocktypeuacquireuassertFalseureleaseulockedu
assertTrueuFalse(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_state_after_timeout�s

u"LockTests.test_state_after_timeoutN(u__name__u
__module__u__qualname__u__doc__utest_reacquireutest_different_threadutest_state_after_timeout(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu	LockTests�su	LockTestscBsV|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS(
u
RLockTestsu$
    Tests for recursive locks.
    cCsL|j�}|j�|j�|j�|j�|j�|j�dS(N(ulocktypeuacquireurelease(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_reacquire�s




uRLockTests.test_reacquirecCsr|j�}|jt|j�|j�|j�|j�|j�|j�|j�|jt|j�dS(N(ulocktypeuassertRaisesuRuntimeErrorureleaseuacquire(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_release_unacquired�s





u"RLockTests.test_release_unacquiredcCsr|j�}|jt|j�|j�|j�|j�|j�|j�|j�|jt|j�dS(N(ulocktypeuassertRaisesuRuntimeErroru
_release_saveuacquireurelease(uselfulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_release_save_unacquireds





u'RLockTests.test_release_save_unacquiredc
sY|j���fdd�}t|dd�}z|jt�j�Wd|j�XdS(Ncs�j�dS(N(uacquire((ulock(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufsu+RLockTests.test_different_thread.<locals>.fiT(ulocktypeuBunchuTrueuassertRaisesuRuntimeErrorureleaseu	do_finish(uselfufub((ulocku4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_different_threadsu RLockTests.test_different_threadcs�|j��|j�j���j�|j�j���j�|j�j��g���fdd�}t|d�j�|j�d��j�|j�j���j�|j�j��dS(Ncs�j�j��dS(N(uappendu	_is_owned((ulockuresult(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf!su$RLockTests.test__is_owned.<locals>.fii(ulocktypeuassertFalseu	_is_owneduacquireu
assertTrueuBunchuwait_for_finishedurelease(uselfuf((ulockuresultu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest__is_owneds



uRLockTests.test__is_ownedN(	u__name__u
__module__u__qualname__u__doc__utest_reacquireutest_release_unacquiredutest_release_save_unacquiredutest_different_threadutest__is_owned(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
RLockTests�s	u
RLockTestscBsV|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS(
u
EventTestsu"
    Tests for Event objects.
    cCs�|j�}|j|j��|j�|j|j��|j�|j|j��|j�|j|j��|j�|j|j��dS(N(u	eventtypeuassertFalseuis_setusetu
assertTrueuclear(uselfuevt((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_is_set0s



uEventTests.test_is_setcs�d}g�g����fdd�}t||�}|j�t�|jt��d��j�|j�|j�dg|�|j�dg|�dS(Nics*�j�j���j�j��dS(N(uappenduwait((uevturesults1uresults2(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufAsu#EventTests._check_notify.<locals>.fiT(uBunchuwait_for_startedu_waituassertEqualulenusetuwait_for_finisheduTrue(uselfuevtuNufub((uevturesults1uresults2u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
_check_notify<s


uEventTests._check_notifycCs>|j�}|j|�|j�|j�|j|�dS(N(u	eventtypeu
_check_notifyusetuclear(uselfuevt((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_notifyMs



uEventTests.test_notifycs�|j��g�g�d}���fdd�}t||�j�|j�dg|�x1�D])\}}|j|�|j|d�qgWg�g��j�t||�j�|j�dg|�x!�D]\}}|j	|�q�WdS(NicsX�j�jd��tj�}�jd�}tj�}�j|||f�dS(Ngg�?(uappenduwaitutime(ut1urut2(uevturesults1uresults2(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufZs
u"EventTests.test_timeout.<locals>.fg�?FT(
u	eventtypeuBunchuwait_for_finisheduassertEqualuFalseuassertFalseu
assertTimeoutusetuTrueu
assertTrue(uselfuNufurudt((uevturesults1uresults2u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_timeoutUs"

uEventTests.test_timeoutcs�|j��g�d}��fdd�}t||�}|j�tjd��j��j�|j�|j�dg|�dS(Nics�j�jd��dS(Ni(uappenduwait((uevturesults(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuftsu(EventTests.test_set_and_clear.<locals>.fg�?T(
u	eventtypeuBunchuwait_for_startedutimeusleepusetuclearuwait_for_finisheduassertEqualuTrue(uselfuNufub((uevturesultsu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_set_and_clearns




uEventTests.test_set_and_clearN(	u__name__u
__module__u__qualname__u__doc__utest_is_setu
_check_notifyutest_notifyutest_timeoututest_set_and_clear(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
EventTests+su
EventTestscBsz|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS(uConditionTestsu(
    Tests for condition variables.
    c
Cs�|j�}|j�|j�|j�|j�tj�}|j|�}|j�|j|jd��|j�|j|jd��|j|jd��|j�|�|j|jd��WdQXdS(NF(ucondtypeuacquireureleaseu	threadinguLockuassertFalseuFalseu
assertTrue(uselfucondulock((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire�s






uConditionTests.test_acquirecCs#|j�}|jt|j�dS(N(ucondtypeuassertRaisesuRuntimeErroruwait(uselfucond((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_unacquired_wait�su#ConditionTests.test_unacquired_waitcCs#|j�}|jt|j�dS(N(ucondtypeuassertRaisesuRuntimeErrorunotify(uselfucond((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_unacquired_notify�su%ConditionTests.test_unacquired_notifycsd}g�g�d�����fdd�}t||�}|j�t�|j�g��j��jd�t�d��j�xt��dkr�t�q�W|j�d
gd�|j�g��j��jd�t�d��j�x't��t��dkr/t�q	W|j�dgddgd�|j�d
gd��j��j	�t�d��j�xt��dkr�t�q�W|j�dgddgd�|j�dgddgd�|j
�dS(Niicsj�j��j�}�j��j|�f��j��j�}�j��j|�f�dS(N(uacquireuwaitureleaseuappend(uresult(ucondu	phase_numuresults1uresults2(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s



u'ConditionTests._check_notify.<locals>.fiiiiT(Ti(Ti(Ti(Ti(Ti(Ti(Ti(Ti(uBunchuwait_for_startedu_waituassertEqualuacquireunotifyureleaseulenuTrueu
notify_alluwait_for_finished(uselfuconduNufub((ucondu	phase_numuresults1uresults2u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
_check_notify�sJ	






"


""uConditionTests._check_notifycCs*|j�}|j|�|j|�dS(N(ucondtypeu
_check_notify(uselfucond((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_notify�s
uConditionTests.test_notifycs�|j��g�d}��fdd�}t||�j�|jt��|�x1�D])\}}|j|d�|j|�q]WdS(NicsV�j�tj�}�jd�}tj�}�j��j|||f�dS(Ng�?(uacquireutimeuwaitureleaseuappend(ut1uresultut2(uconduresults(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s

u&ConditionTests.test_timeout.<locals>.fg�?(ucondtypeuBunchuwait_for_finisheduassertEqualulenu
assertTimeoutuassertFalse(uselfuNufudturesult((uconduresultsu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_timeout�suConditionTests.test_timeoutc
s��j��d����fdd�}t|d�}|j�xBtd�D]4}tjd����d7��j�WdQXqPW|j�dS(NicsI��=�j�fdd��}�j|��j�d�WdQXdS(Ncs
�dkS(Ni(((ustate(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu<lambda>�su8ConditionTests.test_waitfor.<locals>.f.<locals>.<lambda>i(uwait_foru
assertTrueuassertEqual(uresult(uconduselfustate(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s
u&ConditionTests.test_waitfor.<locals>.fiig{�G�z�?(ucondtypeuBunchuwait_for_startedurangeutimeusleepunotifyuwait_for_finished(uselfufubui((uconduselfustateu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_waitfor�s


uConditionTests.test_waitforc
s��j��d�g�����fdd�}t|d�}|j�xBtd�D]4}tjd����d7��j�WdQXqYW|j��jt	��d�dS(Nicsx��ltj�}�j�fdd�dd�}tj�|}�j|��j|d��jd�WdQXdS(Ncs
�dkS(Ni(((ustate(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu<lambda>su@ConditionTests.test_waitfor_timeout.<locals>.f.<locals>.<lambda>utimeoutg�������?(utimeuwait_foruassertFalseu
assertTimeoutuappenduNone(udturesult(uconduselfustateusuccess(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufs!
u.ConditionTests.test_waitfor_timeout.<locals>.fiig{�G�z�?(
ucondtypeuBunchuwait_for_startedurangeutimeusleepunotifyuwait_for_finisheduassertEqualulen(uselfufubui((uconduselfustateusuccessu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_waitfor_timeout�s



u#ConditionTests.test_waitfor_timeoutN(u__name__u
__module__u__qualname__u__doc__utest_acquireutest_unacquired_waitutest_unacquired_notifyu
_check_notifyutest_notifyutest_timeoututest_waitforutest_waitfor_timeout(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuConditionTestss2uConditionTestscBs�|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS(uBaseSemaphoreTestsuB
    Common tests for {bounded, unbounded} semaphore objects.
    cCs:|jt|jdd�|jt|jdtj�dS(Nuvalueii����(uassertRaisesu
ValueErrorusemtypeusysumaxsize(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_constructorsu#BaseSemaphoreTests.test_constructorcCs^|jd�}|j�|j�|jd�}|j�|j�|j�|j�dS(Nii(usemtypeuacquireurelease(uselfusem((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquires




uBaseSemaphoreTests.test_acquirecCs|j�}|j�~dS(N(usemtypeuacquire(uselfusem((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire_destroy)s
u'BaseSemaphoreTests.test_acquire_destroycs�|jd���j�d}g�g�d�����fdd�}t|d�}|j�x't��t��dkr�t�qhW|j��dgd�d�xtd�D]}�j�q�Wx't��t��dkr�t�q�W|jt	���dgddgd�d	�xtd�D]}�j�q:Wx't��t��d
krwt�qQW|jt	���dgddgdd	gd�|j
�jd���j�|j�dS(Nii
ics2�j��j���j��j��dS(N(uacquireuappend((u	phase_numuresults1uresults2usem(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf5s


u4BaseSemaphoreTests.test_acquire_contended.<locals>.fiii
iiF(
usemtypeuacquireuBunchuwait_for_startedulenu_waituassertEqualurangeureleaseusorteduassertFalseuFalseuwait_for_finished(uselfuNufubui((u	phase_numuresults1uresults2usemu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire_contended.s6

,7
u)BaseSemaphoreTests.test_acquire_contendedcCsu|jd�}|j|jd��|j|jd��|j|jd��|j�|j|jd��dS(NiF(usemtypeu
assertTrueuacquireuFalseuassertFalseurelease(uselfusem((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_try_acquireQs
u#BaseSemaphoreTests.test_try_acquirecss|jd���j�g���fdd�}t|d�j�|jt��dgddgd�dS(	Nics0�j�jd���j�jd��dS(NF(uappenduacquireuFalse((uresultsusem(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf]su8BaseSemaphoreTests.test_try_acquire_contended.<locals>.fiiiFT(usemtypeuacquireuBunchuwait_for_finisheduassertEqualusorteduFalseuTrue(uselfuf((uresultsusemu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_try_acquire_contendedYs
u-BaseSemaphoreTests.test_try_acquire_contendedcCs�|jd�}|jt|jddd�|j|jdd��|j|jdd��|j|jdd��|j�|j|jdd��tj�}|j|jdd��tj�|}|j	|d�dS(Niutimeoutg�?g{�G�zt?g�?F(
usemtypeuassertRaisesu
ValueErroruacquireuFalseu
assertTrueuassertFalseureleaseutimeu
assertTimeout(uselfusemutudt((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_acquire_timeoutfs
u'BaseSemaphoreTests.test_acquire_timeoutcsp|j���j��fdd�}t|d�}|j�t�|j|j��j�|j�dS(Ncs�j��j�dS(N(uacquireurelease((usem(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufws
u0BaseSemaphoreTests.test_default_value.<locals>.fi(	usemtypeuacquireuBunchuwait_for_startedu_waituassertFalseufinishedureleaseuwait_for_finished(uselfufub((usemu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_default_valuess


u%BaseSemaphoreTests.test_default_valuecs��jd��d��fdd�}|��j�jd���j��jt|t��j�jd���j�dS(Nicsc��W�j�jd���j���*�j�jd��|rS|�nWdQXWdQXdS(NF(u
assertTrueuacquireuFalseureleaseuassertFalse(uerr(uselfusem(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu_with�s
u+BaseSemaphoreTests.test_with.<locals>._withF(usemtypeuNoneu
assertTrueuacquireuFalseureleaseuassertRaisesu	TypeError(uselfu_with((uselfusemu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu	test_with�s
uBaseSemaphoreTests.test_withN(
u__name__u
__module__u__qualname__u__doc__utest_constructorutest_acquireutest_acquire_destroyutest_acquire_contendedutest_try_acquireutest_try_acquire_contendedutest_acquire_timeoututest_default_valueu	test_with(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuBaseSemaphoreTestss
#

uBaseSemaphoreTestscBs&|EeZdZdZdd�ZdS(uSemaphoreTestsu)
    Tests for unbounded semaphores.
    cCs;|jd�}|j�|j�|j�|j�dS(Ni(usemtypeureleaseuacquire(uselfusem((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_release_unacquired�s



u&SemaphoreTests.test_release_unacquiredN(u__name__u
__module__u__qualname__u__doc__utest_release_unacquired(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuSemaphoreTests�suSemaphoreTestscBs&|EeZdZdZdd�ZdS(uBoundedSemaphoreTestsu'
    Tests for bounded semaphores.
    cCsJ|j�}|jt|j�|j�|j�|jt|j�dS(N(usemtypeuassertRaisesu
ValueErrorureleaseuacquire(uselfusem((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_release_unacquired�s


u-BoundedSemaphoreTests.test_release_unacquiredN(u__name__u
__module__u__qualname__u__doc__utest_release_unacquired(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuBoundedSemaphoreTests�suBoundedSemaphoreTestscBs�|EeZdZdZdZdZdd�Zdd�Zdd	�Zd
d�Z	dd
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!S("uBarrierTestsu$
    Tests for Barrier objects.
    ig@cCs"|j|jd|j�|_dS(Nutimeout(ubarriertypeuNudefaultTimeoutubarrier(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyusetUp�suBarrierTests.setUpcCs|jj�dS(N(ubarrieruabort(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutearDown�suBarrierTests.tearDowncCs+t||jd�}|�|j�dS(Ni(uBunchuNuwait_for_finished(uselfufub((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyurun_threads�suBarrierTests.run_threadscCs�|jj}|j||j�x�t|�D]�}|djd�|jt|d�||�|jj�|djd�|jt|d�|d|�|jj�q,W|j|jj	d�|j
|jj�dS(NiiT(ubarrierupartiesuassertEqualuNurangeuappenduTrueulenuwaitu	n_waitinguassertFalseubroken(uselfuresultsunumui((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu	multipass�s
"uBarrierTests.multipassics5ggg����fdd�}�j|�dS(u;
        Test that a barrier is passed in lockstep
        cs�j���dS(N(u	multipass((upassesuresultsuself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�su$BarrierTests.test_barrier.<locals>.fN(urun_threads(uselfupassesuf((upassesuresultsuselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_barrier�suBarrierTests.test_barriercCs
|jd�S(uC
        Test that a barrier works for 10 consecutive runs
        i
(utest_barrier(uself((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_barrier_10�suBarrierTests.test_barrier_10csQg���fdd�}�j|��jt��tt�j���dS(u9
        test the return value from barrier.wait
        cs �jj�}�j|�dS(N(ubarrieruwaituappend(ur(uresultsuself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�su(BarrierTests.test_wait_return.<locals>.fN(urun_threadsuassertEqualusumurangeuN(uselfuf((uresultsuselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_wait_return�s
uBarrierTests.test_wait_returncsVg��fdd�}�j�j|�����fdd�}�j|�dS(u,
        Test the 'action' callback
        cs�jd�dS(NT(uappenduTrue((uresults(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuaction�su(BarrierTests.test_action.<locals>.actioncs$�j��jt��d�dS(Ni(uwaituassertEqualulen((ubarrieruresultsuself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s
u#BarrierTests.test_action.<locals>.fN(ubarriertypeuNurun_threads(uselfuactionuf((ubarrieruresultsuselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_action�s
uBarrierTests.test_actioncs{g�g����fdd�}�j|��jt��d��jt���jd��j�jj�dS(uK
        Test that an abort will put the barrier in a broken state
        cs�yI�jj�}|�jdkr.t�n�jj��jd�Wn@tjk
rm�jd�Yntk
r��jj�YnXdS(NiT(	ubarrieruwaituNuRuntimeErroruappenduTrueu	threadinguBrokenBarrierErroruabort(ui(uresults1uresults2uself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf�s	


u"BarrierTests.test_abort.<locals>.fiiN(urun_threadsuassertEqualulenuNu
assertTrueubarrierubroken(uselfuf((uresults1uresults2uselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
test_abort�s

uBarrierTests.test_abortcs�g�g�g�����fdd�}�j|��jt��d��jt���jd��jt���j�dS(uL
        Test that a 'reset' on a barrier frees the waiting threads
        cs��jj�}|�jdkr_x*�jj�jdkrNtjd�q%W�jj�nCy�jj��jd�Wn"t	j
k
r��jd�YnX�jj��jd�dS(Niig����MbP?T(ubarrieruwaituNu	n_waitingutimeusleepuresetuappenduTrueu	threadinguBrokenBarrierError(ui(uresults1uresults2uresults3uself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufs

u"BarrierTests.test_reset.<locals>.fiiN(urun_threadsuassertEqualulenuN(uselfuf((uresults1uresults2uresults3uselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
test_reset
s
uBarrierTests.test_resetcs�g�g�g��j�j�������fdd�}�j|��jt��d��jt���jd��jt���j�dS(uF
        Test that a barrier can be reset after being broken.
        cs�yI�jj�}|�jdkr.t�n�jj��jd�Wn@tjk
rm�jd�Yntk
r��jj�YnX�j��jdkr��jj	�n�j��jj��jd�dS(NiT(
ubarrieruwaituNuRuntimeErroruappenduTrueu	threadinguBrokenBarrierErroruabortureset(ui(ubarrier2uresults1uresults2uresults3uself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuf3s 	




u,BarrierTests.test_abort_and_reset.<locals>.fiiN(ubarriertypeuNurun_threadsuassertEqualulen(uselfuf((ubarrier2uresults1uresults2uresults3uselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_abort_and_reset+s
u!BarrierTests.test_abort_and_resetcs#�fdd�}�j|�dS(u$
        Test wait(timeout)
        csR�jj�}|�jdkr2tjd�n�jtj�jjd�dS(Nig�?g�?(ubarrieruwaituNutimeusleepuassertRaisesu	threadinguBrokenBarrierError(ui(uself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufQs
u$BarrierTests.test_timeout.<locals>.fN(urun_threads(uselfuf((uselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_timeoutMsuBarrierTests.test_timeoutcs>�j�jdd����fdd�}�j|�dS(u4
        Test the barrier's default timeout
        utimeoutg333333�?csI�j�}|�jdkr/tjd�n�jtj�j�dS(Nig�?(uwaituNutimeusleepuassertRaisesu	threadinguBrokenBarrierError(ui(ubarrieruself(u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyufasu,BarrierTests.test_default_timeout.<locals>.fN(ubarriertypeuNurun_threads(uselfuf((ubarrieruselfu4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_default_timeout[su!BarrierTests.test_default_timeoutcCs'|jd�}|j�|j�dS(Ni(ubarriertypeuwait(uselfub((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyutest_single_threadis
uBarrierTests.test_single_threadN(u__name__u
__module__u__qualname__u__doc__uNudefaultTimeoutusetUputearDownurun_threadsu	multipassutest_barrierutest_barrier_10utest_wait_returnutest_actionu
test_abortu
test_resetutest_abort_and_resetutest_timeoututest_default_timeoututest_single_thread(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyuBarrierTests�s"
	"uBarrierTests(u__doc__usysutimeu_threadustart_new_threaduTIMEOUT_MAXu	threadinguunittestutestusupportu_waituobjectuBunchuTestCaseuBaseTestCaseu
BaseLockTestsu	LockTestsu
RLockTestsu
EventTestsuConditionTestsuBaseSemaphoreTestsuSemaphoreTestsuBoundedSemaphoreTestsuBarrierTests(((u4/opt/alt/python33/lib64/python3.3/test/lock_tests.pyu<module>s$'q.BT�|