Your IP : 216.73.216.213


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.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
rrr
�times$�z
Timer.timecCsn|dksJ�|j�$||j7}|j|kr"|j|_|j��|j|ks||_Wd�dS1s0wYdSr)rrr	�wait�r�trrr
�sleeps



�"�zTimer.sleepcCsP|dksJ�|j�|j|7_|j��Wd�dS1s!wYdSr)rr	Z
notify_allrrrr
�advance"s
"�z
Timer.advanceN)�__name__�
__module__�__qualname__rrrrrrrr
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��lrr
�<lambda>-�
z%TestCase.test_enter.<locals>.<lambda>)��?皙�����?�333333�?皙�����?皙�����?�)r(r'r&r%r$��sched�	schedulerrr�enter�run�assertEqual�r�funr,r�zrr r
�
test_enter+�zTestCase.test_entercr)Ncrrrrr rr
r"6r#z(TestCase.test_enterabs.<locals>.<lambda>�皙�����?�{�G�z�?���Q��?�{�G�z�?�{�G�z�?r))r:r9r8r7r6)r+r,rr�enterabsr.r/r0rr r
�
test_enterabs4r4zTestCase.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)���rErCrD��)�queue�Queue�putrr+r,rrr-r�Threadr.�startrr/�get�TIMEOUT�
assertTrue�emptyr�join_thread)r�qr1�timerr,rrr2rrr
�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)
Ncrrrrr rr
r"\r#z(TestCase.test_priority.<locals>.<lambda>)r)rEr>rCrD)rDrCr>rEr))rErDr>r)rC)r)rEr>rEr))r)r)rErEr>)�
priorities�expectedr:)r+r,rrZsubTestr;r.r/rNrO�clear)rr1r,�casesrTrUZpriorityrr r
�
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)Ncrrrrr rr
r"rr#z&TestCase.test_cancel.<locals>.<lambda>r:r))r:r9)r9r8)r8r7)r7r6)r6)r9r8r7)r+r,rrr;�cancelr.r/)	rr1r,�now�event1�event2�event3�event4�event5rr r
�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=rE)rErC)rCrD)rDr>r?r@rBrF)rGrHrIrr+r,rrr;rrJr.rKrr/rLrMrNrOrYrrP)rrQr1rRr,rZr[r\r^r_r]rrrr
�test_cancel_concurrents:







zTestCase.test_cancel_concurrentcCshg}t��}|�dd|jd�|�dd|jd�}|�dd|jd�|�|�|��|�|ddg�dS)Nr))�a)�b)�crbrd)r+r,r;rrYr.r/)rZeventsr,rcrrr
�test_cancel_correct_event�s
z"TestCase.test_cancel_correct_eventcsrg��fdd�}t�tjtj�}|�|���dD]}|�|d||f�}q|�|���|��|�|���dS)Ncrrrrr rr
r"�r#z%TestCase.test_empty.<locals>.<lambda>r5r))	r+r,rrrNrOr;ZassertFalser.r0rr r
�
test_empty�szTestCase.test_emptyc	s�g��fdd�}t�tjtj�}t��}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|j|||||g�dS)	Ncrrrrr rr
r"�r#z%TestCase.test_queue.<locals>.<lambda>r6r)r:r9r7r8)r+r,rrr;r/rG)	rr1r,rZZe5Ze1Ze2Ze4Ze3rr r
�
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�rbrc��seqrr
r1�sz&TestCase.test_args_kwargs.<locals>.funr))r)rE)�argumentrhZfoor>)rk�kwargsr)rr+r,rr;r.ZassertCountEqual)rr1rZr,rrir
�test_args_kwargs�s

�zTestCase.test_args_kwargscsXg��fdd�}t�tjtj�}dD]}|�|d||f�q|jdd�|��g�dS)Ncrrrrr rr
r"�r#z0TestCase.test_run_non_blocking.<locals>.<lambda>)�
�	���r)F)Zblockingr*)rr1r,rrr r
�test_run_non_blocking�szTestCase.test_run_non_blockingN)rrrr3r<rSrXr`rarerfrgrmrsrrrr
r)s		r�__main__)rGr+rrZunittest�testrZtest.supportrZ
SHORT_TIMEOUTrMrrr�mainrrrr
�<module>s7�