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.opt-1.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)rrr
rrr
�times$�z
Timer.timecCsb|j�$||j7}|j|kr|j|_|j��|j|ks||_Wd�dS1s*wYdSr)rrr	�wait�r�trrr
�sleeps



�"�zTimer.sleepcCsD|j�|j|7_|j��Wd�dS1swYdSr)rr	�
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;r:r9r8r7)r,r-rr�enterabsr/r0r1rr!r
�
test_enterabs4r5zTestCase.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)���rGrErF��)�queue�Queue�putrr,r-rrr.r�Threadr/�startrr0�get�TIMEOUT�
assertTrue�emptyr�join_thread)r�qr2�timerr-rr r3r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*rGr?rErF)rFrEr?rGr*)rGrFr?r*rE)r*rGr?rGr*)r*r*rGrGr?)�
priorities�expectedr;)r,r-rrZsubTestr<r/r0rPrQ�clear)rr2r-�casesrVrW�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)Ncrrrrr!rr
r#rr$z&TestCase.test_cancel.<locals>.<lambda>r;r*)r;r:)r:r9)r9r8)r8r7)r7)r:r9r8)r,r-rrr<�cancelr/r0)	rr2r-�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>rG)rGrE)rErF)rFr?r@rArCrH)rIrJrKrr,r-rrr<rrLr/rMrr0rNrOrPrQr\rrR)rrSr2rTr-r]r^r_rarbr`rrrr
�test_cancel_concurrents:







zTestCase.test_cancel_concurrentcCshg}t��}|�dd|jd�|�dd|jd�}|�dd|jd�|�|�|��|�|ddg�dS)Nr*)�a)�b)�crerg)r,r-r<rr\r/r0)r�eventsr-rfr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>r6r*)	r,r-rrrPrQr<ZassertFalser/r1r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>r7r*r;r:r8r9)r,r-rrr<r0rI)	rr2r-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�rerf��seqrr
r2�sz&TestCase.test_args_kwargs.<locals>.funr*)r*rG)�argumentrnZfoor?)rq�kwargsr)rr,r-rr<r/ZassertCountEqual)rr2r]r-rror
�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)�blockingr+)rr2r-r rr!r
�test_run_non_blocking�szTestCase.test_run_non_blockingN)rrrr4r=rUr[rcrdrirjrmrsrzrrrr
r)s		r�__main__)rIr,rrZunittest�testrZtest.supportrZ
SHORT_TIMEOUTrOrrr�mainrrrr
�<module>s7�