File: //usr/local/lib/python3.10/test/test_importlib/__pycache__/test_locks.cpython-310.opt-1.pyc
o
�i� � @ s d dl mZ e�d�ZddlZddlZddlZddlZddl m
Z
ddlmZ ddl m
Z
G dd � d �Zd
d� e�� D �Zejee
jed�\ZZG d
d� d�Zdd� e�� D �Zejeeed�\ZZG dd� d�Zejeed�\ZZdd� Zedkr�e�� dS dS )� )�util� importlib� N)�support)�threading_helper)�
lock_testsc @ s8 e Zd Zedd� �ZdZdZdZdZdZ dZ
dZdZdS )�ModuleLockAsRLockTestsc C s
| � d�S )NZ some_lock��LockType)�cls� r �;/usr/local/lib/python3.10/test/test_importlib/test_locks.py�<lambda> s
zModuleLockAsRLockTests.<lambda>N)
�__name__�
__module__�__qualname__�classmethodZlocktypeZtest__is_ownedZtest_try_acquireZtest_try_acquire_contendedZ test_withZtest_timeoutZtest_release_save_unacquiredZ test_reprZtest_locked_reprr r r r
r s r c C � i | ] \}}||j j�qS r )�
_bootstrap�_ModuleLock��.0�kindZ splitinitr r r
�
<dictcomp>! � �r r c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� ZdS )�DeadlockAvoidanceTestsc C s6 z
t �� | _t�d� W d S ty d | _Y d S w )Ng���ư>)�sys�getswitchinterval�old_switchintervalr �setswitchinterval�AttributeError��selfr r r
�setUp, s
�zDeadlockAvoidanceTests.setUpc C s | j d ur
t�| j � d S d S �N)r r r r! r r r
�tearDown3 s
�zDeadlockAvoidanceTests.tearDownc s� d� �fdd�t � �D ��� �fdd�t � �D ��|r� }n� d }t�|��g ��fdd������fdd �}t�||��� ��t��|� �S )
N�
c s g | ] }� � t|���qS r )r
�str�r �ir! r r
�
<listcomp>9 s zFDeadlockAvoidanceTests.run_deadlock_avoidance_test.<locals>.<listcomp>c s$ g | ]}�| �|d � f�qS )r r r( )�NLOCKS�locksr r
r* : s $ r c s&