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__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_bdb.cpython-38.opt-2.pyc
U

>��g1��@s�ddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZddl
ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGd
d�de�ZdZdd
�Zdd�ZGdd�dej�ZGdd�de�ZGdd�d�Zd4dd�Ze	dd��Zeddfdd�ZdZedZdd �Z d!d"�Z!d#d$�Z"d%d&�Z#Gd'd(�d(ej$�Z%Gd)d*�d*e%�Z&Gd+d,�d,e%�Z'Gd-d.�d.e%�Z(Gd/d0�d0e%�Z)d1d2�Z*e+d3k�r�e*�dS)5�N)�contextmanager)�islice�repeatc@seZdZdS)�BdbExceptionN��__name__�
__module__�__qualname__�r
r
�,/opt/cppython/lib/python3.8/test/test_bdb.pyr>src@seZdZdS)�BdbErrorNrr
r
r
rr?src@seZdZdS)�BdbSyntaxErrorNrr
r
r
rr
@sr
c@seZdZdS)�BdbNotExpectedErrorNrr
r
r
rrAsrcCsdtj_itj_dgtj_dS�N�)�_bdb�
Breakpoint�nextZbplist�
bpbynumberr
r
r
r�reset_BreakpointIsrcCs�dd�tjjD�}|sdSd}|D]v}|s2d}d}|jr<dnd}|jrJd	nd
}|d|j|||j|jtj	�
|j�|jf7}|j
r�|d|j
f7}|d
7}q"|S)NcSsg|]}|r|�qSr
r
)�.0�bpr
r
r�
<listcomp>Osz$info_breakpoints.<locals>.<listcomp>�Fz!BpNum Temp Enb Hits Ignore Where
Tzyes zno  Zyeszno z%-5d %s %s %-4d %-6d at %s:%dz
	stop only if %s�
)rrr�	temporary�enabledZnumber�hits�ignore�os�path�basename�file�line�cond)�bp_listZheader_addedr�infoZdispZenabr
r
r�info_breakpointsNs(��
r'csfeZdZ�fdd�Zd�fdd�	Z�fdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Z�ZS)�Bdbcsd|_t��|||�S�N)�	currentbp�super�trace_dispatch)�self�frame�event�arg��	__class__r
rr,fszBdb.trace_dispatchFNcs�t|t�rT|tkrt�}nt�|dd��}|j}t||�}|j}	|	j	}|	j
}|	j}t�j
|||||d�}
t|
t�r|t|
��|
S)N���)rr$�funcname)�
isinstance�str�__file__�globals�	importlib�
import_module�__dict__�eval�__code__�co_filename�co_firstlineno�co_namer+�	set_breakr)r-�filename�linenorr$r4�globals_�module�func�code�resr1r
rrAjs"

�
z
Bdb.set_breakcs4t��||�\|_|_|j|jd|_|j|jfS�Nr)r+�	get_stack�stack�indexr.)r-�f�tr1r
rrJ~sz
Bdb.get_stackcCs|�|�}|jd7_dSr)�get_bpbynumberr�r-Zbpnumrr
r
r�
set_ignore�s
zBdb.set_ignorecCs|�|�}d|_dS)NT�rOrrPr
r
r�
set_enable�s
zBdb.set_enablecCs|�|�}d|_dS)NFrRrPr
r
r�set_disable�s
zBdb.set_disablecCs|�||�}|rt|��dSr))Zclear_breakr)r-�fnamerC�errr
r
r�	set_clear�sz
Bdb.set_clearcCs2|jstd��|jd8_|j|jd|_dS)NzOldest framerr)rLrrKr.�r-r
r
r�set_up�sz
Bdb.set_upcCs@|jdt|j�krtd��|jd7_|j|jd|_dS)NrzNewest framer)rL�lenrKrr.rXr
r
r�set_down�szBdb.set_down)FNN)
rrr	r,rArJrQrSrTrWrYr[�
__classcell__r
r
r1rr(cs�r(cs�eZdZd+�fdd�	Zdd�Z�fdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd,d%d&�Zd'd(�Zd)d*�Z�ZS)-�TracerNFcs<t�j|d�||_||_|dk	r*d|nd|_|��dS)N��skipzDry-run results for %s:)r+�__init__�
expect_set�dry_run�header�	init_test)r-rar_rb�	test_caser1r
rr`�s�
�zTracer.__init__cCsBd|_d|_d|_tt|jddd��|_tt|jddd��|_dS)Nr�r)�
cur_except�
expect_set_no�breakpoint_hits�listrra�
expected_list�set_listrXr
r
rrd�s
zTracer.init_testc
sx|jdk	r|j�|dkrdzt��|||�}|WStk
r`}z||_|jWY�Sd}~XYqtXnt��|||�SdS�N�	exception)rgr+r,r)r-r.r/r0rH�er1r
rr,�s
zTracer.trace_dispatchcCs(|�|�sdS|�d||�|��dS)N�call)Z	stop_here�
process_event�next_set_method)r-r.Z
argument_listr
r
r�	user_call�s
zTracer.user_callcCsZ|�d|�|jr@|jr@t��d�}|�d�D]}td|�q.|��d|_|��dS)Nr#rz  )	rqrbrir'�strip�split�print�delete_temporariesrr)r-r.r&r#r
r
r�	user_line�szTracer.user_linecCs|�d||�|��dS)N�return)rqrr)r-r.Zreturn_valuer
r
r�user_return�szTracer.user_returncCs||_|�d|�|��dSrm)�exc_inforqrr)r-r.r{r
r
r�user_exception�szTracer.user_exceptioncCs|jg}||f|_dSr))r*ri)r-r0r%r
r
r�do_clear�szTracer.do_clearcCs$|jr |jdD]}|�|�qdSr)riZclear_bpbynumber)r-�nr
r
rrw�szTracer.delete_temporariescCsV|jd7_z|j�d�|_Wn"tk
rBtd|j��YnX|j�d�|_dS)Nrrz-expect_set list exhausted, cannot pop item %d)rhrk�pop�expect�
IndexErrorrrl�	set_tuplerXr
r
r�pop_next�s��
zTracer.pop_nextcs�d}|dkr�jd}��||��jdk	rD�jsD�jg}|gf�_|�_����jrh���j�dS�j	r���
�j	d|d����|dkr���d�n�t
�j	�dk�r~|dk�rF�j	d\�}t����}�js��d�j���
|�jdd	���
�fd
d�|D��fdd��jdD�d
���
t|��jdd�n8|dk�r~t�jd�j	d��s~��d�j�jf�dS)NrnrfrzWrong event type)rpry�r#z(No breakpoints hit at expect_set item %dzBreakpoint numbers do not matchcsg|]}�|�qSr
r
�rr~)�bpsr
rrsz(Tracer.process_event.<locals>.<listcomp>csg|]}��|�j�qSr
)rOrr�rXr
rr s�zWrong breakpoint hit countrzWrong temporary breakpointsz/Wrong exception at expect_set item %d, got '%s')r{rJr*rir/r�rb�print_statercr��check_equal�check_lno_name�check_expect_max_sizerZ�sorted�keys�raise_not_expectedrhr5)r-r/r.�args�tbr%ZtemporariesZbpnumsr
)r�r-rrq�s\


���
���

��zTracer.process_eventcCs&||krdS|�d||j|f�dS)Nz"%s at expect_set item %d, got '%s')r�rh)r-Zexpected�result�msgr
r
rr�,s

�zTracer.check_equalcCsTt|j�}|dkr.|��}|�|jd|d�|dkrP|�|jd|jjjd�dS)NrzWrong line numberrfzWrong function name)rZr��lno_abs2relr�r.�f_coder@)r-�srCr
r
rr�2s
�zTracer.check_lno_namecCs&t|j�|kr"td|j|jf��dS)Nz'Invalid size of the %s expect tuple: %s)rZr�r
r/)r-�sizer
r
rr�<s
�zTracer.check_expect_max_sizecCs<|�|jjj�}|jj}||�t�kr8||jjjdS|Sr)�canonicr.r�r>�f_linenor7r?�r-rUrCr
r
rr�As��zTracer.lno_abs2relcCs.|r*|�|�|�t�kr*|jjj|dS|Sr)r�r7r.r�r?r�r
r
r�lno_rel2absGs���zTracer.lno_rel2abscCs�|��}|jjj}d|j||f}|jr�d}|jdD],}|dkrJ|d7}|d||�|�jf7}q6|d7}d|dt|jd�d	}|d|7}n|jd
kr�|d|j	dj
7}|d7}|�d�t|j�d
S)Nz('%s', %d, '%s'�{rz, z%s: %s�}�(r�)rnz), � �,)
r�r.r�r@r/rirOrr6r{r�ljustr�)r-rCr@�stater�r~r
r
r�	get_stateLs 

zTracer.get_statecCs:|dk	r |jdkr t�t|�td|j|��f�dS)Nrz%d: %s)rhrvr�)r-rcr
r
rr�^szTracer.print_statecCs6|d7}|dt|j�7}|d|��7}t|��dS)Nrz  Expected: %s
z  Got:      )r6r�r�r�r-r�r
r
rr�dszTracer.raise_not_expectedcCsZ|jd}t|j�dkr"|jdnd}t|d|�}|dkrF|�dS|dkr\||j�dS|dkr�d}|r�|�|jjj|d�}||j|�dS|r�|dks�|d	k�rH|d
kr�|^}}}|�||�}||g}|�|�||�n"|dkr�||�n|d	k�r|�d|_|�	�|j
�r$|��n|j�r4|�
�|�d�|��ntd
|j��dS)NrrfrZset_)�step�continue�quit)rry�until)�break�clearr�enable�disable)�up�down)r�r�)rr�r�r�z"%s" is an invalid set_tuple)r�rZ�getattrr.r�r�r>�extendr/r�rbr�r�r�r�rrr
)r-�set_typer�Z
set_methodrCrUZremainr
r
rrrjsR

��







�zTracer.next_set_method)NFN)N)rrr	r`rdr,rsrxrzr|r}rwr�rqr�r�r�r�r�r�r�r�rrr\r
r
r1rr]�s(	

2

r]c@s(eZdZddd�Zdd�Zd	dd�ZdS)
�	TracerRunNcCs2||_|j|_t|j||j|��d�|_d|_dS)N)r_rbre)rerbr]ra�id�tracer�_original_tracer)r-rer_r
r
rr`�s�zTracerRun.__init__cCst�t��|_|jSr))r�sys�gettracer�r�rXr
r
r�	__enter__�s
zTracerRun.__enter__cCs�t�t�|j�d}|jjr6|d7}|d|jj7}|dk	r�tt|�r�t	|t
�r�|jr�|jd}|rr|d|7}|jr�t
|�dS|j�|�n|r�|jr�t
|�n|j�|�dS)Nrz+All paired tuples have not been processed, zthe last one was number %drrT)rr��settracer�r�rlrh�
issubclassrr5�
BaseExceptionr�rbrvre�fail)r-Ztype_�value�	traceback�	not_empty�err_msgr
r
r�__exit__�s*�

zTracerRun.__exit__)N)NNN)rrr	r`r�r�r
r
r
rr��s
r�c
Cs�dd�}ddg}|�|�t�}d|_dd�|_t|td�t|���|_t|��(t	||d	��}|�
t�W5QRXW5QRXdS)
Ncss>z"t|�}t|�}|V|VqWntk
r8YdSXdSr))r�
StopIteration)�a�b�x�yr
r
r�gen�szrun_test.<locals>.gen�r�r�TcSsdSr)r
r
r
r
r�<lambda>�zrun_test.<locals>.<lambda>r
r^)r��BaseTestCaserbr�rjr�iterra�create_modulesr��runcall�tfunc_import)�modulesrlr_r��sl�testr�r
r
r�run_test�s3


r�ccs�tj����tj�t���zX|D]@}|d}t
|d��}|�t�
||��W5QRXt�|�q"t��dVW5|D]}tj�|�qztj�	�XW5QRXdS)N�.py�w)r��supportZtemp_cwdr�r �appendr�getcwdZforgetr�open�write�textwrap�dedent�	linecache�
checkcacher9�invalidate_caches)r��mrUrMr
r
rr�s
r�FcCsd|d|||ffS)Nr�r
)r4rUrr$r
r
r�
break_in_func%sr��test_module_for_bdbr�cCsddl}|��dSrI)r��main)r�r
r
rr�*sr�cCs d}t�t�d}d}d}dS)Nrf���)�tfunc_first�tfunc_second��lnor
r
r�
tfunc_main.sr�cCsd}d}d}dS)Nrfr��r
r�r
r
rr�6sr�cCsd}dS)Nrfr
r�r
r
rr�;sr�c@seZdZeZddd�ZdS)r�NcCs|�|�d�dSr))ZfailureExceptionr�r
r
rr�CszBaseTestCase.fail)N)rrr	rbr�r
r
r
rr�>sr�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) �
StateTestCasec	Cs8ddddddddg|_t|��}|�t�W5QRXdS)N�r#rfr�r��r#r�r��rprr��r#rfr��r��rar�r�r��r-r�r
r
r�	test_stepKs�
zStateTestCase.test_stepcCs|dD]r}|j|d��\ddddddtdffd	d
dddd
d
igff|fddg|_t|��}|�t�W5QRXW5QRXqdS)N)r�r�r�r�r�r�r�r�r�)�Nonerr��r�r#r�r�r#r�r�r�)�subTestr7rar�r�r�)r-r�r�r
r
r� test_step_next_on_last_statementUs"
�
z.StateTestCase.test_step_next_on_last_statementc
Cs<ddddddddddg
|_t|��}|�t�W5QRXdS)	Nr�r�r�r��r#r�r�)rprr�)r#rfr�r�r�r�r
r
r�	test_nextcs�
zStateTestCase.test_nextc
CsPd}t|i}t|��2ddddg|_t|��}|�t�W5QRXW5QRXdS)N�9
            def main():
                lno = 3
        �r#rfr�r��r#r�r�r���TEST_MODULEr�rar�r�r��r-rGr�r�r
r
r�test_next_over_importns
�
z#StateTestCase.test_next_over_importc	Cs8ddddddddg|_t|��}|�t�W5QRXdS)Nr�r�r�r�r�r�r�r�r�r
r
r�test_next_on_plain_statement|s�
z*StateTestCase.test_next_on_plain_statementc
Cs<dddddddddd	g
|_t|��}|�t�W5QRXdS)
Nr�r�r�r��r��r�r�r�r�r�r�r�r�r
r
r�test_next_in_caller_frame�s�
z'StateTestCase.test_next_in_caller_framecCs@dddddddddddd	g|_t|��}|�t�W5QRXdS)
Nr�r�r�r�r��ry�ryr�r�r�r�r�r�r
r
r�test_return�s�
zStateTestCase.test_returnc
Cs<dddddddddd	g
|_t|��}|�t�W5QRXdS)
Nr�r�r�r�rrr	)ryr�r�r�r�r�r
r
r�test_return_in_caller_frame�s�
z)StateTestCase.test_return_in_caller_framec
Cs<ddddddddddg
|_t|��}|�t�W5QRXdS)	Nr�r�r�r�r�)r�)r�r�r�r�r�r
r
r�
test_until�s�
zStateTestCase.test_untilc	CsLdtd�dddddddigffdd	d
g|_t|��}|�t�W5QRXdS)Nr�r�)r�rfr�r�r#rfr)r�)i'r
r�)r�rar�r�r�r�r
r
r�test_until_with_too_large_count�s�
z-StateTestCase.test_until_with_too_large_countc
Cs<dddddddddd	g
|_t|��}|�t�W5QRXdS)
Nr�r�r�r�rr)r�)r�)r#r�r�r�r�r�r
r
r�test_until_in_caller_frame�s�
z(StateTestCase.test_until_in_caller_framec
Cs`d}t|i}t|��Bddddg|_dddtf}t||d	��}|�t�W5QRXW5QRXdS)
Nr�r�r�rr�z
importlib*Z	zipimportzencodings.*r^r)r-rGr�r_r�r
r
r�	test_skip�s
�zStateTestCase.test_skipcCs"tdgd�}|�|�d�d�dS)Nz	anything*r^F)r(ZassertIsZis_skipped_module)r-�bdbr
r
r�test_skip_with_no_name_module�sz+StateTestCase.test_skip_with_no_name_modulec	Cs2ddg|_t|��}|�t|jt�W5QRXdS)Nr�)r�)rar��assertRaisesrr�r�r�r
r
r�	test_down�s
�
zStateTestCase.test_downc	Cs8ddddddddg|_t|��}|�t�W5QRXdS)Nr�r�r�r�rrr�r�r�r
r
r�test_up�s�
zStateTestCase.test_upN)rrr	r�r�r�rrrrrr
rrrrrrr
r
r
rr�Hs


r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�BreakpointTestCasec	Cs2ddg|_t|��}|�t|jt�W5QRXdS)Nr�)r�)z/non/existent/module.pyr)rar�rrr�r�r�r
r
r�test_bp_on_non_existent_module�s
�
z1BreakpointTestCase.test_bp_on_non_existent_modulec
CsZd}t|i}t|��<ddtdffg|_t|��}|�t|jt�W5QRXW5QRXdS)Nr�r�r�r�)	rr��TEST_MODULE_FNAMErar�rrr�r�rr
r
r�test_bp_after_last_statements

�
z/BreakpointTestCase.test_bp_after_last_statementcCs�d}t|i}t|��rdtdtd�dtdtd�dddddd	d	id	gffddddd
d	id
gffdg
|_t|��}|�t�W5QRXW5QRXdS)N��
            def func():
                lno = 3

            def main():
                for i in range(2):
                    func()
        r�rFT�r�rfr�r�r#r�rrfr��rr�r�rrar�r�r�rr
r
r�test_temporary_bp
s 


�	
z$BreakpointTestCase.test_temporary_bpcCs�d}t|i}t|���dtdt�dtdtd�dddddd	dd
d
igffddd
dddd	ddd
idgffddddd	dd
digffdg|_t|��}|�t�W5QRXW5QRXdS)N��
            def func():
                lno = 3

            def main():
                for i in range(3):
                    func()
        r�rFrT)r��rfr�r#r�r)r�r�r�r�rF�r��rrf�r�r"r�rrr
r
r�test_disabled_temporary_bp$s4

�
z-BreakpointTestCase.test_disabled_temporary_bpc
Csnd}t|i}t|��Pdtdtdd�dddd	dd
d	igffdg|_t|��}|�t�W5QRXW5QRXdS)Nz�
            def func(a):
                lno = 3

            def main():
                for i in range(3):
                    func(i)
        r�rFFza == 2rr�r#r�rr�rrr
r
r�test_bp_condition@s
�
z$BreakpointTestCase.test_bp_conditionc
Csnd}t|i}t|��Pdtdtdd�dddd	dd
d
igffdg|_t|��}|�t�W5QRXW5QRXdS)Nzk
            def func(a):
                lno = 3

            def main():
                func(0)
        r�rFFz1 / 0rr�r#r�rr�rrr
r
r�)test_bp_exception_on_condition_evaluationTs
�
z<BreakpointTestCase.test_bp_exception_on_condition_evaluationcCsnd}t|i}t|��Pdtdt�dddddddd	d
igffdg|_t|��}|�t�W5QRXW5QRXdS)Nrr�rFr�rr"r�r#r�rrfr�rrr
r
r�test_bp_ignore_countgs
�
z'BreakpointTestCase.test_bp_ignore_countcCs�d}t|i}t|���dtdt�dtdt�dddddddd	dd
digffdd
ddd	dd
d
igffddd	ddd
igffdg|_t|��}|�t�W5QRXW5QRXdS)Nrr�rFrr'r!r�r#r�rfrr#r r�rrr
r
r� test_ignore_count_on_disabled_bp|s0
�
z3BreakpointTestCase.test_ignore_count_on_disabled_bpcCs�d}t|i}t|���ddtdffddtdffddtdffddddd	d
d
igffdddd	dd
igffdtdffddddd	dd
igffdg|_t|��}|�t�W5QRXW5QRXdS)Nz�
            def func():
                lno = 3
                lno = 4

            def main():
                for i in range(3):
                    func()
        r�r�r�rr�r�r#rFrr�)r�r�rFrfr�)rr�rrar�r�r�rr
r
r�test_clear_two_bp_on_same_line�s,	




�

z1BreakpointTestCase.test_clear_two_bp_on_same_linec	Cs:ddtdffg|_t|��}|�t|jt�W5QRXdS)Nr�r�r)r7rar�rrr�r�r�r
r
r�test_clear_at_no_bp�s

�
z&BreakpointTestCase.test_clear_at_no_bpN)
rrr	rrrr$r%r&r(r)r*r+r
r
r
rr�s
rc@seZdZdd�Zdd�ZdS)�RunTestCasec	CsBd}ddddg|_t|��}|�tt�|�dd��W5QRXdS)Nz
            lno = 2
        )r#rf�<module>r�)ryrfr-r�z<string>�exec)rar��run�compiler�r�)r-rGr�r
r
r�
test_run_step�s�
zRunTestCase.test_run_stepcCsld}t|i}t|��Nddddddddddg
|_d	dl}t|��}|�d
t�t��W5QRXW5QRXdS)Nr�)r#rr-r�)rprfr�)r#r�r�)ryr�r�)ryrr-r�rztest_module_for_bdb.main())rr�rar�r�Zrunevalr8�locals)r-rGr�r�r�r
r
r�test_runeval_step�s"
�
zRunTestCase.test_runeval_stepN)rrr	r1r3r
r
r
rr,�sr,c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IssuesTestCasecCszd}d}t|d|i}t|��Tdtdd�ddd	d
dddigffdd
dddg
|_t|��}|�t�W5QRXW5QRXdS)Nz�
            from test_module_for_bdb_2 import func
            def main():
                func()
                lno = 5
        z9
            def func():
                lno = 3
        Ztest_module_for_bdb_2r�rFztest_module_for_bdb_2.pyrr�r#r�rr�)ryr�rF)r#r�r�r�)rr�r�rar�r�r�)r-Zcode_1Zcode_2r�r�r
r
r�+test_step_at_return_with_no_trace_in_caller�s*�
�
z:IssuesTestCase.test_step_at_return_with_no_trace_in_callercCs�d}t|i}dD]�}|j|d���t|���dtdt�dddd	dd
d
igff|fg|_|dkr||j�dd
dtfdddg�n|j�ddg�t|��}|�	t
�W5QRXW5QRXW5QRXqdS)Nz�
            def test_gen():
                yield 0
                lno = 4
                return 123

            def main():
                it = test_gen()
                next(it)
                next(it)
                lno = 11
        )rr�ryr�r��test_genrr�r#r�rryrn�
r�r�)ryr7r�r��r#r�r6)rr�r�r�rrar�r�r�r�r�)r-rGr�r�r�r
r
r�#test_next_until_return_in_generator�s0
����
z2IssuesTestCase.test_next_until_return_in_generatorcCs�d}t|i}t|��hdtdt�dddddddigffd	d
d	dd	dd	d
ddtfdddg|_t|��}|�t�W5QRXW5QRXdS)Nz�
            def test_gen():
                yield 0
                lno = 4
                yield 1
                return 123

            def main():
                for i in test_gen():
                    lno = 10
                lno = 11
        r�r6rr�r#r�rr�r8)r#r�r6)r#r�r6rn�	r�r�)r#�r�r��	rr�r�rr�rar�r�r�rr
r
r�'test_next_command_in_generator_for_loop#s,

�
z6IssuesTestCase.test_next_command_in_generator_for_loopc
Cs~d}t|i}t|��`dtdt�dddddddigffd	d
d	ddd
tfdddg|_t|��}|�t�W5QRXW5QRXdS)N�4
            def test_subgen():
                yield 0
                return 123

            def test_gen():
                x = yield from test_subgen()
                return 456

            def main():
                for i in test_gen():
                    lno = 12
                lno = 13
        r�r6rr�r#r�rr�)r#�r6rnr;r�r��r#�
r�r�r<rr
r
r�/test_next_command_in_generator_with_subiteratorBs$

�

z>IssuesTestCase.test_next_command_in_generator_with_subiteratorc
Cs�d}t|i}t|��hdtdt�dddddddigffd	d
ddtfd	d
d
dtfdddg|_t|��}|�t�W5QRXW5QRXdS)Nr>r�Ztest_subgenrr�r#r�rr	rnr�r6r;r�r�r@r�r<rr
r
r�1test_return_command_in_generator_with_subiteratoras$


�

z@IssuesTestCase.test_return_command_in_generator_with_subiteratorN)rrr	r5r9r=rBrCr
r
r
rr4�s
)r4cCstj�tttt�dSr))r�r�Zrun_unittestr�r,rr4r
r
r
r�	test_main�s�rD�__main__)N),rrr�rZunittestr�r9r��
contextlibr�	itertoolsrrZtest.supportr��	Exceptionrrr
rrbrr'r(r]r�r�r�r7r�rrr�r�r�r�ZTestCaser�r�rr,r4rDrr
r
r
r�<module>3sR@z.
J

/B"(


F1le Man4ger