Your IP : 216.73.216.52


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_sched.cpython-39.pyc

a

XC?h��@snddlZddlZddlZddlZddlZddlmZejZGdd�d�Z	Gdd�dej
�Z
edkrje��dS)�N)�supportc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TimercCst��|_d|_d|_dS�Nr)�	threadingZ	Condition�_cond�_time�_stop��self�r�4/opt/alt/python39/lib64/python3.9/test/test_sched.py�__init__
s
zTimer.__init__cCs0|j�|jWd�S1s"0YdS�N)rrr	rrr�timesz
Timer.timecCsd|dksJ�|j�>||j7}|j|kr<|j|_|j��q||_Wd�n1sV0YdSr)rrr�wait�r
�trrr�sleeps

zTimer.sleepcCsN|dksJ�|j�(|j|7_|j��Wd�n1s@0YdSr)rrZ
notify_allrrrr�advance!sz
Timer.advanceN)�__name__�
__module__�__qualname__r
rrrrrrrrs
rc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestCasecsXg��fdd�}t�tjtj�}dD]}|�|d||f�}q$|��|��gd��dS)Ncs
��|�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*szTestCase.test_entercsXg��fdd�}t�tjtj�}dD]}|�|d||f�}q$|��|��gd��dS)Ncs
��|�Srrrrrrr5r z(TestCase.test_enterabs.<locals>.<lambda>�皙�����?�{�G�z�?���Q��?�{�G�z�?�{�G�z�?r&)r6r5r4r3r2�r(r)rr�enterabsr+r,r-rrr�
test_enterabs3szTestCase.test_enterabscCstt��}|j}t�}t�|j|j�}|�dd|d�|�dd|d�t	j
|jd�}|��|�
d�|�|jtd�d�|�|���dD]}|�|dd||f�}q�|�
d�|�|jtd�d�|�|jtd�d�|�|���|�
d�|�|jtd�d	�|�|���|�
d�|�|jtd�d
�|�|���|�
d�t�|�|�|���|�|��d
�dS)Nr&�r&��r;��target�Ztimeout)���rBr@rA��)�queue�Queue�putrr(r)rrr*r�Threadr+�startrr,�get�TIMEOUT�
assertTrue�emptyr�join_thread)r
�qr.�timerr)rrr/rrr�test_enter_concurrent<s6





zTestCase.test_enter_concurrentcsXg��fdd�}t�tjtj�}dD]}|�d|||f�}q$|��|��gd��dS)Ncs
��|�Srrrrrrr[r z(TestCase.test_priority.<locals>.<lambda>)r&rBr;r@rAr6r7)r
r.r)Zpriorityr/rrr�
test_priorityYszTestCase.test_priorityc	s�g��fdd�}t�tjtj�}t��}|�|dd|d�}|�|dd|d�}|�|dd|d	�}|�|d
d|d�}|�|dd|d
�}|�|�|�|�|��|��gd��dS)Ncs
��|�Srrrrrrrdr z&TestCase.test_cancel.<locals>.<lambda>r6r&)r6r5)r5r4)r4r3)r3r2)r2)r5r4r3)r(r)rrr8�cancelr+r,)	r
r.r)�now�event1�event2�event3�event4�event5rrr�test_cancelbs

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:rB)rBr@)r@rA)rAr;r<r=r?rC)rDrErFrr(r)rrr8rrGr+rHrr,rIrJrKrLrRrrM)r
rNr.rOr)rSrTrUrWrXrVrrrr�test_cancel_concurrentqs:







zTestCase.test_cancel_concurrentcsrg��fdd�}t�tjtj�}|�|���dD]}|�|d||f�}q2|�|���|��|�|���dS)Ncs
��|�Srrrrrrr�r z%TestCase.test_empty.<locals>.<lambda>r1r&)	r(r)rrrKrLr8ZassertFalser+r-rrr�
test_empty�szTestCase.test_emptyc	s�g��fdd�}t�tjtj�}t��}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|j|||||g�dS)	Ncs
��|�Srrrrrrr�r z%TestCase.test_queue.<locals>.<lambda>r2r&r6r5r3r4)r(r)rrr8r,rD)	r
r.r)rSZe5Ze1Ze2Ze4Ze3rrr�
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��a�b��seqrrr.�sz&TestCase.test_args_kwargs.<locals>.funr&)r&rB)�argumentr]Zfoor;)rb�kwargsr)rr(r)rr8r+ZassertCountEqual)r
r.rSr)rr`r�test_args_kwargs�s
�zTestCase.test_args_kwargscsXg��fdd�}t�tjtj�}dD]}|�|d||f�q$|jdd�|��g�dS)Ncs
��|�Srrrrrrr�r z0TestCase.test_run_non_blocking.<locals>.<lambda>)�
�	���r&F)Zblockingr')r
r.r)rrrr�test_run_non_blocking�szTestCase.test_run_non_blockingN)
rrrr0r9rPrQrYrZr[r\rdrjrrrrr(s			r�__main__)
rDr(rrZunittest�testrZ
SHORT_TIMEOUTrJrrr�mainrrrr�<module>s