Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/unittest/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/unittest/test/__pycache__/test_break.cpython-310.pyc

o

0�i%�@s"ddlZddlZddlZddlZddlZddlZddlZe�eed�d�e�	ej
dkd�Gdd�dej���Ze�eed�d�e�	ej
dkd�Gdd	�d	e���Z
e�eed�d�e�	ej
dkd�Gd
d�de���Ze�eed�d�e�	ej
dkd�Gdd
�d
e���Zedkr�e��dSdS)�N�killzTest requires os.killZwin32zTest cannot run on Windowsc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�	TestBreakNcCs0t�tj�|_|jdurt�tj|j�dSdS�N)�signal�	getsignal�SIGINT�_default_handler�int_handler��self�r�?/opt/alt/python310/lib64/python3.10/unittest/test/test_break.py�setUps
�zTestBreak.setUpcCs(t�tj|j�t��tj_dtj_dSr)	rrr�weakref�WeakKeyDictionary�unittest�signals�_results�_interrupt_handlerr
rrr
�tearDownszTestBreak.tearDowncCstt�tj�}t��|�t�tj�|�z
t��}t�|tj�Wnt	y/|�
d�Ynw|�tjj
j�dS)N�KeyboardInterrupt not handled)rrrr�installHandler�assertNotEqual�os�getpidr�KeyboardInterrupt�fail�
assertTruerrZcalled)r�default_handler�pidrrr
�testInstallHandlers�zTestBreak.testInstallHandlerc	CsPt��}|�|tjj�t�|�z|�|tjj�Wt�|�dSt�|�wr)r�
TestResultZassertNotInrr�registerResult�assertIn�removeResult)r�resultrrr
�testRegisterResult(s
zTestBreak.testRegisterResultcs�t�tj�}t��}t��t�|���t�tj�|��fdd�}z||�Wnty7��	d�Ynw��
|j�dS)Ncs,t��}t�|tj�d|_��|j�dS)NT)rrrrr�breakCaughtr�
shouldStop�r%rr
rr
�test;sz+TestBreak.testInterruptCaught.<locals>.testr)rrrrr!rr"rrrrr')rrr%r*rr
r
�testInterruptCaught2s
�zTestBreak.testInterruptCaughtcs|t�tj�tjkr��d�t��}t��t�|��fdd�}z||�Wn	t	y0Ynw��
d���|j�dS)N�&test requires SIGINT to not be ignoredcsDt��}t�|tj�d|_��|j�t�|tj���d�dS)NT�#Second KeyboardInterrupt not raised)	rrrrrr'rr(rr)r
rr
r*Qsz+TestBreak.testSecondInterrupt.<locals>.testr-)
rrr�SIG_IGN�skipTestrr!rr"rrrr')rr%r*rr
r
�testSecondInterruptHs

�
zTestBreak.testSecondInterruptcCs�t��t��}t�|�t�tj�}t��}t�|�|�t�tj�|�t��}dd�}z||�WntyB|�	d�Ynw|�
|j�|�
|j�|�|j�dS)NcSst��}t�|tj�dSr)rrrrrr)rrr
r*osz&TestBreak.testTwoResults.<locals>.testr)
rrr!r"rrr�assertEqualrrrr(�assertFalse)rr%�new_handlerZresult2Zresult3r*rrr
�testTwoResultsbs"

�zTestBreak.testTwoResultscs�t�tj�tjkr|�d�t��t�tj���fdd�}t�tj|�z
t��}t�	|tj�Wn
t
y<YdSw|�d�dS)Nr,cs�||�dSrr)�frameZsignum�Zhandlerrr
r3�sz;TestBreak.testHandlerReplacedButCalled.<locals>.new_handlerz6replaced but delegated handler doesn't raise interrupt)rrrr.r/rrrrrrr)rr3rrr6r
�testHandlerReplacedButCalled}s
�z&TestBreak.testHandlerReplacedButCalledcCs2tjt��d�}|�t���}|�|tjj�dS)N)�stream)	rZTextTestRunner�io�StringIO�runZ	TestSuiter#rr)rZrunnerr%rrr
�
testRunner�szTestBreak.testRunnercCs>t��}t�|�t�|�}~t��t��|�|��dSr)rr!r"r�ref�gcZcollectZassertIsNone)rr%r=rrr
�testWeakReferences�s

zTestBreak.testWeakReferencescCs|t��}t�|�t��|�t�|��|�t�t����z
t��}t�	|t
j�Wn	ty5Ynw|�|j
�dSr)rr!r"rrr$r2rrrrrrr()rr%rrrr
�testRemoveResult�s
�zTestBreak.testRemoveResultc
s(t��t��t��t��t�tj�}G�fdd�dt��G����fdd�dtj�}|d�}|��|��jdd��ddd�fg�|��j	�g�|�|j
��|�t�tj�|�g�_g�_	|d�}|��|��jdd��ddd�fg�|��j	�g�|�|j
��|�t�tj�|�dS)	Ncs(eZdZgZgZdd�Z�fdd�ZdS)z5TestBreak.testMainInstallsHandler.<locals>.FakeRunnerc_s|j�||f�dSr)�initArgs�append)r�args�kwargsrrr
�__init__�sz>TestBreak.testMainInstallsHandler.<locals>.FakeRunner.__init__cs|j�|��Sr)�runArgsrB�rr*�r%rr
r;�sz9TestBreak.testMainInstallsHandler.<locals>.FakeRunner.runN)�__name__�
__module__�__qualname__rArFrEr;rrHrr
�
FakeRunner�s
rLcseZdZ����fdd�ZdS)z2TestBreak.testMainInstallsHandler.<locals>.Programcs4d|_�|_�|_||_d|_�|_�|_d|_dS)NF)�exit�	verbosity�failfast�
catchbreak�	tb_localsr<r*r%)rrP�rLrOr*rNrr
rE�s
z;TestBreak.testMainInstallsHandler.<locals>.Program.__init__N)rIrJrKrErrRrr
�Program�srSFr)�bufferrNrOrQ�warningsT)�objectrrrrZTestProgramZrunTestsr1rArFr%r)rrrS�pr)rLrOr%r*rNr
�testMainInstallsHandler�s>	��z!TestBreak.testMainInstallsHandlercCsPt�tj�}t��t��|�t�tj�|�t��|�t�tj�|�dSr)rrrrr�
removeHandlerr1)rrrrr
�testRemoveHandler�szTestBreak.testRemoveHandlercsFt�tj��t��tj��fdd��}|���t�tj���dS)Ncs��t�tj���dSr)r1rrrr�rrrr
r*sz4TestBreak.testRemoveHandlerAsDecorator.<locals>.test)rrrrrrYrrGrr[r
�testRemoveHandlerAsDecorator�sz&TestBreak.testRemoveHandlerAsDecorator)rIrJrKr	rrr r&r+r0r4r7r<r?r@rXrZr\rrrr
rs 


7
rc@�eZdZejZdS)�TestBreakDefaultIntHandlerN)rIrJrKr�default_int_handlerr	rrrr
r^�
r^c@r])�TestBreakSignalIgnoredN)rIrJrKrr.r	rrrr
rar`rac@r])�TestBreakSignalDefaultN)rIrJrKr�SIG_DFLr	rrrr
rbr`rb�__main__)r>r9r�sysrrrZ
skipUnless�hasattrZskipIf�platformZTestCaserr^rarbrI�mainrrrr
�<module>s.{�