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/test_importlib/__pycache__/test_locks.cpython-37.pyc
B

��gD�@s�ddlmZe�d�ZddlZddlZddlZddlZddl	m
Z
ddl	mZGdd�d�Zd	d
�e�
�D�Zejeejed�\ZZGdd
�d
�Zdd
�e�
�D�Zejeeed�\ZZGdd�d�Zejeed�\ZZe
jdd��Zedkr�e�dS)�)�util�	importlib�N)�support)�
lock_testsc@s8eZdZedd��ZdZdZdZdZdZ	dZ
dZdZdS)�ModuleLockAsRLockTestscCs
|�d�S)NZ	some_lock)�LockType)�cls�r
�:/usr/local/lib/python3.7/test/test_importlib/test_locks.py�<lambda>�zModuleLockAsRLockTests.<lambda>N)
�__name__�
__module__�__qualname__�classmethodZlocktypeZtest__is_ownedZtest_try_acquireZtest_try_acquire_contendedZ	test_withZtest_timeoutZtest_release_save_unacquiredZ	test_reprZtest_locked_reprr
r
r
rrsrcCsi|]\}}|jj|�qSr
)�
_bootstrap�_ModuleLock)�.0�kind�	splitinitr
r
r�
<dictcomp> sr)rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�DeadlockAvoidanceTestscCs8yt��|_t�d�Wntk
r2d|_YnXdS)Ng���ư>)�sys�getswitchinterval�old_switchintervalr�setswitchinterval�AttributeError)�selfr
r
r�setUp+s

zDeadlockAvoidanceTests.setUpcCs|jdk	rt�|j�dS)N)rrr)rr
r
r�tearDown2s
zDeadlockAvoidanceTests.tearDowncs�d��fdd�t��D����fdd�t��D��|r<�}n�d}t�|��g��fdd������fdd	�}t�||�����t��|��S)
N�
csg|]}��t|���qSr
)r�str)r�i)rr
r�
<listcomp>8szFDeadlockAvoidanceTests.run_deadlock_avoidance_test.<locals>.<listcomp>cs$g|]}�|�|d�f�qS)rr
)rr#)�NLOCKS�locksr
rr$9srcs,y|��Wn�jk
r"dSXdSdS)zOTry to acquire the lock. Return True on success,
            False on deadlock.FTN)�acquire�
DeadlockError)�lock)rr
r�_acquireAs
zDDeadlockAvoidanceTests.run_deadlock_avoidance_test.<locals>._acquirecsN���\}}�|�}����|�}��||f�|r>|��|rJ|��dS)N)�pop�wait�append�release)�a�bZra�rb)r*�barrier�pairs�resultsr
r�fKsz=DeadlockAvoidanceTests.run_deadlock_avoidance_test.<locals>.f)�range�	threadingZBarrierrZBunchZwait_for_finished�assertEqual�len)rZcreate_deadlockZNTHREADSr5r
)r%r*r2r&r3r4rr�run_deadlock_avoidance_test6s


z2DeadlockAvoidanceTests.run_deadlock_avoidance_testcCs>|�d�}|�d�}|�|d�|�|�d�t|�|�dS)NT)TFr)TT)r:�countZassertGreaterEqualr8r9)rr4Znb_deadlocksr
r
r�
test_deadlockYs

z$DeadlockAvoidanceTests.test_deadlockcCs6|�d�}|�|�d�d�|�|�d�t|��dS)NF)TFr)TT)r:r8r;r9)rr4r
r
r�test_no_deadlockbs
z'DeadlockAvoidanceTests.test_no_deadlockN)rrrrr r:r<r=r
r
r
rr)s
#	rcCsi|]\}}|jj|�qSr
)r�_DeadlockError)rrrr
r
rrhs)rr(c@s(eZdZedd��Zdd�Zdd�ZdS)�
LifetimeTestscCs|jjS)N)�initr)rr
r
r�	bootstraptszLifetimeTests.bootstrapcCsdd}|�||jj�|j�|�}|�||jj�t�|�}~t��|�||jj�|�	|��dS)NZxyzzy)
ZassertNotInrA�
_module_locks�_get_module_lockZassertIn�weakref�refr�
gc_collectZassertIsNone)r�namer)Zwrr
r
r�test_lock_lifetimexs
z LifetimeTests.test_lock_lifetimecCs&t��|�dt|jj�|jj�dS)Nr)rrFr8r9rArB)rr
r
r�test_all_locks�szLifetimeTests.test_all_locksN)rrr�propertyrArHrIr
r
r
rr?rsr?)r@cCst�tttttt�dS)N)rZrun_unittest�Frozen_ModuleLockAsRLockTests�Source_ModuleLockAsRLockTests�Frozen_DeadlockAvoidanceTests�Source_DeadlockAvoidanceTests�Frozen_LifetimeTests�Source_LifetimeTestsr
r
r
r�	test_main�srQ�__main__)�rZ	test_utilZimport_importlibr@rr7ZunittestrDZtestrrr�itemsZ
LOCK_TYPESZ	test_bothZ
RLockTestsrKrLrZDEADLOCK_ERRORSrMrNr?rOrPZreap_threadsrQrr
r
r
r�<module>s.

?