Your IP : 216.73.216.196


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

o

0�i�@s~ddlZddlZddlZddlZddlZddlmZddlmZej	Z
Gdd�d�ZGdd�dej�Ze
dkr=e��dSdS)	�N)�support)�threading_helperc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TimercCst��|_d|_d|_dS)Nr)�	threadingZ	Condition�_cond�_time�_stop��self�r�6/opt/alt/python310/lib64/python3.10/test/test_sched.py�__init__s

zTimer.__init__cCs0|j�|jWd�S1swYdS�N)rrr	rrr�times$�z
Timer.timecCsb|j�$||j7}|j|kr|j|_|j��|j|ks||_Wd�dS1s*wYdSr)rrr�wait�r
�trrr�sleeps



�"�zTimer.sleepcCsD|j�|j|7_|j��Wd�dS1swYdSr)rrZ
notify_allrrrr�advance"s"�z
Timer.advanceN)�__name__�
__module__�__qualname__r
rrrrrrrr
s

rc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestCasec�Xg��fdd�}t�tjtj�}dD]}|�|d||f�}q|��|��gd��dS)Nc�
��|�Sr��append��x��lrr�<lambda>-�
z%TestCase.test_enter.<locals>.<lambda>)��?皙�����?�333333�?皙�����?皙�����?�)r'r&r%r$r#��sched�	schedulerrr�enter�run�assertEqual�r
�funr+r�zrrr�
test_enter+�zTestCase.test_entercr)Ncrrrrrrrr!6r"z(TestCase.test_enterabs.<locals>.<lambda>�皙�����?�{�G�z�?���Q��?�{�G�z�?�{�G�z�?r()r9r8r7r6r5)r*r+rr�enterabsr-r.r/rrr�
test_enterabs4r3zTestCase.test_enterabscCstt��}|j}t�}t�|j|j�}|�dd|d�|�dd|d�t	j
|jd�}|��|�
d�|�|jtd�d�|�|���dD]
}|�|dd||f�}qE|�
d�|�|jtd�d�|�|jtd�d�|�|���|�
d�|�|jtd�d	�|�|���|�
d�|�|jtd�d
�|�|���|�
d�t�|�|�|���|�|��d
�dS)Nr(�r(��r=��target�Ztimeout)���rDrBrC��)�queue�Queue�putrr*r+rrr,r�Threadr-�startrr.�get�TIMEOUT�
assertTrue�emptyr�join_thread)r
�qr0�timerr+rrr1rrr�test_enter_concurrent=s6





zTestCase.test_enter_concurrentc	s�g��fdd�}t�tjtj�}gd�gd�fgd�gd�fgd�gd�fgd�gd�fg}|D]>\}}|j||d��+|D]}|�d	|||f�q>|��|��|�|�|�	����
�Wd�n1siwYq0dS)
Ncrrrrrrrr!\r"z(TestCase.test_priority.<locals>.<lambda>)r(rDr=rBrC)rCrBr=rDr()rDrCr=r(rB)r(rDr=rDr()r(r(rDrDr=)�
priorities�expectedr9)r*r+rrZsubTestr:r-r.rMrN�clear)r
r0r+�casesrSrTZpriorityrrr�
test_priorityZs&�
���zTestCase.test_priorityc	s�g��fdd�}t�tjtj�}t��}|�|dd|d�}|�|dd|d�}|�|dd|d	�}|�|d
d|d�}|�|dd|d
�}|�|�|�|�|��|��gd��dS)Ncrrrrrrrr!rr"z&TestCase.test_cancel.<locals>.<lambda>r9r()r9r8)r8r7)r7r6)r6r5)r5)r8r7r6)r*r+rrr:�cancelr-r.)	r
r0r+�now�event1�event2�event3�event4�event5rrr�test_cancelps

zTestCase.test_cancelcCs�t��}|j}t�}t�|j|j�}|��}|�|dd|d�}|�|dd|d�}|�|dd|d�}|�|dd|d�}	|�|d	d|d
�}
t	j
|jd�}|��|�
d�|�|jtd�d�|�|���|�|�|�|	�|�
d�|�|���|�
d�|�|jtd�d	�|�|���|�
d�|�|jtd�d�|�|���|�
d
�t�|�|�|���|�|��d�dS)Nr(r<rD)rDrB)rBrC)rCr=r>r?rArE)rFrGrHrr*r+rrr:rrIr-rJrr.rKrLrMrNrXrrO)r
rPr0rQr+rYrZr[r]r^r\rrrr�test_cancel_concurrents:







zTestCase.test_cancel_concurrentcCshg}t��}|�dd|jd�|�dd|jd�}|�dd|jd�|�|�|��|�|ddg�dS)Nr()�a)�b)�crarc)r*r+r:rrXr-r.)r
Zeventsr+rbrrr�test_cancel_correct_event�s
z"TestCase.test_cancel_correct_eventcsrg��fdd�}t�tjtj�}|�|���dD]}|�|d||f�}q|�|���|��|�|���dS)Ncrrrrrrrr!�r"z%TestCase.test_empty.<locals>.<lambda>r4r()	r*r+rrrMrNr:ZassertFalser-r/rrr�
test_empty�szTestCase.test_emptyc	s�g��fdd�}t�tjtj�}t��}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|j|||||g�dS)	Ncrrrrrrrr!�r"z%TestCase.test_queue.<locals>.<lambda>r5r(r9r8r6r7)r*r+rrr:r.rF)	r
r0r+rYZe5Ze1Ze2Ze4Ze3rrr�
test_queue�szTestCase.test_queuec	s�g��fdd�}t��}t�tjtj�}|�|d|�|j|d|dd�|j|d|dd�|j|d|dddid	�|��|��d
ifdifdifdddifg�dS)Ncs��||f�dSrr�rarb��seqrrr0�sz&TestCase.test_args_kwargs.<locals>.funr()r(rD)�argumentrgZfoor=)rj�kwargsr)rr*r+rr:r-ZassertCountEqual)r
r0rYr+rrhr�test_args_kwargs�s

�zTestCase.test_args_kwargscsXg��fdd�}t�tjtj�}dD]}|�|d||f�q|jdd�|��g�dS)Ncrrrrrrrr!�r"z0TestCase.test_run_non_blocking.<locals>.<lambda>)�
�	���r(F)Zblockingr))r
r0r+rrrr�test_run_non_blocking�szTestCase.test_run_non_blockingN)rrrr2r;rRrWr_r`rdrerfrlrrrrrrr)s		r�__main__)rFr*rrZunittest�testrZtest.supportrZ
SHORT_TIMEOUTrLrrr�mainrrrr�<module>s7�