| Server IP : 118.27.122.248 / Your IP : 216.73.217.130 Web Server : Apache System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64 User : c9415830 ( 11735) PHP Version : 8.4.17 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/python36/lib64/python3.6/test/__pycache__/ |
Upload File : |
3
x2_ x � @ sf d Z ddlZddlZddlZddlZddlZddlmZmZm Z G dd� dej
�Zedkrbej
� dS )z�
Test suite for PEP 380 implementation
adapted from original tests written by Greg Ewing
see <http://www.cosc.canterbury.ac.nz/greg.ewing/python/yield-from/YieldFrom-Python3.1.2-rev5.zip>
� N)�captured_stderr�
disable_gc�
gc_collectc @ s e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Zd:d;� Z d<d=� Z!d>d?� Z"d@dA� Z#dBdC� Z$dDS )E�TestPEP380Operationz
Test semantics.
c sX g �� �fdd�}�fdd�� x|� D ]}�j d|f � q&W | j�dddd d
g� dS )zH
Test delegation of initial next() call to subgenerator
c 3 s$ �j d� � � E d H �j d� d S )NzStarting g1zFinishing g1)�append� )�g2�tracer �9/opt/alt/python36/lib64/python3.6/test/test_yield_from.py�g1 s
zOTestPEP380Operation.test_delegation_of_initial_next_to_subgenerator.<locals>.g1c 3 s � j d� dV � j d� d S )NzStarting g2�* zFinishing g2)r r )r r r
r s
zOTestPEP380Operation.test_delegation_of_initial_next_to_subgenerator.<locals>.g2z
Yielded %szStarting g1zStarting g2z
Yielded 42zFinishing g2zFinishing g1N)r �assertEqual)�selfr �xr )r r r
�/test_delegation_of_initial_next_to_subgenerator s zCTestPEP380Operation.test_delegation_of_initial_next_to_subgeneratorc s� g �� �fdd�}�fdd�� y$x|� D ]}�j d|f � q(W W n4 tk
rv } z| j|jd d� W Y dd}~X nX | jd � | j�d
ddd
g� dS )z?
Test raising exception in initial next() call
c 3 s, z�j d� � � E d H W d �j d� X d S )NzStarting g1zFinishing g1)r r )r r r r
r 3 s
zKTestPEP380Operation.test_raising_exception_in_initial_next_call.<locals>.g1c s( z� j d� td��W d � j d� X d S )NzStarting g2zspanish inquisition occurredzFinishing g2)r �
ValueErrorr )r r r
r 9 s
zKTestPEP380Operation.test_raising_exception_in_initial_next_call.<locals>.g2z
Yielded %sr zspanish inquisition occurredNz'subgenerator failed to raise ValueErrorzStarting g1zStarting g2zFinishing g2zFinishing g1)r r r
�args�fail)r r r �er )r r r
�+test_raising_exception_in_initial_next_call. s $
z?TestPEP380Operation.test_raising_exception_in_initial_next_callc
s^ g �� �fdd�}�fdd�� x|� D ]}�j d|f � q&W | j�dddd d
ddd
g� dS )z@
Test delegation of next() call to subgenerator
c 3 s0 �j d� dV � � E d H dV �j d� d S )NzStarting g1zg1 hamzg1 eggszFinishing g1)r r )r r r r
r R s
zLTestPEP380Operation.test_delegation_of_next_call_to_subgenerator.<locals>.g1c 3 s$ � j d� dV dV � j d� d S )NzStarting g2zg2 spamzg2 more spamzFinishing g2)r r )r r r
r X s
zLTestPEP380Operation.test_delegation_of_next_call_to_subgenerator.<locals>.g2z
Yielded %szStarting g1zYielded g1 hamzStarting g2zYielded g2 spamzYielded g2 more spamzFinishing g2zYielded g1 eggszFinishing g1N)r r
)r r r r )r r r
�,test_delegation_of_next_call_to_subgeneratorM s z@TestPEP380Operation.test_delegation_of_next_call_to_subgeneratorc s� g �� �fdd�}�fdd�� y$x|� D ]}�j d|f � q(W W n4 tk
rv } z| j|jd d� W Y dd}~X nX | jd � | j�d
ddd
ddg� dS )zA
Test raising exception in delegated next() call
c 3 s8 z&�j d� dV � � E d H dV W d �j d� X d S )NzStarting g1zg1 hamzg1 eggszFinishing g1)r r )r r r r
r o s
zMTestPEP380Operation.test_raising_exception_in_delegated_next_call.<locals>.g1c 3 s4 z"� j d� dV td��dV W d � j d� X d S )NzStarting g2zg2 spamzhovercraft is full of eelszg2 more spamzFinishing g2)r r r )r r r
r w s
zMTestPEP380Operation.test_raising_exception_in_delegated_next_call.<locals>.g2z
Yielded %sr zhovercraft is full of eelsNz'subgenerator failed to raise ValueErrorzStarting g1zYielded g1 hamzStarting g2zYielded g2 spamzFinishing g2zFinishing g1)r r r
r r )r r r r r )r r r
�-test_raising_exception_in_delegated_next_callj s $
zATestPEP380Operation.test_raising_exception_in_delegated_next_callc s� g �� �fdd�}�fdd�� |� }t |�}d}y,x&|j|�}�jd|f � |d7 }q4W W n tk
rp Y nX | j�ddd d
ddd
ddddg� dS )z+
Test delegation of send()
c 3 sP �j d� dV } �j d| f � � � E d H dV } �j d| f � �j d� d S )NzStarting g1zg1 hamzg1 received %szg1 eggszFinishing g1)r )r )r r r r
r � s
z7TestPEP380Operation.test_delegation_of_send.<locals>.g1c 3 sD � j d� dV } � j d| f � dV } � j d| f � � j d� d S )NzStarting g2zg2 spamzg2 received %szg2 more spamzFinishing g2)r )r )r r r
r � s
z7TestPEP380Operation.test_delegation_of_send.<locals>.g2� z
Yielded %szStarting g1z
g1 received 1zStarting g2zYielded g2 spamz
g2 received 2zYielded g2 more spamz
g2 received 3zFinishing g2zYielded g1 eggsz
g1 received 4zFinishing g1N)�next�sendr �
StopIterationr
)r r �g�yr r )r r r
�test_delegation_of_send� s2
z+TestPEP380Operation.test_delegation_of_sendc sR g ���fdd�� �fdd��� �fdd�}| j t|� | j�ddd d
dg� dS )
zA
Test handling exception while delegating 'send'
c 3 sP �j d� dV } �j d| f � � � E d H dV } �j d| f � �j d� d S )NzStarting g1zg1 hamzg1 received %szg1 eggszFinishing g1)r )r )r r r r
r � s
zMTestPEP380Operation.test_handling_exception_while_delegating_send.<locals>.g1c 3 sL � j d� dV } � j d| f � td��dV } � j d| f � � j d� d S )NzStarting g2zg2 spamzg2 received %szhovercraft is full of eelszg2 more spamzFinishing g2)r r )r )r r r
r � s
zMTestPEP380Operation.test_handling_exception_while_delegating_send.<locals>.g2c sb � � } t | �}d}y,x&| j|�}�jd|f � |d7 }qW W n tk
r\ �jd� Y nX d S )Nr z
Yielded %sr )r r r r )r r r )r r r r
�run� s
zNTestPEP380Operation.test_handling_exception_while_delegating_send.<locals>.runzStarting g1z
g1 received 1zStarting g2zYielded g2 spamz
g2 received 2N)�assertRaisesr r
)r r r )r r r r
�-test_handling_exception_while_delegating_send� s zATestPEP380Operation.test_handling_exception_while_delegating_sendc sr g �� �fdd�}�fdd�� |� }x(t d�D ]}t|�}�jd|f � q.W |j� | j�ddd d
ddg� d
S )z)
Test delegating 'close'
c 3 s8 z&�j d� dV � � E d H dV W d �j d� X d S )NzStarting g1zg1 hamzg1 eggszFinishing g1)r r )r r r r
r � s
z5TestPEP380Operation.test_delegating_close.<locals>.g1c 3 s, z� j d� dV dV W d � j d� X d S )NzStarting g2zg2 spamzg2 more spamzFinishing g2)r r )r r r
r � s
z5TestPEP380Operation.test_delegating_close.<locals>.g2� z
Yielded %szStarting g1zYielded g1 hamzStarting g2zYielded g2 spamzFinishing g2zFinishing g1N)�ranger r �closer
)r r r �ir r )r r r
�test_delegating_close� s z)TestPEP380Operation.test_delegating_closec s� g �� �fdd�}�fdd�� y<|� }x(t d�D ]}t|�}�jd|f � q0W |j� W nB tk
r� } z&| j|jd d� | j|jt � W Y d d }~X nX | j
d
� | j�ddd
dddg� d S )zB
Test handling exception while delegating 'close'
c 3 s8 z&�j d� dV � � E d H dV W d �j d� X d S )NzStarting g1zg1 hamzg1 eggszFinishing g1)r r )r r r r
r s
zMTestPEP380Operation.test_handing_exception_while_delegating_close.<locals>.g1c 3 s4 z� j d� dV dV W d � j d� td��X d S )NzStarting g2zg2 spamzg2 more spamzFinishing g2z"nybbles have exploded with delight)r r r )r r r
r s
zMTestPEP380Operation.test_handing_exception_while_delegating_close.<locals>.g2r"