File: //usr/local/lib/python3.7/unittest/test/__pycache__/test_break.cpython-37.opt-2.pyc
B
"��g% � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZe�eed�d�e� ej
dkd�G dd� dej���Ze�eed�d�e� ej
dkd�G dd � d e���Z
e�eed�d�e� ej
dkd�G d
d� de���Ze�eed�d�e� ej
dkd�G dd
� d
e���Zedk�re�� dS )� N�killzTest requires os.kill�win32zTest cannot run on Windowsc @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� ZdS )� TestBreakNc C s, t �t j�| _| jd k r(t � t j| j� d S )N)�signal� getsignal�SIGINT�_default_handler�int_handler)�self� r �4/usr/local/lib/python3.7/unittest/test/test_break.py�setUp s
zTestBreak.setUpc C s( t � t j| j� t�� tj_d tj_d S )N) r r r �weakref�WeakKeyDictionary�unittest�signals�_results�_interrupt_handler)r
r r r �tearDown s zTestBreak.tearDownc C sv t �t j�}t�� | �t �t j�|� yt�� }t�|t j� W n t k
r` | �
d� Y nX | �tjj
j� d S )NzKeyboardInterrupt not handled)r r r r �installHandler�assertNotEqual�os�getpidr �KeyboardInterrupt�fail�
assertTruer r Zcalled)r
�default_handler�pidr r r �testInstallHandler s zTestBreak.testInstallHandlerc C sH t �� }| �|t jj� t �|� z| �|t jj� W d t �|� X d S )N)r �
TestResultZassertNotInr r �registerResult�assertIn�removeResult)r
�resultr r r �testRegisterResult( s
zTestBreak.testRegisterResultc s� t �t j�}t�� }t�� t�|� � �t �t j�|� � fdd�}y||� W n tk
rp � � d� Y nX � �
|j� d S )Nc s, t �� }t �|tj� d| _� �| j� d S )NT)r r r r r �breakCaughtr �
shouldStop)r# r )r
r r �test; s z+TestBreak.testInterruptCaught.<locals>.testzKeyboardInterrupt not handled)r r r r r r r r r r r r% )r
r r# r'