Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/unittest/test/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/unittest/test/__pycache__/test_break.cpython-34.pyc

�
j fT&�@sddlZddlZddlZddlZddlZddlZddlZejeed�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����Zedkrej�ndS)�N�killzTest requires os.kill�win32zTest 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)�	TestBreakNcCsAtjtj�|_|jdk	r=tjtj|j�ndS)N)�signal�	getsignal�SIGINT�_default_handler�int_handler)�self�r�=/opt/alt/python34/lib64/python3.4/unittest/test/test_break.py�setUpszTestBreak.setUpcCs8tjtj|j�tj�tj_dtj_dS)N)	rrr�weakref�WeakKeyDictionary�unittest�signals�_results�_interrupt_handler)r
rrr�tearDownszTestBreak.tearDowncCs�tjtj�}tj�|jtjtj�|�y#tj�}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�pidrrr�testInstallHandlers

zTestBreak.testInstallHandlercCsmtj�}tj|�xMtjjD]2}||kr<Pq&||k	r&|jd�q&q&W|jd�dS)Nzodd object in result setzresult not found)r�
TestResult�registerResultrrr)r
�result�refrrr�testRegisterResult*s
zTestBreak.testRegisterResultcs�tjtj�}tj�}tj�tj|��jtjtj�|��fdd�}y||�Wntk
r��j	d�YnX�j
|j�dS)Ncs<tj�}tj|tj�d|_�j|j�dS)NT)rrrrr�breakCaughtr�
shouldStop)r!r)r
rr�test@s	z+TestBreak.testInterruptCaught.<locals>.testzKeyboardInterrupt not handled)rrrrrrr rrrrr$)r
rr!r&r)r
r�testInterruptCaught7s


zTestBreak.testInterruptCaughtcs�tjtj�tjkr+�jd�ntj�}tj�tj|��fdd�}y||�Wnt	k
r�YnX�j
d��j|j�dS)Nz&test requires SIGINT to not be ignoredcs\tj�}tj|tj�d|_�j|j�tj|tj��jd�dS)NTz#Second KeyboardInterrupt not raised)	rrrrrr$rr%r)r!r)r
rrr&Vs	z+TestBreak.testSecondInterrupt.<locals>.testz#Second KeyboardInterrupt not raised)
rrr�SIG_IGN�skipTestrrrr rrrr$)r
r!r&r)r
r�testSecondInterruptMs



zTestBreak.testSecondInterruptcCs�tj�tj�}tj|�tjtj�}tj�}tj|�|jtjtj�|�tj�}dd�}y||�Wntk
r�|j	d�YnX|j
|j�|j
|j�|j|j�dS)NcSs#tj�}tj|tj�dS)N)rrrrr)r!rrrrr&tsz&TestBreak.testTwoResults.<locals>.testzKeyboardInterrupt not handled)
rrrr rrr�assertEqualrrrr%�assertFalse)r
r!�new_handlerZresult2Zresult3r&rrr�testTwoResultsgs 



zTestBreak.testTwoResultscs�tjtj�tjkr+|jd�ntj�tjtj���fdd�}tjtj|�y#tj�}tj	|tj�Wnt
k
r�YnX|jd�dS)Nz&test requires SIGINT to not be ignoredcs�||�dS)Nr)ZframeZsignum)�handlerrrr-�sz;TestBreak.testHandlerReplacedButCalled.<locals>.new_handlerz6replaced but delegated handler doesn't raise interrupt)rrrr(r)rrrrrrr)r
r-rr)r/r�testHandlerReplacedButCalled�s

z&TestBreak.testHandlerReplacedButCalledcCsGtjdtj��}|jtj��}|j|tjj�dS)N�stream)	rZTextTestRunner�io�StringIO�runZ	TestSuiteZassertInrr)r
Zrunnerr!rrr�
testRunner�szTestBreak.testRunnercCsStj�}tj|�tj|�}~tj�tj�|j|��dS)N)rrr rr"�gcZcollectZassertIsNone)r
r!r"rrr�testWeakReferences�s


zTestBreak.testWeakReferencescCs�tj�}tj|�tj�|jtj|��|jtjtj���y#tj�}tj	|t
j�Wntk
r�YnX|j|j
�dS)N)rrr rrZremoveResultr,rrrrrrr%)r
r!rrrr�testRemoveResult�s


zTestBreak.testRemoveResultcs�t��t��t��t��tjtj�}G�fdd�dt��G����fdd�dtj�}|d�}|j�|j�jfidd6�d6�d6dd	6fg�|j�j	�g�|j|j
��|jtjtj�|�g�_g�_	|d
�}|j�|j�jfidd6�d6�d6dd	6fg�|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�kwargsrrr�__init__�sz>TestBreak.testMainInstallsHandler.<locals>.FakeRunner.__init__cs|jj|��S)N)�runArgsr:)r
r&)r!rrr4�sz9TestBreak.testMainInstallsHandler.<locals>.FakeRunner.runN)�__name__�
__module__�__qualname__r9r>r=r4r)r!rr�
FakeRunner�srBcs+eZdZ����fdd�ZdS)z2TestBreak.testMainInstallsHandler.<locals>.ProgramcsCd|_�|_�|_||_�|_�|_d|_dS)NF)�exit�	verbosity�failfast�
catchbreakr5r&r!)r
rF)rBrEr&rDrrr=�s						z;TestBreak.testMainInstallsHandler.<locals>.Program.__init__N)r?r@rAr=r)rBrEr&rDrr�Program�srGF�bufferrDrE�warningsT)�objectrrrrZTestProgramZrunTestsr+r9r>r!r)r
rrG�pr)rBrEr!r&rDr�testMainInstallsHandler�s6					(

		
z!TestBreak.testMainInstallsHandlercCsltjtj�}tj�tj�|jtjtj�|�tj�|jtjtj�|�dS)N)rrrrr�
removeHandlerr+)r
rrrr�testRemoveHandler�s


zTestBreak.testRemoveHandlercsatjtj��tj�tj��fdd��}|��jtjtj���dS)Ncs �jtjtj���dS)N)r+rrrr)rr
rrr&sz4TestBreak.testRemoveHandlerAsDecorator.<locals>.test)rrrrrrMr)r
r&r)rr
r�testRemoveHandlerAsDecorator�s

z&TestBreak.testRemoveHandlerAsDecorator)r?r@rAr	r
rrr#r'r*r.r0r5r7r8rLrNrOrrrrrs


4
rc@seZdZejZdS)�TestBreakDefaultIntHandlerN)r?r@rAr�default_int_handlerr	rrrrrP	srPc@seZdZejZdS)�TestBreakSignalIgnoredN)r?r@rArr(r	rrrrrRsrRc@seZdZejZdS)�TestBreakSignalDefaultN)r?r@rAr�SIG_DFLr	rrrrrSsrS�__main__)r6r2r�sysrrrZ
skipUnless�hasattrZskipIf�platformZTestCaserrPrRrSr?�mainrrrr�<module>s0%�%%%