File: //usr/local/lib/python3.7/test/test_asyncio/__pycache__/test_pep492.cpython-37.pyc
B
��g� � @ s� d Z ddlZddlZddlZddlmZ ddlmZ ddlZddlm Z
G dd� d�ZG dd � d e
j�Z
G d
d� de
�ZG dd
� d
e
�ZG dd� de
�Zedkr�e�� dS )z3Tests support for new syntax introduced by PEP 492.� N)�support)�mock)�utilsc @ s. e Zd Zdd� Zd
dd�Zdd� Zdd � ZdS )�FakeCoroc C s d S )N� )�self�valuer r �9/usr/local/lib/python3.7/test/test_asyncio/test_pep492.py�send s z
FakeCoro.sendNc C s d S )Nr )r �typ�val�tbr r r �throw s zFakeCoro.throwc C s d S )Nr )r r r r �close s zFakeCoro.closec c s
d V d S )Nr )r r r r � __await__ s zFakeCoro.__await__)NN)�__name__�
__module__�__qualname__r
r r r r r r r r s
r c s e Zd Z� fdd�Z� ZS )�BaseTestc sH t � �� t�� | _t�� | j_t�� | j_d| jjj _
| �| j� d S )Nr )�super�setUp�asyncioZ
BaseEventLoop�loopr ZMockZ_process_eventsZ _selectorZselectZreturn_valueZset_event_loop)r )� __class__r r r s
zBaseTest.setUp)r r r r �
__classcell__r r )r r r s r c @ s e Zd Zdd� Zdd� ZdS )� LockTestsc sp t j� jd�t j� jd�t j� jd�t j� jd�g}� fdd�}x*|D ]"}� j�||�� � �|�� � qFW d S )N)r c
� s� t jd� jd�I d H � �| �� � | 4 I d H �D}� �|d � � �| �� � t jd� jd�I d H � �| �� � W d Q I d H R X � �| �� � d S )Ng{�G�z�?)r )r �sleepr �assertFalse�locked�assertIs�
assertTrue)�lock�_lock)r r r �test2 s z7LockTests.test_context_manager_async_with.<locals>.test) r �Lockr � Condition� Semaphore�BoundedSemaphore�run_until_completer r )r �
primitivesr# � primitiver )r r �test_context_manager_async_with* s
z)LockTests.test_context_manager_async_withc sp t j� jd�t j� jd�t j� jd�t j� jd�g}� fdd�}x*|D ]"}� j�||�� � �|�� � qFW d S )N)r c
� s� t jd� jd�I d H � �| �� � � �t��h | I d H �D}� �|d � � �| �� � t jd� jd�I d H � �| �� � W d Q R X � �| �� � W d Q R X d S )Ng{�G�z�?)r ) r r r r r ZassertWarns�DeprecationWarningr r )r! r"