Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_atexit.cpython-35.pyc



��Yf�@s�ddlZddlZddlZddlZddlmZdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�ZGdd�dej
�ZejGdd�dej
��Zedkr�ej�dS)�N)�supportcCstd�dS)N�h1)�print�rr�5/opt/alt/python35/lib64/python3.5/test/test_atexit.pyrsrcCstd�dS)N�h2)rrrrrrsrcCstd�dS)N�h3)rrrrrrsrcOstd||�dS)N�h4)r)�args�kwargsrrrr	sr	cCs
t�dS)N)�	TypeErrorrrrr�raise1sr
cCs
t�dS)N)�SystemErrorrrrr�raise2srcCs
t�dS)N)�
SystemExitrrrr�exitsrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�GeneralTestcCsHtj|_tj|_tj�|_|jt_t_tj	�dS)N)
�sys�stdout�save_stdout�stderr�save_stderr�io�StringIO�stream�atexit�_clear)�selfrrr�setUp s
zGeneralTest.setUpcCs&|jt_|jt_tj�dS)N)rrrrrrr)rrrr�tearDown'szGeneralTest.tearDowncCsWtjt�tjt�tjtddd�tj�|j|jj�d�dS)N��kw�abcz"h4 (4,) {'kw': 'abc'}
h4 () {}
h1
)r�registerrr	�_run_exitfuncs�assertEqualr�getvalue)rrrr�	test_args,s


zGeneralTest.test_argscCsFtjdd�dddd�dD�dd�|jttj�dS)	NcSsdS)N�rrrrr�<lambda>7sz*GeneralTest.test_badargs.<locals>.<lambda>rcss|]}|VqdS)Nr)�.0�xrrr�	<genexpr>7sz+GeneralTest.test_badargs.<locals>.<genexpr>r(�)r(r-)rr#�assertRaisesrr$)rrrr�test_badargs6s/zGeneralTest.test_badargscCsNtjt�tjt�tjt�tj�|j|jj�d�dS)Nz	h3
h2
h1
)	rr#rrrr$r%rr&)rrrr�
test_order:s




zGeneralTest.test_ordercCs1tjt�tjt�|jttj�dS)N)rr#r
rr.rr$)rrrr�
test_raiseCs

zGeneralTest.test_raisecCsCtjdd��|jttj�|jd|jj��dS)NcSsddS)Nr(rrrrrrr)Msz5GeneralTest.test_raise_unnormalized.<locals>.<lambda>�ZeroDivisionError)rr#r.r2r$�assertInrr&)rrrr�test_raise_unnormalizedJsz#GeneralTest.test_raise_unnormalizedcCs=tjt�|jttj�|j|jj�d�dS)N�)	rr#rr.rr$r%rr&)rrrr�	test_exitRs
zGeneralTest.test_exitcCs�dd�}dd�}dd�}tj|�tj|�tj|�|jttj�|jj�}|j|jd�d�|j	d	|�|j	d
|�|j	d|�dS)NcSsdddS)Nr(rrrrrr�f[sz,GeneralTest.test_print_tracebacks.<locals>.fcSsdddS)Nr(rrrrrr�g]sz,GeneralTest.test_print_tracebacks.<locals>.gcSsdddS)Nr(rrrrrr�h_sz,GeneralTest.test_print_tracebacks.<locals>.hr2�z# onez# twoz# three)
rr#r.r2r$rr&r%�countr3)rr7r8r9rrrr�test_print_tracebacksYs


z!GeneralTest.test_print_tracebackscsadg��fdd�}x!td�D]}tj|�q(Wtj�|j�dd�dS)Nrcs�dd7<dS)Nrr(rr)�arr�incnsz$GeneralTest.test_stress.<locals>.inc�)�rangerr#r$r%)rr>�ir)r=r�test_stressls	
zGeneralTest.test_stresscsTdg��fdd�}tj|�tj�tj�|j�dd�dS)Nrcs�dd7<dS)Nrr(rr)r=rrr>ysz#GeneralTest.test_clear.<locals>.inc)rr#rr$r%)rr>r)r=r�
test_clearws	


zGeneralTest.test_clearcs�dg��fdd�}�fdd�}x!td�D]}tj|�q:Wtj|�tj|�tj�|j�dd�dS)	Nrcs�dd7<dS)Nrr(rr)r=rrr>�sz(GeneralTest.test_unregister.<locals>.inccs�dd8<dS)Nrr(rr)r=rr�dec�sz(GeneralTest.test_unregister.<locals>.decr r(���)r@rr#�
unregisterr$r%)rr>rDrAr)r=r�test_unregister�s	


zGeneralTest.test_unregistercCsgg}tj|jd�tj�|j|dg�tj|j�tj�|j|dg�dS)N�)rr#�appendr$r%rF)r�lrrr�test_bound_methods�s

zGeneralTest.test_bound_methodsN)�__name__�
__module__�__qualname__rrr'r/r0r1r4r6r<rBrCrGrKrrrrrs
	rc@s(eZdZdd�Zdd�ZdS)�SubinterpreterTestcCsKtj�}d}tj|�}|j|d�|jtj�|�dS)Nz�if 1:
            import atexit
            def f():
                pass
            atexit.register(f)
            del atexit
            r)r�_ncallbacksr�run_in_subinterpr%)r�n�code�retrrr�test_callbacks_leak�s
z&SubinterpreterTest.test_callbacks_leakcCsKtj�}d}tj|�}|j|d�|jtj�|�dS)Nz�if 1:
            import atexit
            def f():
                pass
            atexit.register(f)
            atexit.__atexit = atexit
            r)rrPrrQr%)rrRrSrTrrr�test_callbacks_leak_refcycle�s
z/SubinterpreterTest.test_callbacks_leak_refcycleN)rLrMrNrUrVrrrrrO�srO�__main__)rZunittestrrZtestrrrrr	r
rrZTestCaserZcpython_onlyrOrL�mainrrrr�<module>s ~"