File: //opt/cppython/lib/python3.8/test/__pycache__/test_coroutines.cpython-38.opt-1.pyc
U
.D�g� � @ s, d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ G dd� d�ZG dd� d�Z
dd � Zd
d� Ze jdd
� �ZG dd� dej�ZG dd� dej�ZG dd� dej�ZG dd� dej�ZG dd� dej�ZG dd� dej�Ze jG dd� dej��Zedk�r(e�� dS )� N)�support��assert_python_okc @ s e Zd Zdd� Zdd� ZdS )�AsyncYieldFromc C s
|| _ d S �N��obj)�selfr � r
�3/opt/cppython/lib/python3.8/test/test_coroutines.py�__init__ s zAsyncYieldFrom.__init__c c s | j E d H d S r r �r r
r
r � __await__ s zAsyncYieldFrom.__await__N��__name__�
__module__�__qualname__r r r
r
r
r r
s r c @ s e Zd Zdd� Zdd� ZdS )�
AsyncYieldc C s
|| _ d S r ��value)r r r
r
r r s zAsyncYield.__init__c c s | j V d S r r r
r
r
r r s zAsyncYield.__await__Nr r
r
r
r r s r c
C sf g }d }z|� | �d �� W q tk
rZ } z |jr>|jd nd }W Y �q^W 5 d }~X Y qX q||fS �Nr )�append�send�
StopIteration�args)�coro�buffer�result�exr
r
r � run_async s r c
C s� | � � }g }d }d}z4|d r.|�t|�� n|�|�d �� |d7 }W q tk
r� } z |jrj|jd nd }W Y �q�W 5 d }~X Y qX q||fS )Nr � � )r r �nextr r r )r �awr r �ir r
r
r �run_async__await__+ s r% c c s0 t �� � t �d� d V t�� W 5 Q R X d S )N�ignore)�warnings�catch_warnings�simplefilterr �
gc_collectr
r
r
r �silence_coro_gc>