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.7/test/test_asyncio/__pycache__/test_queues.cpython-37.pyc
B

��g�L�@s�dZddlZddlmZddlZddlmZGdd�dej�ZGdd�de�Z	Gd	d
�d
e�Z
Gdd�de�ZGd
d�de�ZGdd�de�Z
Gdd�d�ZGdd�dee�ZGdd�dee�ZGdd�dee�Zedkr�e��dS)zTests for queues.py�N)�mock)�utilscseZdZ�fdd�Z�ZS)�_QueueTestBasecst���|��|_dS)N)�super�setUp�
new_test_loop�loop)�self)�	__class__��9/usr/local/lib/python3.7/test/test_asyncio/test_queues.pyrs
z_QueueTestBase.setUp)�__name__�
__module__�__qualname__r�
__classcell__rr)r
rr
src@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�QueueBasicTestscs��fdd�}��|��tj�d�}���|��d��|��tt|���|�k}��||����fdd�}��|�����fdd�}��|��tj�d�}|�	d	���d
�|�k�dS)z�Test Queue's repr or str.

        fn is repr or str. expect_id is True if we expect the Queue's id to
        appear in fn(Queue()).
        c3s.dV}��d|�dV}��d|�dVdS)Ng�������?g�������?)�assertAlmostEqual)�when)r	rr�gens
z.QueueBasicTests._test_repr_or_str.<locals>.gen)rz<Queuec�sRtj�d�}tj|���d�tjd�d�IdH��d�|�k�|�d�dS)N)rg�������?z_getters[1]r)�asyncio�Queue�Task�get�sleep�
assertTrue�
put_nowait)�q)�fnrr	rr�
add_getter's
z5QueueBasicTests._test_repr_or_str.<locals>.add_getterc�s^tjd�d�}|�d�tj|�d��d�tjd�d�IdH��d�|�k�|��dS)N�)�maxsizer�)rg�������?z_putters[1])rrrr�putrr�
get_nowait)r)rrr	rr�
add_putter3s
z5QueueBasicTests._test_repr_or_str.<locals>.add_putterrz
_queue=[1]N)
rrrr�
startswith�hex�id�assertEqual�run_until_completer)r	rZ	expect_idrrZ
id_is_presentrr$r)rrr	r�_test_repr_or_strs


z!QueueBasicTests._test_repr_or_strcCsDt��}tj|d�}|�|j|�tj|jd�}|�|j|j�dS)N)r)rZMockrr�assertIs�_loopr)r	rrrrr�test_ctor_loopDs
zQueueBasicTests.test_ctor_loopcCs(t�|j�t��}|�|j|j�dS)N)rZset_event_looprrr+r,)r	rrrr�test_ctor_noloopLsz QueueBasicTests.test_ctor_noloopcCs|�td�dS)NT)r*�repr)r	rrr�	test_reprQszQueueBasicTests.test_reprcCs|�td�dS)NF)r*�str)r	rrr�test_strTszQueueBasicTests.test_strcCsVtj|jd�}|�|���|�d�|�|���|�d|���|�|���dS)N)rr)	rrrr�emptyr�assertFalser(r#)r	rrrr�
test_emptyWs
zQueueBasicTests.test_emptycCsHtj|jd�}|�|���tjd|jd�}|�d�|�|���dS)N)rr)r r)rrrr4�fullrr)r	rrrr�	test_full_s

zQueueBasicTests.test_fullcsRtj|jd��xdD]}��|�qW�fdd�td�D�}|�dddg|�dS)N)r)r�r!csg|]}����qSr)r#)�.0�_)rrr�
<listcomp>lsz.QueueBasicTests.test_order.<locals>.<listcomp>r8rr!)rrrr�ranger()r	�i�itemsr)rr�
test_ordergs

zQueueBasicTests.test_ordercsx�fdd�}��|��tjd�d����d�j�g���fdd�������fdd�}��|����d	����dS)
Nc3s.dV}��d|�dV}��d|�dVdS)Ng{�G�z�?g{�G�z�?)r)r)r	rrrqs
z)QueueBasicTests.test_maxsize.<locals>.genr!)r rc�s0x*td�D]}��|�IdH��|�q
WdS)Nr8T)r<r"�append)r=)�
have_been_putrrr�putter~sz,QueueBasicTests.test_maxsize.<locals>.putterc�s�tj���d�}tjd�d�IdH��ddg����d����tjd�d�IdH��dddg����d������d������|�����|���dS)N)rg{�G�z�?rrr!)rrrr(r#r�done�result)�t)rArrBrr	rr�test�sz*QueueBasicTests.test_maxsize.<locals>.testg{�G�z�?)rrrr(r r)r�time)r	rrFr)rArrBrr	r�test_maxsizeos
zQueueBasicTests.test_maxsizeN)r
rrr*r-r.r0r2r5r7r?rHrrrrrs1rc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�
QueueGetTestscsBtj|jd����d��fdd�}|j�|��}|�d|�dS)N)rrc�s���IdHS)N)rr)rrr�	queue_get�sz2QueueGetTests.test_blocking_get.<locals>.queue_get)rrrrr)r()r	rJ�resr)rr�test_blocking_get�s

zQueueGetTests.test_blocking_getcCsptjd|jd�}|�d�tj|jd�}|j�|�|j�|���}|�	d|�|�
|���|�|�
��dS)Nr)r)rrrrZFuture�_puttersr@r)rr(rrCZassertIsNonerD)r	rZwaiterrKrrr�test_get_with_putters�s
z#QueueGetTests.test_get_with_putterscs��fdd�}��|��tj�d��tj�d��d����fdd��������fdd�}��|��}��d	|���d
����dS)Nc3sdV}��d|�dVdS)Ng{�G�z�?)r)r)r	rrr�sz1QueueGetTests.test_blocking_get_wait.<locals>.gen)rFc�s������IdH}d�|S)NT)�setr)rK)�finishedr�startedrrrJ�sz7QueueGetTests.test_blocking_get_wait.<locals>.queue_getc�sP��d�jd�tj���d�}���IdH����|IdH}����|S)Ng{�G�z�?r)r)�
call_laterrrr�waitr4r)Zqueue_get_taskrK)rPrrrJr	rQrr�	queue_put�s


z7QueueGetTests.test_blocking_get_wait.<locals>.queue_putrg{�G�z�?)rrr�Eventr)r(rrG)r	rrTrKr)rPrrrJr	rQr�test_blocking_get_wait�s
	z$QueueGetTests.test_blocking_get_waitcCs,tj|jd�}|�d�|�d|���dS)N)rr)rrrrr(r#)r	rrrr�test_nonblocking_get�s
z"QueueGetTests.test_nonblocking_getcCs"tj|jd�}|�tj|j�dS)N)r)rrr�assertRaisesZ
QueueEmptyr#)r	rrrr�test_nonblocking_get_exception�sz,QueueGetTests.test_nonblocking_get_exceptioncsh�fdd�}��|��tj�d����fdd�����fdd�}��d��|�����d	����dS)
Nc3s.dV}��d|�dV}��d|�dVdS)Ng{�G�z�?g�Zd;�?g�������?)r)r)r	rrr�s
z-QueueGetTests.test_get_cancelled.<locals>.gen)rc�stj���d�d�IdHS)Ng�&1��?)r)r�wait_forrr)rrrrrJ�sz3QueueGetTests.test_get_cancelled.<locals>.queue_getc�s8tj���d�}tjd�d�IdH��d�|IdHS)N)rg{�G�z�?r)rrrr)Zget_task)rrrJrrrF�s
z.QueueGetTests.test_get_cancelled.<locals>.testrg���Q��?)rrrr(r)rrG)r	rrFr)rrrJr	r�test_get_cancelled�s
z QueueGetTests.test_get_cancelledcCs�tj|jd�}tj|��|jd�}tj|��|jd�}t�|j�|��t�|j�|�|�	��|�
d�t�|j�|�|��d�dS)N)r�a)
rrrrr�
test_utils�run_briefly�cancelrrCrr(rD)r	r�t1�t2rrr�test_get_cancelled_race�s
z%QueueGetTests.test_get_cancelled_racecCs|tj|jdd�}tj|�d�|jd�tj|�d�|jd�t�|j�|�|j�|�	��d�|�|j�|�	��d�dS)Nr)rr r\)r�b)
rrrrr"r]r^r(r)r)r	rrrr�test_get_with_waiting_putterssz+QueueGetTests.test_get_with_waiting_putterscCsRdd�}dd�}d}d}tj||jd�}|j�tj|||�|||�|jd��dS)Nc�s$xt|�D]}|��IdHq
WdS)N)r<r)�queueZnum_expectedr:rrr�consumer
sz<QueueGetTests.test_why_are_getters_waiting.<locals>.consumerc�s&x t|�D]}|�|�IdHq
WdS)N)r<r")reZ	num_itemsr=rrr�producersz<QueueGetTests.test_why_are_getters_waiting.<locals>.producerr�)r)rrrr)�gather)r	rfrgZ
queue_sizeZproducer_num_itemsrrrr�test_why_are_getters_waiting
sz*QueueGetTests.test_why_are_getters_waitingcs^dd�}��|��_�fdd�}tj�jdd�}�j��j�||�����t|j�d�dS)NcssdVdVdS)Ng�������?g�������?rrrrr�a_generator szXQueueGetTests.test_cancelled_getters_not_being_held_in_self_getters.<locals>.a_generatorc�s<y tj|��d�jd�IdH}Wntjk
r6YnXdS)Ng�������?)r)rrZrr�TimeoutError)re�item)r	rrrf&s zUQueueGetTests.test_cancelled_getters_not_being_held_in_self_getters.<locals>.consumerrh)rr r)	rrrrr)�create_taskr(�lenZ_getters)r	rkrfrer)r	r�5test_cancelled_getters_not_being_held_in_self_gettersszCQueueGetTests.test_cancelled_getters_not_being_held_in_self_gettersN)
r
rrrLrNrVrWrYr[rbrdrjrprrrrrI�s
!rIc@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�
QueuePutTestscs,tj|jd���fdd�}|j�|��dS)N)rc�s��d�IdHdS)Nr)r"r)rrrrT6sz2QueuePutTests.test_blocking_put.<locals>.queue_put)rrrr))r	rTr)rr�test_blocking_put3szQueuePutTests.test_blocking_putcsz�fdd�}��|��tjd�d��tj�d��d����fdd��������fd	d
�}��|����d����dS)Nc3sdV}��d|�dVdS)Ng{�G�z�?)r)r)r	rrr>sz1QueuePutTests.test_blocking_put_wait.<locals>.genr)r r)rFc�s0�����d�IdH��d�IdHd�dS)Nrr!T)rOr"r)rPrrQrrrTIsz7QueuePutTests.test_blocking_put_wait.<locals>.queue_putc�sN��d�j�tj���d�}���IdH����|IdH����dS)Ng{�G�z�?)r)rRr#rrrSr4r)Zqueue_put_task)rPrrrTr	rQrrrJPs

z7QueuePutTests.test_blocking_put_wait.<locals>.queue_getg{�G�z�?)rrrrUr)rrG)r	rrJr)rPrrrTr	rQr�test_blocking_put_wait<s
z$QueuePutTests.test_blocking_put_waitcCs,tj|jd�}|�d�|�d|���dS)N)rr)rrrrr(r#)r	rrrr�test_nonblocking_put[s
z"QueuePutTests.test_nonblocking_putcCs�dd�}|�|�}tj|d�}|�|���}|�tjd|d��|�d�|�d�|��y|�|�Wn.tj	k
r�|�|���}|�|�YnX|�
�}|�d|�dS)NcssdVdVdS)Ng{�G�z�?g�������?rrrrrraszBQueuePutTests.test_get_cancel_drop_one_pending_reader.<locals>.gen)rg{�G�z�?rr!)rrrrnrr)rrr_�CancelledErrorrDr()r	rrr�readerrDrrr�'test_get_cancel_drop_one_pending_reader`s


z5QueuePutTests.test_get_cancel_drop_one_pending_readercCs�dd�}|�|�}|�d�tj|d�}|�|���}|�|���}|�|���}|�tjd|d��|�d�|�d�|�	�y|�|�Wntj
k
r�YnX|�|�|�|��|��hddh�dS)NcssdVdVdS)Ng{�G�z�?g�������?rrrrrr}szDQueuePutTests.test_get_cancel_drop_many_pending_readers.<locals>.genT)rg{�G�z�?rr!)
rZ	set_debugrrrnrr)rrr_rur(rD)r	rrrZreader1Zreader2Zreader3rrr�)test_get_cancel_drop_many_pending_readers|s"




z7QueuePutTests.test_get_cancel_drop_many_pending_readerscCs�dd�}|�|�}tjd|d�}|�d�|�|�d��}|�tjd|d��|��}|�	|d�|�
�y|�|�Wn0tjk
r�|�|�d��}|�|�YnX|��}|�	|d�|�	|��d�dS)NcssdVdVdS)Ng{�G�z�?g�������?rrrrrr�sz/QueuePutTests.test_put_cancel_drop.<locals>.genr)rr!g{�G�z�?r)
rrrrrnr"r)rr#r(r_ru�qsize)r	rrr�writerZvalue1Zvalue2rrr�test_put_cancel_drop�s"

z"QueuePutTests.test_put_cancel_dropcCs0tjd|jd�}|�d�|�tj|jd�dS)Nr)r rr!)rrrrrX�	QueueFull)r	rrrr�test_nonblocking_put_exception�s
z,QueuePutTests.test_nonblocking_put_exceptioncsttjd�jd����d���d���������tj�jd�tjd�jd����fdd�}�j�|��dS)Ng�������?)r rrr!r8c�s2��d�IdH��d�IdH������dS)Nrr!)r"rr6r)rr	rrrT�sz3QueuePutTests.test_float_maxsize.<locals>.queue_put)	rrrrrr6rXr|r))r	rTr)rr	r�test_float_maxsize�s

z QueuePutTests.test_float_maxsizecsntj|jd���fdd�}�fdd�}tj|�|jd�}|�d|j�|���|�|���|�|���dS)N)rc�s��d�IdHdS)NrT)r"r)rrrrT�sz3QueuePutTests.test_put_cancelled.<locals>.queue_putc�s���IdHS)N)rr)rrrrF�sz.QueuePutTests.test_put_cancelled.<locals>.testr)	rrrrr(r)rrCrD)r	rTrFrEr)rr�test_put_cancelled�sz QueuePutTests.test_put_cancelledcCs�tj|jdd�}tj|�d�|jd�}tj|�d�|jd�}tj|�d�|jd�}t�|j�|�|���|�	|���|�
�t�|j�|�|���|�|��d�t�|j�|�|��d�|j�
|�dS)Nr)rr r\)rrc�X)rrrrr"r]r^rrCr4r_r(r#r))r	rZput_aZput_bZput_crrr�test_put_cancelled_race�sz%QueuePutTests.test_put_cancelled_racecCsXtj|jd�}tj|��|jd�}t�|j�|j�|�d��|�	|j�|�d�dS)N)rr\)
rrrrrr]r^r)r"r()r	rrErrr�test_put_with_waiting_getters�s
z+QueuePutTests.test_put_with_waiting_gettersc
sptjd�jd���fdd�}��fdd�}|d�}|d�}|d�}|d	�}�j�tj|�||||�jd��dS)
Nr!)rc�s��|�IdHdS)N)r")rm)rerrrB�sz:QueuePutTests.test_why_are_putters_waiting.<locals>.putterc�s<tjd�jd�IdH���}xt|�D]}���}q(WdS)Nr)r)rrrryr<r#)Znumr:rm)rer	rr�getter�sz:QueuePutTests.test_why_are_putters_waiting.<locals>.getterrrr8)rrrr)ri)r	rBr�Zt0r`raZt3r)rer	r�test_why_are_putters_waiting�sz*QueuePutTests.test_why_are_putters_waitingc	Cs�dd�}|�|�}tj|dd�}|�d�|�|�d��}|�tjd|d��|�t	|j
�d�|��|�tj
��|�|�WdQRX|�t	|j
�d�dS)NcssdVdVdS)Ng{�G�z�?g�������?rrrrrrkszUQueuePutTests.test_cancelled_puts_not_being_held_in_self_putters.<locals>.a_generatorr)rr g{�G�z�?)rr)rrrrrnr"r)rr(rorMr_rXru)r	rkrre�put_taskrrr�2test_cancelled_puts_not_being_held_in_self_putterss

z@QueuePutTests.test_cancelled_puts_not_being_held_in_self_puttersc	Cs�dd�}|�|�}tjd|d�}|�d�|�|�d��}|�tjd|d��|��|�	�|�
tj��|�|�WdQRXdS)NcssdVdVdS)Ng{�G�z�?g�������?rrrrrr#szKQueuePutTests.test_cancelled_put_silence_value_error_exception.<locals>.genr)rg{�G�z�?)rrrrrnr"r)rr#r_rXru)r	rrrer�rrr�0test_cancelled_put_silence_value_error_exception"s

z>QueuePutTests.test_cancelled_put_silence_value_error_exceptionN)r
rrrrrsrtrwrxr{r}r~rr�r�r�r�r�rrrrrq1s	rqc@seZdZdd�ZdS)�LifoQueueTestscsRtj|jd��xdD]}��|�qW�fdd�td�D�}|�dddg|�dS)N)r)rr8r!csg|]}����qSr)r#)r9r:)rrrr;Esz-LifoQueueTests.test_order.<locals>.<listcomp>r8r!r)r�	LifoQueuerrr<r()r	r=r>r)rrr?@s

zLifoQueueTests.test_orderN)r
rrr?rrrrr�>sr�c@seZdZdd�ZdS)�PriorityQueueTestscsRtj|jd��xdD]}��|�qW�fdd�td�D�}|�dddg|�dS)N)r)rr8r!csg|]}����qSr)r#)r9r:)rrrr;Psz1PriorityQueueTests.test_order.<locals>.<listcomp>r8rr!)r�
PriorityQueuerrr<r()r	r=r>r)rrr?Ks

zPriorityQueueTests.test_orderN)r
rrr?rrrrr�Isr�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�ZdS)
�_QueueJoinTestMixinNcCs |j|jd�}|�t|j�dS)N)r)�q_classrrX�
ValueError�	task_done)r	rrrr�test_task_done_underflowXsz,_QueueJoinTestMixin.test_task_done_underflowcs��j�jd��xtd�D]}��|�qWd�d����fdd�����fdd�}�j�|��}��ttd����d	�xtt|��D]}��d�q�W�j�tj	|�jd��dS)
N)r�drTc�s,x&�r&���IdH}�|7����qWdS)N)rr�)rm)�accumulatorr�runningrr�workergsz2_QueueJoinTestMixin.test_task_done.<locals>.workerc�s*��fdd�td�D�}���IdH|S)Ncsg|]}tj���jd��qS))r)rrr)r9�index)r	r�rrr;pszD_QueueJoinTestMixin.test_task_done.<locals>.test.<locals>.<listcomp>r!)r<�join)�tasks)rr	r�rrrFosz0_QueueJoinTestMixin.test_task_done.<locals>.testF)
r�rr<rr)r(�sumrorrS)r	r=rFr�r)r�rr�r	r�r�test_task_done\sz"_QueueJoinTestMixin.test_task_donecs,|j|jd���fdd�}|j�|��dS)N)rc�s ���IdH���IdHdS)N)r�r)rrrr��sz7_QueueJoinTestMixin.test_join_empty_queue.<locals>.join)r�rr))r	r�r)rr�test_join_empty_queuesz)_QueueJoinTestMixin.test_join_empty_queuecCs8|j|jd�}|�|��d�d|_|�|��d�dS)N)rz	maxsize=0r!zmaxsize=0 tasks=2)r�rr(�_formatZ_unfinished_tasks)r	rrrr�test_format�sz_QueueJoinTestMixin.test_format)r
rrr�r�r�r�r�rrrrr�Ts
#r�c@seZdZejZdS)�QueueJoinTestsN)r
rrrrr�rrrrr��sr�c@seZdZejZdS)�LifoQueueJoinTestsN)r
rrrr�r�rrrrr��sr�c@seZdZejZdS)�PriorityQueueJoinTestsN)r
rrrr�r�rrrrr��sr��__main__)�__doc__ZunittestrrZtest.test_asynciorr]ZTestCaserrrIrqr�r�r�r�r�r�r
�mainrrrr�<module>s(	?