Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_sched.cpython-38.opt-2.pyc

U

i�f��@slddlZddlZddlZddlZddlZddlmZdZGdd�d�ZGdd�dej	�Z	e
dkrhe��dS)	�N)�support�
c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TimercCst��|_d|_d|_dS)Nr)�	threadingZ	Condition�_cond�_time�_stop��self�r�4/opt/alt/python38/lib64/python3.8/test/test_sched.py�__init__
s
zTimer.__init__c
Cs$|j�|jW5QR�SQRXdS�N)rrr	rrr�timesz
Timer.timec	CsD|j�4||j7}|j|kr0|j|_|j��q||_W5QRXdSr)rrr�wait�r
�trrr�sleeps

zTimer.sleepc	Cs.|j�|j|7_|j��W5QRXdSr)rrZ
notify_allrrrr�advance!sz
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)�TestCasecs^g��fdd�}t�tjtj�}dD]}|�|d||f�}q$|��|��ddddd	g�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_entercs^g��fdd�}t�tjtj�}dD]}|�|d||f�}q$|��|��ddddd	g�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_enterabscCsxt��}|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�tj|td�|�|���|�|��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_concurrentcs^g��fdd�}t�tjtj�}dD]}|�d|||f�}q$|��|��ddddd	g�dS)
Ncs
��|�Srrrrrrr[r z(TestCase.test_priority.<locals>.<lambda>)r&rBr;r@rAr6r&rBr;r@rAr7)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
�}|�|�|�|�|��|��ddd
g�dS)Ncs
��|�Srrrrrrrdr z&TestCase.test_cancel.<locals>.<lambda>r6r&)r6r5)r5r4)r4r3)r3r2)r2)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
�tj|td�|�|���|�|��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�	���r&F)Zblockingr')r
r.r)rrrr�test_run_non_blocking�szTestCase.test_run_non_blockingN)
rrrr0r9rPrQrYrZr[r\rdrirrrrr(s			r�__main__)rDr(rrZunittestZtestrrJrrr�mainrrrr�<module>s