HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //proc/thread-self/root/usr/local/lib/python3.7/test/__pycache__/test_sched.cpython-37.pyc
B

��g��@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
�+/usr/local/lib/python3.7/test/test_sched.py�__init__
s
zTimer.__init__c	Cs|j�|jSQRXdS)N)rr)r	r
r
r�timesz
Timer.timec	CsT|dkst�|j�8||j7}x |j|kr>|j|_|j��q W||_WdQRXdS)Nr)�AssertionErrorrrr�wait)r	�tr
r
r�sleeps
zTimer.sleepc	Cs:|dkst�|j�|j|7_|j��WdQRXdS)Nr)rrrZ
notify_all)r	rr
r
r�advance!sz
Timer.advanceN)�__name__�
__module__�__qualname__rr
rrr
r
r
rrs
rc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestCasecsbg��fdd�}t�tjtj�}xdD]}|�|d||f�}q&W|��|��ddddd	g�dS)
Ncs
��|�S)N)�append)�x)�lr
r�<lambda>,�z%TestCase.test_enter.<locals>.<lambda>)g�?g�������?g333333�?g�������?g�������?�g�������?g�������?g333333�?g�������?g�?)�sched�	schedulerr
r�enter�run�assertEqual)r	�funrr�zr
)rr�
test_enter*s
zTestCase.test_entercsbg��fdd�}t�tjtj�}xdD]}|�|d||f�}q&W|��|��ddddd	g�dS)
Ncs
��|�S)N)r)r)rr
rr5rz(TestCase.test_enterabs.<locals>.<lambda>)g�������?g{�G�z�?g���Q��?g{�G�z�?g{�G�z�?rg{�G�z�?g{�G�z�?g���Q��?g{�G�z�?g�������?)rrr
r�enterabsr r!)r	r"rrr#r
)rr�
test_enterabs3s
zTestCase.test_enterabscCs|t��}|j}t�}t�|j|j�}|�dd|d�|�dd|d�t	j
|jd�}|��|�
d�|�|jtd�d�|�|���x"dD]}|�|dd||f�}q�W|�
d�|�|jtd�d�|�|jtd�d�|�|���|�
d�|�|jtd�d	�|�|���|�
d�|�|jtd�d
�|�|���|�
d�tj|td�|�|���|�|��d
�dS)Nr)r�)r')�target)�timeout)���r,r*r+i�)�queue�Queue�putrrrr
rrr�Threadr �startrr!�get�TIMEOUT�
assertTrue�emptyr�join_thread)r	�qr"�timerrrrr#r
r
r�test_enter_concurrent<s6





zTestCase.test_enter_concurrentcsbg��fdd�}t�tjtj�}xdD]}|�d|||f�}q&W|��|��ddddd	g�dS)
Ncs
��|�S)N)r)r)rr
rr[rz(TestCase.test_priority.<locals>.<lambda>)rr,r'r*r+g{�G�z�?rr,r'r*r+)rrr
rr%r r!)r	r"r�priorityr#r
)rr�
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
��|�S)N)r)r)rr
rrdrz&TestCase.test_cancel.<locals>.<lambda>g{�G�z�?r)g{�G�z�?g{�G�z�?)g{�G�z�?g���Q��?)g���Q��?g{�G�z�?)g{�G�z�?g�������?)g�������?)rrr
rr%�cancelr r!)	r	r"r�now�event1�event2�event3�event4�event5r
)rr�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)rr,)r,r*)r*r+)r+r')r')r()r)i�)r-r.r/rrrr
rr%rr0r r1rr!r2r3r4r5r<rr6)r	r7r"r8rr=r>r?rArBr@rr
r
r�test_cancel_concurrentqs:






zTestCase.test_cancel_concurrentcsvg��fdd�}t�tjtj�}|�|���xdD]}|�|d||f�}q4W|�|���|��|�|���dS)Ncs
��|�S)N)r)r)rr
rr�rz%TestCase.test_empty.<locals>.<lambda>)g�������?g{�G�z�?g���Q��?g{�G�z�?g{�G�z�?r)	rrr
rr4r5r%ZassertFalser )r	r"rrr#r
)rr�
test_empty�s
zTestCase.test_emptyc	s�g��fdd�}t�tjtj�}t��}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|j|||||g�dS)	Ncs
��|�S)N)r)r)rr
rr�rz%TestCase.test_queue.<locals>.<lambda>g�������?rg{�G�z�?g{�G�z�?g{�G�z�?g���Q��?)rrr
rr%r!r-)	r	r"rr=Ze5Ze1Ze2Ze4Ze3r
)rr�
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�dS)N)r)�a�b)�seqr
rr"�sz&TestCase.test_args_kwargs.<locals>.funr)rr,)�argument)rGrHZfoor')rJ�kwargsr
)r
rrrr%r ZassertCountEqual)r	r"r=rr
)rIr�test_args_kwargs�szTestCase.test_args_kwargscs\g��fdd�}t�tjtj�}xdD]}|�|d||f�q&W|jdd�|��g�dS)Ncs
��|�S)N)r)r)rr
rr�rz0TestCase.test_run_non_blocking.<locals>.<lambda>)r�	���rF)Zblocking)rrr
rrr r!)r	r"rrr
)rr�test_run_non_blocking�s
zTestCase.test_run_non_blockingN)
rrrr$r&r9r;rCrDrErFrLrQr
r
r
rr(s			r�__main__)r-rrr
ZunittestZtestrr3rrr�mainr
r
r
r�<module>s