File: //opt/cppython/lib/python3.8/test/test_importlib/__pycache__/test_locks.cpython-38.pyc
U
/D�g4 � @ s� d dl mZ e�d�ZddlZddlZddlZddlm Z ddlm
Z
G dd� d�Zd d
� e�� D �Z
ejee
je
d�\ZZG dd
� d
�Zdd
� e�� D �Zejee
ed�\ZZG dd� d�Zejeed�\ZZe jdd� �Zedkr�e� dS )� )�util� importlib� N)�support)�
lock_testsc @ s8 e Zd Zedd� �ZdZdZdZdZdZ dZ
dZdZdS )�ModuleLockAsRLockTestsc C s
| � d�S )NZ some_lock��LockType)�cls� r �=/opt/cppython/lib/python3.8/test/test_importlib/test_locks.py�<lambda> � 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 s i | ]\}}||j j�qS r )�
_bootstrap�_ModuleLock��.0�kindZ splitinitr r r �
<dictcomp> s � r r c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� ZdS )�DeadlockAvoidanceTestsc C s8 zt �� | _t�d� W n tk
r2 d | _Y nX d S )Ng���ư>)�sys�getswitchinterval�old_switchintervalr �setswitchinterval�AttributeError��selfr r r �setUp* s
zDeadlockAvoidanceTests.setUpc C s | j d k rt�| j � d S �N)r r r r r r r �tearDown1 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>7 s zFDeadlockAvoidanceTests.run_deadlock_avoidance_test.<locals>.<listcomp>c s$ g | ]}�| �|d � f�qS )r r r&