Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_frame.cpython-34.pyc

�
f f��@s�ddlZddlZddlZddlZddlZddlmZGdd�dej�ZGdd�dej�Z	dd�Z
ed	kr�e
�ndS)
�N)�supportc@s�eZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
ejdd��Z
dS)�	ClearTestz"
    Tests for frame.clear().
    �cKsdddS)N�r�)�self�x�kwargsrr�4/opt/alt/python34/lib64/python3.4/test/test_frame.py�innerszClearTest.innercKsCy|j|�Wn+tk
r>}z|}WYdd}~XnX|S)N)r�ZeroDivisionError)rr	�e�excrrr
�outers
zClearTest.outercCs-x&|dk	r(|jj�|j}qWdS)z2
        Clear all frames in a traceback.
        N)�tb_frame�clear�tb_next)r�tbrrr
�clear_traceback_framess
z ClearTest.clear_traceback_framescCs�Gdd�d�}|�}tj|�}|jd|�}~tj�|jd|��|j|j�tj�|jd|��dS)Nc@seZdZdS)z&ClearTest.test_clear_locals.<locals>.CN)�__name__�
__module__�__qualname__rrrr
�C"sr�c)	�weakref�refrrZ
gc_collect�assertIsNotr�
__traceback__�assertIs)rrr�wrrrrr
�test_clear_locals!s	

zClearTest.test_clear_localscsVd��fdd�}|�}t|�|j��|jj�|j��dS)NFc
3szdVt�Wdd�XdS)NT)rr)�endlyrr
�g2sz)ClearTest.test_clear_generator.<locals>.g)�next�assertFalse�gi_framer�
assertTrue)rr"�genr)r!r
�test_clear_generator0s	


zClearTest.test_clear_generatorcCs�yddWn1tk
r?}z|jj}WYdd}~XnX|jt��|j�WdQX|jt��|jj�WdQXdS)Nrr)rrr�assertRaises�RuntimeErrorr�f_back)rr
�frrr
�test_clear_executing@szClearTest.test_clear_executingcsXd���fdd�}|�}t|�}�j��|j��j��dS)NFc 3s�z�yddWnytk
r�}zY|jj}�jt��|j�WdQX�jt��|jj�WdQX|VWYdd}~XnXWdd�XdS)NrrT)rrrr)r*rr+)r
r,)r!rrr
r"Nsz3ClearTest.test_clear_executing_generator.<locals>.g)r#r$rr&)rr"r'r,r)r!rr
�test_clear_executing_generatorKs
	

z(ClearTest.test_clear_executing_generatorc
Cs�tj��{Gdd�d�}|�}tj|�}|jd|�}~|jd|��|j|j�|jd|��WdQXdS)Nc@seZdZdS)z)ClearTest.test_clear_refcycles.<locals>.CN)rrrrrrr
rfsrr)	rZ
disable_gcrrrrrrr)rrrrrrrr
�test_clear_refcyclesbs
	zClearTest.test_clear_refcyclesN)rrr�__doc__rrrr r(r-r.rZcpython_onlyr/rrrr
r
src@sFeZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�FrameLocalsTestz,
    Tests for the .f_locals attribute.
    cCsxdd�}y|�WnZtk
rs}z:|j}g}x#|r`|j|j�|j}q>WWYdd}~XnX|S)Ncs%d�d}�fdd�}|�S)Nr�cs�d}ddd}dS)N�rr�	r)�z�t)rrr
rzs
z9FrameLocalsTest.make_frames.<locals>.outer.<locals>.innerr)�yrr)rr
rwsz*FrameLocalsTest.make_frames.<locals>.outer)rr�appendrr)rrr
rZframesrrr
�make_framesvs		 zFrameLocalsTest.make_framescCs�|j�\}}}|j}|j|jd�tj�|j|idd6dd6�|j}|j|idd6dd6�dS)Nrrrr2r7�r5)r9�f_localsZassertIsInstance�pop�types�FunctionType�assertEqual)rr,rrZouter_localsZinner_localsrrr
�test_locals�s		zFrameLocalsTest.test_localscCsS|j�\}}}|j�|j�|j|ji�|j|ji�dS)N)r9rr?r;)rr,rrrrr
r �s


z!FrameLocalsTest.test_clear_localscCsa|j�\}}}|j|j|j�|j�|j|ji�|j|ji�dS)N)r9r;rr?)rr,rrrrr
�test_locals_clear_locals�s

z(FrameLocalsTest.test_locals_clear_localsN)rrrr0r9r@r rArrrr
r1qs
r1cCstjt�dS)N)rZrun_unittestrrrrr
�	test_main�srB�__main__)�gc�sysr=ZunittestrZtestrZTestCaserr1rBrrrrr
�<module>sg3