o
    Óó·iÖ  ã                   @  sv   d Z ddlmZ ddlmZ ddlmZmZmZ G dd„ dej	ƒZ
G dd„ de
ƒZG d	d
„ d
e
ƒZG dd„ de
ƒZdS )z.
Tests for interrupting tests with Control-C.
é    )Úannotations)ÚStringIO)ÚreporterÚrunnerÚunittestc                   @  s   e Zd Zddd„ZdS )Ú	TrialTestÚreturnÚNonec                 C  s    t ƒ | _t ¡ | _t ¡ | _d S ©N)r   Úoutputr   Z
TestResultr   Z
TestLoaderÚloader©Úself© r   úfC:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\twisted/trial/test/test_keyboard.pyÚsetUp   s   
zTrialTest.setUpN©r   r	   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   c                      sN   e Zd ZU ded< G dd„ dejƒZd‡ fdd„Zdd	d
„Zddd„Z	‡  Z
S )ÚInterruptInTestTestszbool | NoneÚtest_03_doNothing_runc                   @  ó*   e Zd Zd
dd„Zd
dd„Zd
dd„Zd	S )z$InterruptInTestTests.InterruptedTestr   r	   c                 C  s   t ‚r
   )ÚKeyboardInterruptr   r   r   r   Útest_02_raiseInterrupt   ó   z;InterruptInTestTests.InterruptedTest.test_02_raiseInterruptc                 C  s   d S r
   r   r   r   r   r   Útest_01_doNothing   r   z6InterruptInTestTests.InterruptedTest.test_01_doNothingc                 C  s
   dt _d S )NT)r   r   r   r   r   r   Útest_03_doNothing   s   
z6InterruptInTestTests.InterruptedTest.test_03_doNothingNr   )r   r   r   r   r   r   r   r   r   r   ÚInterruptedTest   s    

r   r   r	   c                   s$   t ƒ  ¡  | j tj¡| _d t_d S r
   )Úsuperr   r   Ú	loadClassr   r   Úsuiter   r   ©Ú	__class__r   r   r   "   s   

zInterruptInTestTests.setUpc                 C  s4   |   d| j ¡ ¡ |   d| jj¡ |  | jj¡ d S )Né   r   )ÚassertEqualr!   ÚcountTestCasesr   ÚtestsRunÚassertFalseÚ
shouldStopr   r   r   r   Útest_setUpOK'   s   z!InterruptInTestTests.test_setUpOKc                 C  óF   t  | jg¡ | j¡ |  | jj¡ |  d| jj¡ |  	t
jd¡ d S )Né   ztest_03_doNothing ran.)r   Ú
TrialSuiter!   Úrunr   Ú
assertTruer)   r%   r'   r(   r   r   r   r   r   r   Útest_interruptInTest,   s   ÿz)InterruptInTestTests.test_interruptInTestr   )r   r   r   Ú__annotations__r   ÚTestCaser   r   r*   r0   Ú__classcell__r   r   r"   r   r      s   
 

r   c                      óR   e Zd ZU dZded< G dd„ dejƒZd‡ fdd	„Zdd
d„Z	ddd„Z
‡  ZS )ÚInterruptInSetUpTestsr   ÚboolÚtest_02_runc                   @  r   )z%InterruptInSetUpTests.InterruptedTestr   r	   c                 C  ó   t jdkrt‚d S ©Nr   )r5   r'   r   r   r   r   r   r   :   ó   
ÿz+InterruptInSetUpTests.InterruptedTest.setUpc                 C  ó   t  jd7  _d S ©Né   )r5   r'   r   r   r   r   Útest_01>   ó   z-InterruptInSetUpTests.InterruptedTest.test_01c                 C  ó   t  jd7  _dt _d S ©Nr=   T)r5   r'   r7   r   r   r   r   Útest_02A   ó   
z-InterruptInSetUpTests.InterruptedTest.test_02Nr   )r   r   r   r   r>   rB   r   r   r   r   r   9   ó    

r   r   r	   c                   ó*   t ƒ  ¡  | j tj¡| _dt_dt_d S )NFr   )	r   r   r   r    r5   r   r!   r7   r'   r   r"   r   r   r   E   ó   

zInterruptInSetUpTests.setUpc                 C  óB   |   dtj¡ |   d| j ¡ ¡ |   d| jj¡ |  | jj¡ d S ©Nr   r,   )r%   r5   r'   r!   r&   r   r(   r)   r   r   r   r   r*   K   ó   z"InterruptInSetUpTests.test_setUpOKc                 C  r+   )Nr,   útest_02 ran)r   r-   r!   r.   r   r/   r)   r%   r'   r(   r5   r7   r   r   r   r   Útest_interruptInSetUpQ   s   z+InterruptInSetUpTests.test_interruptInSetUpr   )r   r   r   r'   r1   r   r2   r   r   r*   rK   r3   r   r   r"   r   r5   5   ó   
 
r5   c                      r4   )ÚInterruptInTearDownTestsr   r6   r7   c                   @  r   )z(InterruptInTearDownTests.InterruptedTestr   r	   c                 C  r8   r9   )rM   r'   r   r   r   r   r   ÚtearDown]   r:   z1InterruptInTearDownTests.InterruptedTest.tearDownc                 C  r;   r<   )rM   r'   r   r   r   r   r>   a   r?   z0InterruptInTearDownTests.InterruptedTest.test_01c                 C  r@   rA   )rM   r'   r7   r   r   r   r   rB   d   rC   z0InterruptInTearDownTests.InterruptedTest.test_02Nr   )r   r   r   rN   r>   rB   r   r   r   r   r   \   rD   r   r   r	   c                   rE   )Nr   F)	r   r   r   r    rM   r   r!   r'   r7   r   r"   r   r   r   h   rF   zInterruptInTearDownTests.setUpc                 C  rG   rH   )r%   rM   r'   r!   r&   r   r(   r)   r   r   r   r   r*   n   rI   z%InterruptInTearDownTests.test_setUpOKc                 C  sF   t  | jg¡ | j¡ |  d| jj¡ |  | jj¡ |  	t
jd¡ d S )Nr=   rJ   )r   r-   r!   r.   r   r%   r'   r/   r)   r(   rM   r7   r   r   r   r   Útest_interruptInTearDownt   s   z1InterruptInTearDownTests.test_interruptInTearDownr   )r   r   r   r'   r1   r   r2   r   r   r*   rO   r3   r   r   r"   r   rM   X   rL   rM   N)Ú__doc__Ú
__future__r   Úior   Ztwisted.trialr   r   r   ZSynchronousTestCaser   r   r5   rM   r   r   r   r   Ú<module>   s    #