Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/unittest/test/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/unittest/test/__pycache__/test_break.cpython-36.pyc

3

� f�&�@shddlZddlZddlZddlZddlZddlZddlZejeed�d�ej	ej
dkd�ej	ej
dkd�Gdd	�d	ej����Zejeed�d�ej	ej
dkd�ej	ej
dkd�Gd
d�de����Z
ejeed�d�ej	ej
dkd�ej	ej
dkd�Gdd
�d
e����Zejeed�d�ej	ej
dkd�ej	ej
dkd�Gdd�de����Zedk�rdej�dS)�N�killzTest requires os.killZwin32zTest cannot run on WindowsZfreebsd6z9Test kills regrtest on freebsd6 if threads have been usedc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�	TestBreakNcCs,tjtj�|_|jdk	r(tjtj|j�dS)N)�signal�	getsignal�SIGINT�_default_handler�int_handler)�self�r
�=/opt/alt/python36/lib64/python3.6/unittest/test/test_break.py�setUps
zTestBreak.setUpcCs(tjtj|j�tj�tj_dtj_dS)N)	rrr�weakref�WeakKeyDictionary�unittest�signals�_results�_interrupt_handler)r	r
r
r�tearDownszTestBreak.tearDowncCsvtjtj�}tj�|jtjtj�|�ytj�}tj|tj�Wnt	k
r`|j
d�YnX|jtjj
j�dS)NzKeyboardInterrupt not handled)rrrr�installHandler�assertNotEqual�os�getpidr�KeyboardInterrupt�fail�
assertTruerrZcalled)r	�default_handler�pidr
r
r�testInstallHandlerszTestBreak.testInstallHandlercCsHtj�}|j|tjj�tj|�z|j|tjj�Wdtj|�XdS)N)r�
TestResultZassertNotInrr�registerResult�assertIn�removeResult)r	�resultr
r
r�testRegisterResult*s
zTestBreak.testRegisterResultcs�tjtj�}tj�}tj�tj|��jtjtj�|��fdd�}y||�Wntk
rp�j	d�YnX�j
|j�dS)Ncs,tj�}tj|tj�d|_�j|j�dS)NT)rrrrr�breakCaughtr�
shouldStop)r"r)r	r
r�test=sz+TestBreak.testInterruptCaught.<locals>.testzKeyboardInterrupt not handled)rrrrrrrrrrrr$)r	rr"r&r
)r	r�testInterruptCaught4s
zTestBreak.testInterruptCaughtcs~tjtj�tjkr�jd�tj�}tj�tj|��fdd�}y||�Wnt	k
rbYnX�j
d��j|j�dS)Nz&test requires SIGINT to not be ignoredcsDtj�}tj|tj�d|_�j|j�tj|tj��jd�dS)NTz#Second KeyboardInterrupt not raised)	rrrrrr$rr%r)r"r)r	r
rr&Ssz+TestBreak.testSecondInterrupt.<locals>.testz#Second KeyboardInterrupt not raised)
rrr�SIG_IGN�skipTestrrrrrrrr$)r	r"r&r
)r	r�testSecondInterruptJs


zTestBreak.testSecondInterruptcCs�tj�tj�}tj|�tjtj�}tj�}tj|�|jtjtj�|�tj�}dd�}y||�Wntk
r�|j	d�YnX|j
|j�|j
|j�|j|j�dS)NcSstj�}tj|tj�dS)N)rrrrr)r"rr
r
rr&qsz&TestBreak.testTwoResults.<locals>.testzKeyboardInterrupt not handled)
rrrrrrr�assertEqualrrrr%�assertFalse)r	r"�new_handlerZresult2Zresult3r&r
r
r�testTwoResultsds 

zTestBreak.testTwoResultscs�tjtj�tjkr|jd�tj�tjtj���fdd�}tjtj|�ytj�}tj	|tj�Wnt
k
rxYnX|jd�dS)Nz&test requires SIGINT to not be ignoredcs�||�dS)Nr
)�frameZsignum)�handlerr
rr-�sz;TestBreak.testHandlerReplacedButCalled.<locals>.new_handlerz6replaced but delegated handler doesn't raise interrupt)rrrr(r)rrrrrrr)r	r-rr
)r0r�testHandlerReplacedButCalleds
z&TestBreak.testHandlerReplacedButCalledcCs2tjtj�d�}|jtj��}|j|tjj�dS)N)�stream)	rZTextTestRunner�io�StringIO�runZ	TestSuiter rr)r	Zrunnerr"r
r
r�
testRunner�szTestBreak.testRunnercCs>tj�}tj|�tj|�}~tj�tj�|j|��dS)N)rrrr
�ref�gcZcollectZassertIsNone)r	r"r7r
r
r�testWeakReferences�s

zTestBreak.testWeakReferencescCs~tj�}tj|�tj�|jtj|��|jtjtj���ytj�}tj	|t
j�Wntk
rlYnX|j|j
�dS)N)rrrrrr!r,rrrrrrr%)r	r"rr
r
r�testRemoveResult�s
zTestBreak.testRemoveResultc	s(t��t��t��t��tjtj�}G�fdd�dt��G����fdd�dtj�}|d�}|j�|j�jfd��ddd�fg�|j�j	�g�|j|j
��|jtjtj�|�g�_g�_	|d�}|j�|j�jfd��ddd�fg�|j�j	�g�|j|j
��|jtjtj�|�dS)Ncs(eZdZgZgZdd�Z�fdd�ZdS)z5TestBreak.testMainInstallsHandler.<locals>.FakeRunnerc_s|jj||f�dS)N)�initArgs�append)r	�args�kwargsr
r
r�__init__�sz>TestBreak.testMainInstallsHandler.<locals>.FakeRunner.__init__cs|jj|��S)N)�runArgsr<)r	r&)r"r
rr5�sz9TestBreak.testMainInstallsHandler.<locals>.FakeRunner.runN)�__name__�
__module__�__qualname__r;r@r?r5r
)r"r
r�
FakeRunner�srDcseZdZ����fdd�ZdS)z2TestBreak.testMainInstallsHandler.<locals>.Programcs4d|_�|_�|_||_d|_�|_�|_d|_dS)NF)�exit�	verbosity�failfast�
catchbreak�	tb_localsr6r&r")r	rH)rDrGr&rFr
rr?�sz;TestBreak.testMainInstallsHandler.<locals>.Program.__init__N)rArBrCr?r
)rDrGr&rFr
r�Program�srJF)�bufferrFrGrI�warningsT)�objectrrrrZTestProgramZrunTestsr+r;r@r"r)r	rrJ�pr
)rDrGr"r&rFr�testMainInstallsHandler�s:	z!TestBreak.testMainInstallsHandlercCsPtjtj�}tj�tj�|jtjtj�|�tj�|jtjtj�|�dS)N)rrrrr�
removeHandlerr+)r	rr
r
r�testRemoveHandler�szTestBreak.testRemoveHandlercsFtjtj��tj�tj��fdd��}|��jtjtj���dS)Ncs�jtjtj���dS)N)r+rrrr
)rr	r
rr&sz4TestBreak.testRemoveHandlerAsDecorator.<locals>.test)rrrrrrPr)r	r&r
)rr	r�testRemoveHandlerAsDecorator�s
z&TestBreak.testRemoveHandlerAsDecorator)rArBrCrrrrr#r'r*r.r1r6r9r:rOrQrRr
r
r
rrs


7
rc@seZdZejZdS)�TestBreakDefaultIntHandlerN)rArBrCr�default_int_handlerrr
r
r
rrS	srSc@seZdZejZdS)�TestBreakSignalIgnoredN)rArBrCrr(rr
r
r
rrUsrUc@seZdZejZdS)�TestBreakSignalDefaultN)rArBrCr�SIG_DFLrr
r
r
rrVsrV�__main__)r8r3r�sysrr
rZ
skipUnless�hasattrZskipIf�platformZTestCaserrSrUrVrA�mainr
r
r
r�<module>s2{