|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/cppython/lib/python3.8/test/__pycache__/ |
U
>��gx � @ sZ d Z ddlZddlZddlmZmZmZ ddlmZ G dd� dej �Z
edkrVe�� 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_collect)�supportc @ 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 sT g �� �fdd�}�fdd�� |� D ]}�� d|f � q$| ��dddd d
g� dS )zH
Test delegation of initial next() call to subgenerator
c 3 s$ �� d� � � E d H �� d� d S )N�Starting g1�Finishing g1��append� ��g2�tracer �3/opt/cppython/lib/python3.8/test/test_yield_from.py�g1 s
zOTestPEP380Operation.test_delegation_of_initial_next_to_subgenerator.<locals>.g1c 3 s � � d� dV � � d� d S )N�Starting g2�* �Finishing g2r r �r r r r
s
zOTestPEP380Operation.test_delegation_of_initial_next_to_subgenerator.<locals>.g2�
Yielded %sr r z
Yielded 42r r N�r
�assertEqual��selfr �xr r r �/test_delegation_of_initial_next_to_subgenerator s
�zCTestPEP380Operation.test_delegation_of_initial_next_to_subgeneratorc
s� g �� �fdd�}�fdd�� z |� D ]}�� d|f � q&W n4 tk
rr } z| �|jd d� W 5 d}~X Y nX | �d � | ��d
ddd
g� dS )z?
Test raising exception in initial next() call
c 3 s, z�� d� � � E d H W 5 �� d� X d S )Nr r r r r r r r 1 s
zKTestPEP380Operation.test_raising_exception_in_initial_next_call.<locals>.g1c s( z� � d� td��W 5 � � d� X d S )Nr r �spanish inquisition occurred�r
�
ValueErrorr r r r r
7 s
zKTestPEP380Operation.test_raising_exception_in_initial_next_call.<locals>.g2r r r N�'subgenerator failed to raise ValueErrorr r r r �r
r r �args�fail�r r r �er r r �+test_raising_exception_in_initial_next_call, s
$
�z?TestPEP380Operation.test_raising_exception_in_initial_next_callc sZ g �� �fdd�}�fdd�� |� D ]}�� d|f � q$| ��dddd d
ddd
g� dS )z@
Test delegation of next() call to subgenerator
c 3 s0 �� d� dV � � E d H dV �� d� d S )Nr �g1 ham�g1 eggsr r r r r r r P s
zLTestPEP380Operation.test_delegation_of_next_call_to_subgenerator.<locals>.g1c 3 s$ � � d� dV dV � � d� d S �Nr �g2 spam�g2 more spamr r r r r r r
V s
zLTestPEP380Operation.test_delegation_of_next_call_to_subgenerator.<locals>.g2r r �Yielded g1 hamr �Yielded g2 spam�Yielded g2 more spamr �Yielded g1 eggsr Nr r r r r �,test_delegation_of_next_call_to_subgeneratorK s
�z@TestPEP380Operation.test_delegation_of_next_call_to_subgeneratorc
s� g �� �fdd�}�fdd�� z |� D ]}�� d|f � q&W n4 tk
rr } z| �|jd d� W 5 d}~X Y nX | �d � | ��d
ddd
ddg� dS )zA
Test raising exception in delegated next() call
c 3 s8 z&�� d� dV � � E d H dV W 5 �� d� X d S �Nr r r&