File: //usr/local/lib/python3.7/test/__pycache__/test_generators.cpython-37.pyc
B
��g�� �
@ sv d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z yd dl
Z
W n ek
rp dZ
Y nX e�e
dk o�e
e
d�d�G dd� dej��ZG dd� dej�ZG d d
� d
ej�ZG dd� dej�ZG d
d� dej�ZdZdZdZdZdZdd� Zdd� Zdd� ZG dd� d�ZG dd� d�ZdZdZd Z d!Z!eeeeeeee e!d"� Z"d'd#d$�Z#e$d%k�rre#d&� dS )(� N)�support�raise_SIGINT_then_send_Nonez+needs _testcapi.raise_SIGINT_then_send_Nonec @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�SignalAndYieldFromTestc c s | � � E d H S )N)�
generator2)�self� r �0/usr/local/lib/python3.7/test/test_generators.py�
generator1 s z!SignalAndYieldFromTest.generator1c c s( y
d V W n t k
r dS X dS d S )N�PASSEDZFAILED)�KeyboardInterrupt)r r r r r s
z!SignalAndYieldFromTest.generator2c
C sj | � � }|�d � yt�|� W n& tk
rF } z|}W d d }~X Y nX | �t|�t� | �|j d� d S )Nr
)
r �send� _testcapir �
BaseException�assertIs�type�
StopIteration�assertEqual�value)r �genZ_exc�excr r r �test_raise_and_yield_from% s
z0SignalAndYieldFromTest.test_raise_and_yield_fromN)�__name__�
__module__�__qualname__r r r r r r r r s r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�FinalizationTestc sT � fdd�}|� }t �|�}t|� ~t�� | �|� d � | �� � � t�� d S )Nc 3 s z
d V W d t �� � X d S )N)�sys� _getframer )�framer r r 4 s
z2FinalizationTest.test_frame_resurrect.<locals>.gen)�weakref�ref�nextr �
gc_collectr �
assertTrue)r r �gZwrr )r r �test_frame_resurrect2 s
z%FinalizationTest.test_frame_resurrectc sx t jd d � }d� � fdd�}|� }t|� |�|� | �t�|�d� | �� � ~t� � | �
� � | �t j|� d S )NFc 3 s zd V } dV W d d� X d S )N� Tr )r# )� finalizedr r r I s
z+FinalizationTest.test_refcycle.<locals>.gen� )�gcZgarbager r Z
assertGreaterr �getrefcountZassertFalser r! r"