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: //usr/local/lib/python3.10/test/__pycache__/test_sched.cpython-310.pyc
o

�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)�	threading�	Condition�_cond�_time�_stop��self�r
�,/usr/local/lib/python3.10/test/test_sched.py�__init__s

zTimer.__init__cCs0|j�|jWd�S1swYdS�N)rr	rr
r
r�times$�z
Timer.timecCsn|dksJ�|j�$||j7}|j|kr"|j|_|j��|j|ks||_Wd�dS1s0wYdSr)rr	r
�wait�r�tr
r
r�sleeps



�"�zTimer.sleepcCsP|dksJ�|j�|j|7_|j��Wd�dS1s!wYdSr)rr
�
notify_allrr
r
r�advance"s
"�z
Timer.advanceN)�__name__�
__module__�__qualname__rrrrr
r
r
rr
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)Ncrrrr r"r
rr$6r%z(TestCase.test_enterabs.<locals>.<lambda>�皙�����?�{�G�z�?���Q��?�{�G�z�?�{�G�z�?r+)r<r;r:r9r8)r-r.rr�enterabsr0r1r2r
r"r�
test_enterabs4r6zTestCase.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��timeout)���rHrFrG��)�queue�Queue�putrr-r.rrr/r�Threadr0�startrr1�get�TIMEOUT�
assertTrue�emptyr�join_thread)r�qr3�timerr.rr!r4r
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)
Ncrrrr r"r
rr$\r%z(TestCase.test_priority.<locals>.<lambda>)r+rHr@rFrG)rGrFr@rHr+)rHrGr@r+rF)r+rHr@rHr+)r+r+rHrHr@)�
priorities�expectedr<)r-r.rrZsubTestr=r0r1rQrR�clear)rr3r.�casesrWrX�priorityr
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)Ncrrrr r"r
rr$rr%z&TestCase.test_cancel.<locals>.<lambda>r<r+)r<r;)r;r:)r:r9)r9r8)r8)r;r:r9)r-r.rrr=�cancelr0r1)	rr3r.�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?rH)rHrF)rFrG)rGr@rArBrDrI)rJrKrLrr-r.rrr=rrMr0rNrr1rOrPrQrRr]rrS)rrTr3rUr.r^r_r`rbrcrarr
r
r�test_cancel_concurrents:







zTestCase.test_cancel_concurrentcCshg}t��}|�dd|jd�|�dd|jd�}|�dd|jd�|�|�|��|�|ddg�dS)Nr+)�a)�b)�crfrh)r-r.r=rr]r0r1)r�eventsr.rgr
r
r�test_cancel_correct_event�s
z"TestCase.test_cancel_correct_eventcsrg��fdd�}t�tjtj�}|�|���dD]}|�|d||f�}q|�|���|��|�|���dS)Ncrrrr r"r
rr$�r%z%TestCase.test_empty.<locals>.<lambda>r7r+)	r-r.rrrQrRr=ZassertFalser0r2r
r"r�
test_empty�szTestCase.test_emptyc	s�g��fdd�}t�tjtj�}t��}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|dd|�}|�|j|||||g�dS)	Ncrrrr r"r
rr$�r%z%TestCase.test_queue.<locals>.<lambda>r8r+r<r;r9r:)r-r.rrr=r1rJ)	rr3r.r^Ze5�e1�e2Ze4Ze3r
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�rfrg��seqr
rr3�sz&TestCase.test_args_kwargs.<locals>.funr+)r+rH)�argumentroZfoor@)rr�kwargsr
)rr-r.rr=r0ZassertCountEqual)rr3r^r.r
rpr�test_args_kwargs�s

�zTestCase.test_args_kwargscsXg��fdd�}t�tjtj�}dD]}|�|d||f�q|jdd�|��g�dS)Ncrrrr r"r
rr$�r%z0TestCase.test_run_non_blocking.<locals>.<lambda>)�
�	���r+F)�blockingr,)rr3r.r!r
r"r�test_run_non_blocking�szTestCase.test_run_non_blockingN)rrrr5r>rVr\rdrerjrkrnrtr{r
r
r
rr)s		r�__main__)rJr-rrZunittest�testrZtest.supportrZ
SHORT_TIMEOUTrPrrr�mainr
r
r
r�<module>s7�