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: //proc/thread-self/root/usr/local/lib/python3.7/test/__pycache__/lock_tests.cpython-37.opt-2.pyc
B

��gq�@sddlZddlZddlmZmZddlZddlZddlZddlm	Z	dd�Z
Gdd�de�ZGdd	�d	ej
�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)�N)�start_new_thread�TIMEOUT_MAX)�supportcCst�d�dS)Ng{�G�z�?)�time�sleep�rr�+/usr/local/lib/python3.7/test/lock_tests.py�_waitsr	c@s.eZdZddd�Zdd�Zdd�Zdd	�Zd
S)�BunchFcs|��_|�_g�_g�_|�_t���_�j����fdd�}y xt	|�D]}t
|d�qNWWnd�_�YnXdS)Nc	sDt��}�j�|�z
��Wd�j�|�x�js<t�q.WXdS)N)�	threading�	get_ident�started�append�finished�	_can_exitr	)�tid)�f�selfrr�task%s
zBunch.__init__.<locals>.taskrT)r�nr
rrr�wait_threads_exit�wait_thread�	__enter__�ranger)rrrZwait_before_exitr�ir)rrr�__init__s


zBunch.__init__cCs xt|j�|jkrt�qWdS)N)�lenr
rr	)rrrr�wait_for_started6szBunch.wait_for_startedcCs0xt|j�|jkrt�qW|j�ddd�dS)N)rrrr	r�__exit__)rrrr�wait_for_finished:s
zBunch.wait_for_finishedcCs
d|_dS)NT)r)rrrr�	do_finish@szBunch.do_finishN)F)�__name__�
__module__�__qualname__rrrr rrrrr
s
r
c@s$eZdZdd�Zdd�Zdd�ZdS)�BaseTestCasecCst��|_dS)N)rZthreading_setup�_threads)rrrr�setUpEszBaseTestCase.setUpcCstj|j�t��dS)N)rZthreading_cleanupr%Z
reap_children)rrrr�tearDownHszBaseTestCase.tearDowncCs$|�||d�|�||d�dS)Ng333333�?g$@)ZassertGreaterEqual�
assertLess)r�actualZexpectedrrr�
assertTimeoutLszBaseTestCase.assertTimeoutN)r!r"r#r&r'r*rrrrr$Dsr$c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�
BaseLockTestscCs|��}~dS)N)�locktype)r�lockrrr�test_constructorZszBaseLockTests.test_constructorcCs|��}|�t|�d�~dS)Nz<unlocked .* object (.*)?at .*>)r,�assertRegex�repr)rr-rrr�	test_repr^szBaseLockTests.test_reprcCs&|��}|��|�t|�d�~dS)Nz<locked .* object (.*)?at .*>)r,�acquirer/r0)rr-rrr�test_locked_reprcszBaseLockTests.test_locked_reprcCs|��}|��~dS)N)r,r2)rr-rrr�test_acquire_destroyisz"BaseLockTests.test_acquire_destroycCs|��}|��|��~dS)N)r,r2�release)rr-rrr�test_acquire_releasensz"BaseLockTests.test_acquire_releasecCs$|��}|�|�d��|��dS)NF)r,�
assertTruer2r5)rr-rrr�test_try_acquiretszBaseLockTests.test_try_acquirecsJ|������g���fdd�}t|d���|��d����dS)Ncs����d��dS)NF)rr2r)r-�resultrrr}sz3BaseLockTests.test_try_acquire_contended.<locals>.f�r)r,r2r
r�assertFalser5)rrr)r-r9r�test_try_acquire_contendedysz(BaseLockTests.test_try_acquire_contendedcsp|������d}�fdd�}t||�}|��t�|�t|j�d����|�	�|�t|j�|�dS)N�cs������dS)N)r2r5r)r-rrr�sz/BaseLockTests.test_acquire_contended.<locals>.fr)
r,r2r
rr	�assertEqualrrr5r)r�Nr�br)r-r�test_acquire_contended�s
z$BaseLockTests.test_acquire_contendedcsV|����fdd�}d�fdd�	}|�t|d���|�t|t�t|d���dS)Ncs������dS)N)r2r5r)r-rrr�sz"BaseLockTests.test_with.<locals>.fc	s ��|dk	r|�WdQRXdS)Nr)�err)r-rr�_with�sz&BaseLockTests.test_with.<locals>._withr:)N)r,r
r�assertRaises�	TypeError)rrrCr)r-r�	test_with�szBaseLockTests.test_withcs`|����fdd�}tt���}t|d���tt���|kr\t�d�|�|tt����dS)Ncs������dS)N)r2r5r)r-rrr�sz)BaseLockTests.test_thread_leak.<locals>.f�g�������?)	r,rr�	enumerater
rrrr>)rrrr)r-r�test_thread_leak�s
zBaseLockTests.test_thread_leakcs�|���|�t�jdd�|jt�jdd�|jt�jdd�|jt�jtdd��jtd����t��}|�	�jdd��t��}|�
||d�g���fdd�}t|d���|�
�d�|��dd	�dS)
Nrr:i����)�timeoutg}Ô%�I�Tr=cs4t��}���jdd��t��}��||�dS)Ng�?)rJ)r�	monotonicrr2)�t1�t2)r-�resultsrrr�sz%BaseLockTests.test_timeout.<locals>.fg�?)r,rD�
ValueErrorr2�
OverflowErrorrr5rrKr7r(r
rr;r*)rrLrMrr)r-rNr�test_timeout�s zBaseLockTests.test_timeoutcCs"|��}t�|�}|�|��dS)N)r,�weakref�refZassertIsNotNone)rr-rSrrr�test_weakref_exists�s
z!BaseLockTests.test_weakref_existscCs$|��}t�|�}~|�|��dS)N)r,rRrSZassertIsNone)rr-rSrrr�test_weakref_deleted�s
z"BaseLockTests.test_weakref_deletedN)r!r"r#r.r1r3r4r6r8r<rArFrIrQrTrUrrrrr+Us
r+c@s$eZdZdd�Zdd�Zdd�ZdS)�	LockTestsc	s�|���g���fdd�}t���nt|d�xt��dkrDt�q0Wt�|�t��d����xt��dkrzt�qfW|�t��d�WdQRXdS)Ncs(�����d������d�dS)N)r2rr)r-�phaserrr�s
z#LockTests.test_reacquire.<locals>.frrr:�)r,rrrrr	r>r5)rrr)r-rWr�test_reacquire�s



zLockTests.test_reacquirecsB|�������fdd�}t|d�}|��������dS)Ncs���dS)N)r5r)r-rrr�sz*LockTests.test_different_thread.<locals>.fr:)r,r2r
rr5)rrr@r)r-r�test_different_thread�s
zLockTests.test_different_threadcCsN|��}|��|�|jdd��|��|�|���|�|jdd��dS)Ng{�G�z�?)rJF)Zblocking)r,r2r;r5�lockedr7)rr-rrr�test_state_after_timeoutsz"LockTests.test_state_after_timeoutN)r!r"r#rYrZr\rrrrrV�srVc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
RLockTestscCs<|��}|��|��|��|��|��|��dS)N)r,r2r5)rr-rrrrYszRLockTests.test_reacquirecCsX|��}|�t|j�|��|��|��|��|��|��|�t|j�dS)N)r,rD�RuntimeErrorr5r2)rr-rrr�test_release_unacquiredsz"RLockTests.test_release_unacquiredcCsX|��}|�t|j�|��|��|��|��|��|��|�t|j�dS)N)r,rDr^�
_release_saver2r5)rr-rrr�test_release_save_unacquired&sz'RLockTests.test_release_save_unacquiredcsJ|����fdd�}t|dd�}z|�t�j�Wd|��X|��dS)Ncs���dS)N)r2r)r-rrr5sz+RLockTests.test_different_thread.<locals>.fr:T)r,r
rDr^r5r r)rrr@r)r-rrZ2s
z RLockTests.test_different_threadcs�|���|��������|��������|�����g���fdd�}t|d���|��d����|��������|�����dS)Ncs������dS)N)r�	_is_ownedr)r-r9rrrFsz$RLockTests.test__is_owned.<locals>.fr:r)r,r;rbr2r7r
rr5)rrr)r-r9r�test__is_owned>szRLockTests.test__is_ownedN)r!r"r#rYr_rarZrcrrrrr]
s
	r]c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
EventTestscCsr|��}|�|���|��|�|���|��|�|���|��|�|���|��|�|���dS)N)�	eventtyper;Zis_set�setr7�clear)r�evtrrr�test_is_setUszEventTests.test_is_setcs|d}g�g����fdd�}t||�}|��t�|�t��d����|��|��dg|�|��dg|�dS)Nr=cs ������������dS)N)r�waitr)rh�results1�results2rrrfsz#EventTests._check_notify.<locals>.frT)r
rr	r>rrfr)rrhr?rr@r)rhrkrlr�
_check_notifyas
zEventTests._check_notifycCs0|��}|�|�|��|��|�|�dS)N)rermrfrg)rrhrrr�test_notifyrs

zEventTests.test_notifycs�|���g�g�d}���fdd�}t||���|��dg|�x&�D]\}}|�|�|�|d�qJWg�g����t||���|��dg|�x�D]\}}|�|�q�WdS)Nr=cs@����d��t��}��d�}t��}��|||f�dS)Ngg�?)rrjrrK)rL�rrM)rhrkrlrrrs

z"EventTests.test_timeout.<locals>.fFg�?T)rer
rr>r;r*rfr7)rr?rro�dtr)rhrkrlrrQzs"
zEventTests.test_timeoutcsn|���g�d�d}���fdd�}t||�}|��t���������|��|��dg|�dS)Ng�?r=cs�����d��dS)N�)rrjr)rhrNrJrrr�sz(EventTests.test_set_and_clear.<locals>.fT)	rer
rrrrfrgrr>)rr?rr@r)rhrNrJr�test_set_and_clear�s

zEventTests.test_set_and_clearc	Cs\|��}|j�|�|j�d��WdQRX|��|j�|�|j�d��WdQRXdS)NF)reZ_condr;r2Z_reset_internal_locks)rrhrrr�test_reset_internal_locks�sz$EventTests.test_reset_internal_locksN)	r!r"r#rirmrnrQrrrsrrrrrdPsrdc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�ConditionTestsc	Cs�|��}|��|��|��|��t��}|�|�}|��|�|�d��|��|�|�d��|�|�d��|��|�|�|�d��WdQRXdS)NF)�condtyper2r5rZLockr;r7)r�condr-rrr�test_acquire�s
zConditionTests.test_acquirecCs|��}|�t|j�dS)N)rurDr^rj)rrvrrr�test_unacquired_wait�sz#ConditionTests.test_unacquired_waitcCs|��}|�t|j�dS)N)rurDr^�notify)rrvrrr�test_unacquired_notify�sz%ConditionTests.test_unacquired_notifycs�d}g�g�g�d������fdd�}t||�}|��xt��dkrPt�q<W���|��g������d�t�d����xt��dkr�t�q�W|��dgd�|��g�xt��dkr�t�q�W�����d�t�d����x t��t��d	k�rt�q�W|��dgdd
gd�|��d
gd�xt��dk�rft��qNW�����	�t�d����xt��dk�r�t��q�W|��dgdd
gd�|��d
gddgd�|�
�dS)Nr=rcsd����������}�����|�f�����������}�����|�f�dS)N)r2rrjr5)r9)rv�	phase_num�readyrkrlrrr�s

z'ConditionTests._check_notify.<locals>.f�r:)Tr:rX�)TrX)Tr})r
rrr	rgr>r2ryr5Z
notify_allr)rrvr?rr@r)rvr{r|rkrlrrm�sX






zConditionTests._check_notifycCs |��}|�|�|�|�dS)N)rurm)rrvrrrrns
zConditionTests.test_notifycsh|���g�d}��fdd�}t||���|�t��|�x&�D]\}}|�|d�|�|�qBWdS)Nr=cs@���t��}��d�}t��}�����|||f�dS)Ng�?)r2rrKrjr5r)rLr9rM)rvrNrrr"s
z&ConditionTests.test_timeout.<locals>.fg�?)rur
rr>rr*r;)rr?rrpr9r)rvrNrrQszConditionTests.test_timeoutc
sv����d����fdd�}t|d�}|��x:td�D].}t�d����d7����WdQRXq8W|��dS)Nrc	s<��.���fdd��}��|����d�WdQRXdS)Ncs�dkS)Nrqrr)�staterr�<lambda>9�z8ConditionTests.test_waitfor.<locals>.f.<locals>.<lambda>rq)�wait_forr7r>)r9)rvrrrrr7s
z&ConditionTests.test_waitfor.<locals>.fr:rqg{�G�z�?)rur
rrrrryr)rrr@rr)rvrrr�test_waitfor4s

zConditionTests.test_waitforc
s�����d�g�����fdd�}t|d�}|��x:td�D].}t�d����d7����WdQRXq>W|����t	��d�dS)Nrc	s^��Pt��}�j�fdd�dd�}t��|}��|���|d���d�WdQRXdS)Ncs�dkS)Nrqrr)rrrr�Lr�z@ConditionTests.test_waitfor_timeout.<locals>.f.<locals>.<lambda>g�������?)rJ)rrKr�r;r*r)rpr9)rvrr�successrrrIs
z.ConditionTests.test_waitfor_timeout.<locals>.fr:r}g{�G�z�?)
rur
rrrrryrr>r)rrr@rr)rvrrr�r�test_waitfor_timeoutEs

z#ConditionTests.test_waitfor_timeoutN)r!r"r#rwrxrzrmrnrQr�r�rrrrrt�sJrtc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�BaseSemaphoreTestscCs,|jt|jdd�|jt|jtjd�dS)N���)�value)rDrO�semtype�sys�maxsize)rrrrr.bsz#BaseSemaphoreTests.test_constructorcCsH|�d�}|��|��|�d�}|��|��|��|��dS)Nr:rX)r�r2r5)r�semrrrrwfs

zBaseSemaphoreTests.test_acquirecCs|��}|��~dS)N)r�r2)rr�rrrr4psz'BaseSemaphoreTests.test_acquire_destroycs�|�d�����d}g�g�g�d������fdd�}t|d�}|��xt��t��dkrjt�qNW|���dgd�d�xtd�D]}���q�Wxt��t��dkr�t�q�W|�t	���dgddgd�d	�xtd�D]}���q�Wx"t��t��d
k�r$t��qW|�t	���dgddgdd	gd�|�
��d�����|��|��dgd
�dS)N��
rcs4��������������������dS)N)rr2r)r{rkrlr��sem_resultsrrr}s
z4BaseSemaphoreTests.test_acquire_contended.<locals>.f�r:�
rX�FT�)r�r2r
rrr	r>rr5�sortedr;r)rr?rr@rr)r{rkrlr�r�rrAus:



$.z)BaseSemaphoreTests.test_acquire_contendedcCsV|�d�}|�|�d��|�|�d��|�|�d��|��|�|�d��dS)NrXF)r�r7r2r;r5)rr�rrrr8�s
z#BaseSemaphoreTests.test_try_acquirecsV|�d�����g���fdd�}t|d���|�t��dgddgd�dS)	Nrqcs$����d������d��dS)NF)rr2r)rNr�rrr�sz8BaseSemaphoreTests.test_try_acquire_contended.<locals>.fr=Fr�Tr})r�r2r
rr>r�)rrr)rNr�rr<�s
z-BaseSemaphoreTests.test_try_acquire_contendedcCs�|�d�}|jt|jddd�|�|jdd��|�|jdd��|�|jdd��|��|�|jdd��t��}|�|jdd��t��|}|�	|d�dS)NrXFg�?)rJg{�G�zt?g�?)
r�rDrOr2r7r;r5rrKr*)rr��trprrr�test_acquire_timeout�s
z'BaseSemaphoreTests.test_acquire_timeoutcsT|�������fdd�}t|d�}|��t�|�|j����|��dS)Ncs������dS)N)r2r5r)r�rrr�sz0BaseSemaphoreTests.test_default_value.<locals>.fr:)	r�r2r
rr	r;rr5r)rrr@r)r�r�test_default_value�s
z%BaseSemaphoreTests.test_default_valuecsb��d��d��fdd�	}|�����d�������t|t�����d�����dS)NrXc
sT��F����d�����������d��|r<|�WdQRXWdQRXdS)NF)r7r2r5r;)rB)rr�rrrC�sz+BaseSemaphoreTests.test_with.<locals>._withF)N)r�r7r2r5rDrE)rrCr)rr�rrF�s
zBaseSemaphoreTests.test_withN)r!r"r#r.rwr4rAr8r<r�r�rFrrrrr�]s
%

r�c@seZdZdd�ZdS)�SemaphoreTestscCs.|�d�}|��|��|��|��dS)Nr:)r�r5r2)rr�rrrr_�s

z&SemaphoreTests.test_release_unacquiredN)r!r"r#r_rrrrr��sr�c@seZdZdd�ZdS)�BoundedSemaphoreTestscCs8|��}|�t|j�|��|��|�t|j�dS)N)r�rDrOr5r2)rr�rrrr_�s
z-BoundedSemaphoreTests.test_release_unacquiredN)r!r"r#r_rrrrr��sr�c@s�eZdZdZdZdd�Zdd�Zdd�Zd	d
�Zd!dd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd S)"�BarrierTestsr=g@cCs|j|j|jd�|_dS)N)rJ)�barriertyper?�defaultTimeout�barrier)rrrrr&�szBarrierTests.setUpcCs|j��dS)N)r��abort)rrrrr'szBarrierTests.tearDowncCs"t||jd�}|�|��dS)Nr:)r
r?r)rrr@rrr�run_threadsszBarrierTests.run_threadscCs�|jj}|�||j�xtt|�D]h}|d�d�|�t|d�||�|j��|d�d�|�t|d�|d|�|j��q W|�|jjd�|�	|jj
�dS)NrTr:)r�Zpartiesr>r?rrrrj�	n_waitingr;�broken)rrNr�mrrrr�	multipasss
zBarrierTests.multipassr:cs&ggg����fdd�}��|�dS)Ncs�����dS)N)r�r)�passesrNrrrrsz$BarrierTests.test_barrier.<locals>.f)r�)rr�rr)r�rNrr�test_barrierszBarrierTests.test_barriercCs
|�d�S)Nr�)r�)rrrr�test_barrier_10szBarrierTests.test_barrier_10cs:g���fdd�}��|���t��tt�j���dS)Ncs�j��}��|�dS)N)r�rjr)ro)rNrrrr)s
z(BarrierTests.test_wait_return.<locals>.f)r�r>�sumrr?)rrr)rNrr�test_wait_return$s
zBarrierTests.test_wait_returncs<g��fdd�}���j|�����fdd�}��|�dS)Ncs��d�dS)NT)rr)rNrr�action5sz(BarrierTests.test_action.<locals>.actioncs�����t��d�dS)Nr:)rjr>rr)r�rNrrrr8sz#BarrierTests.test_action.<locals>.f)r�r?r�)rr�rr)r�rNrr�test_action0s
zBarrierTests.test_actioncsZg�g����fdd�}��|���t��d���t���jd����jj�dS)Ncsvy4�j��}|�jdkrt��j����d�Wn<tjk
rT��d�Yntk
rp�j��YnXdS)NrXT)r�rjr?r^rr�BrokenBarrierErrorr�)r)rkrlrrrrDs


z"BarrierTests.test_abort.<locals>.frr:)r�r>rr?r7r�r�)rrr)rkrlrr�
test_abort>s
zBarrierTests.test_abortcsdg�g�g�����fdd�}��|���t��d���t���jd���t���j�dS)Ncs��j��}|�jdkrFx �jj�jdkr8t�d�qW�j��n:y�j����d�Wn tj	k
r~��d�YnX�j����d�dS)NrXr:g����MbP?T)
r�rjr?r�rr�resetrrr�)r)rkrl�results3rrrr]s


z"BarrierTests.test_reset.<locals>.frr:)r�r>rr?)rrr)rkrlr�rr�
test_resetVs
zBarrierTests.test_resetcsrg�g�g����j�������fdd�}��|���t��d���t���jd���t���j�dS)Ncs�y4�j��}|�jdkrt��j����d�Wn<tjk
rT��d�Yntk
rp�j��YnX����jdkr��j������j����d�dS)NrXT)	r�rjr?r^rrr�r�r�)r)�barrier2rkrlr�rrrr|s 




z,BarrierTests.test_abort_and_reset.<locals>.frr:)r�r?r�r>r)rrr)r�rkrlr�rr�test_abort_and_resetts
z!BarrierTests.test_abort_and_resetcs�fdd�}��|�dS)Ncs:�j��}|�jdkr"t�d���tj�jjd�dS)NrXg�?g�?)r�rjr?rrrDrr�)r)rrrr�s


z$BarrierTests.test_timeout.<locals>.f)r�)rrr)rrrQ�szBarrierTests.test_timeoutcs,�j�jdd����fdd�}��|�dS)Ng333333�?)rJcs4���}|�jdkr t�d���tj�j�dS)NrXg�?)rjr?rrrDrr�)r)r�rrrr�s
z,BarrierTests.test_default_timeout.<locals>.f)r�r?r�)rrr)r�rr�test_default_timeout�sz!BarrierTests.test_default_timeoutcCs|�d�}|��|��dS)Nr:)r�rj)rr@rrr�test_single_thread�s
zBarrierTests.test_single_threadN)r:)r!r"r#r?r�r&r'r�r�r�r�r�r�r�r�r�rQr�r�rrrrr��s 
	"r�)r�r�_threadrrrZunittestrRZtestrr	�objectr
ZTestCaser$r+rVr]rdrtr�r�r�r�rrrr�<module>s(11C^0~