HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/test/test_asyncio/__pycache__/test_queues.cpython-38.pyc
U

/D�g�T�@s�dZddlZddlmZddlZddlmZdd�ZGdd�dej�Z	Gd	d
�d
e	�Z
Gdd�de	�ZGd
d�de	�ZGdd�de	�Z
Gdd�de	�ZGdd�d�ZGdd�dee	�ZGdd�dee	�ZGdd�dee	�Zedkr�e��dS)zTests for queues.py�N)�mock)�utilscCst�d�dS�N)�asyncioZset_event_loop_policy�rr�</opt/cppython/lib/python3.8/test/test_asyncio/test_queues.py�tearDownModule
srcseZdZ�fdd�Z�ZS)�_QueueTestBasecst���|��|_dSr)�super�setUp�
new_test_loop�loop��self��	__class__rrrs
z_QueueTestBase.setUp)�__name__�
__module__�__qualname__r�
__classcell__rrrrr	sr	c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�QueueBasicTestsc	s�fdd�}��|����t��tj�d�}W5QRX���|��d��|��tt|���|�k}��	||����fdd�}��t����
|��W5QRX���fdd�}��t����
|��tj�d�}W5QRX|�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�N皙�����?g�������?��assertAlmostEqual�Zwhenrrr�gens
z.QueueBasicTests._test_repr_or_str.<locals>.gen�r
z<Queuec�sJtj�d�}��|���t�d�IdH��d�|�k�|�d�dS)Nrrz_getters[1]r)r�Queue�create_task�get�sleep�
assertTrue�
put_nowait��q��fnr
rrr�
add_getter,s
z5QueueBasicTests._test_repr_or_str.<locals>.add_getterc�sVtjd�d�}|�d���|�d��t�d�IdH��d�|�k�|��dS)N���maxsizer
�rz_putters[1])rrr#r�putr!r"�
get_nowaitr$r&rr�
add_putter9s
z5QueueBasicTests._test_repr_or_str.<locals>.add_putterr)z
_queue=[1]N)r�assertWarns�DeprecationWarningrrr"�
startswith�hex�id�assertEqual�run_until_completer#)rr'Z	expect_idrr%Z
id_is_presentr(r/rr&r�_test_repr_or_strs 


z!QueueBasicTests._test_repr_or_strc	Cspt��}|�t��tj|d�}W5QRX|�|j|�|�t��tj|jd�}W5QRX|�|j|j�dS�Nr)	rZMockr0r1rr�assertIs�_loopr
)rr
r%rrr�test_ctor_loopJszQueueBasicTests.test_ctor_loopcCs(t�|j�t��}|�|j|j�dSr)rZset_event_loopr
rr9r:�rr%rrr�test_ctor_noloopTsz QueueBasicTests.test_ctor_noloopcCs|�td�dS�NT)r7�reprrrrr�	test_reprYszQueueBasicTests.test_reprcCs|�td�dS)NF)r7�strrrrr�test_str\szQueueBasicTests.test_strc	Csl|�t��tj|jd�}W5QRX|�|���|�d�|�|���|�	d|�
��|�|���dS�Nrr))r0r1rrr
r"�emptyr#�assertFalser5r.r<rrr�
test_empty_s
zQueueBasicTests.test_emptyc	Cst|�t��tj|jd�}W5QRX|�|���|�t��tjd|jd�}W5QRX|�d�|�|���dS)Nrr)r*)	r0r1rrr
rE�fullr#r"r<rrr�	test_fullhs
zQueueBasicTests.test_fullc	sd|�t��tj|jd��W5QRXdD]}��|�q(�fdd�td�D�}|�dddg|�dS)Nr�r)�r,csg|]}����qSr�r.��.0�_r$rr�
<listcomp>xsz.QueueBasicTests.test_order.<locals>.<listcomp>rJr)r,)r0r1rrr
r#�ranger5�r�i�itemsrr$r�
test_orderrszQueueBasicTests.test_orderc	s��fdd�}��|����t��tjd�d��W5QRX��d�j�g���fdd�������fdd�}��|����d	��	��dS)
Nc3s.dV}��d|�dV}��d|�dVdS)N�{�G�z�?�{�G�z�?rrrrrr}s
z)QueueBasicTests.test_maxsize.<locals>.genr,r*c�s,td�D]}��|�IdH��|�qdS)NrJT)rPr-�append)rR)�
have_been_putr%rr�putter�sz,QueueBasicTests.test_maxsize.<locals>.putterc�s������}t�d�IdH��ddg����d����t�d�IdH��dddg����d������d������|�����|���dS)NrUrr)r,)rrr!r5r.r"�done�result)�t�rXr
rYr%rrr�test�sz*QueueBasicTests.test_maxsize.<locals>.testrV)
rr0r1rrr5r+r6r�time�rrr^rr]r�test_maxsize{s
zQueueBasicTests.test_maxsizeN)rrrr7r;r=r@rBrFrHrTrarrrrrs3
	
	rc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�
QueueGetTestsc	sX|�t��tj|jd��W5QRX��d��fdd�}|j�|��}|�d|�dS)Nrr)c�s���IdHSr�r rr$rr�	queue_get�sz2QueueGetTests.test_blocking_get.<locals>.queue_get)r0r1rrr
r#r6r5)rrd�resrr$r�test_blocking_get�s
zQueueGetTests.test_blocking_getc	Cs�|�t��tjd|jd�}W5QRX|�d�|j��}|j�|�|j�	|�
��}|�d|�|�|�
��|�|���dS)Nr)r)r0r1rrr
r#Z
create_future�_puttersrWr6r r5r"rZZassertIsNoner[)rr%�waiterrerrr�test_get_with_putters�s

z#QueueGetTests.test_get_with_puttersc	s��fdd�}��|����t��tj�d��tj�d��W5QRXd����fdd��������fdd�}��|��}��d	|���d
��	��dS)Nc3sdV}��d|�dVdS�NrUrrrrrr�sz1QueueGetTests.test_blocking_get_wait.<locals>.genrFc�s������IdH}d�|Sr>)�setr )re��finishedr%�startedrrrd�sz7QueueGetTests.test_blocking_get_wait.<locals>.queue_getc�sL��d�jd������}���IdH����|IdH}����|S�NrUr))�
call_laterr#r�waitrEr")Zqueue_get_taskre�rmr
r%rdrrnrr�	queue_put�s


z7QueueGetTests.test_blocking_get_wait.<locals>.queue_putr)rU)
rr0r1rr�Eventr6r5rr_)rrrsrerrrr�test_blocking_get_wait�s
	z$QueueGetTests.test_blocking_get_waitc	CsB|�t��tj|jd�}W5QRX|�d�|�d|���dSrC�r0r1rrr
r#r5r.r<rrr�test_nonblocking_get�s
z"QueueGetTests.test_nonblocking_getc	Cs8|�t��tj|jd�}W5QRX|�tj|j�dSr8)r0r1rrr
�assertRaisesZ
QueueEmptyr.r<rrr�test_nonblocking_get_exception�sz,QueueGetTests.test_nonblocking_get_exceptionc	s|�fdd�}��|����t��tj�d��W5QRX�fdd�����fdd�}��d��|�����d	����dS)
Nc3s.dV}��d|�dV}��d|�dVdS)NrUg�Zd;�?g�������?rrrrrr�s
z-QueueGetTests.test_get_cancelled.<locals>.genrc�st����d�IdHS)Ng�&1��?)r�wait_forr rr$rrrd�sz3QueueGetTests.test_get_cancelled.<locals>.queue_getc�s0�����}t�d�IdH��d�|IdHSro)rrr!r#)Zget_task)r
r%rdrrr^�s
z.QueueGetTests.test_get_cancelled.<locals>.testr)g���Q��?)	rr0r1rrr5r6rr_r`r)r
r%rdrr�test_get_cancelled�s
z QueueGetTests.test_get_cancelledc	Cs�|�t��tj|jd�}W5QRX|j�|���}|j�|���}t�|j�|�	�t�|j�|�
|���|�d�t�|j�|�
|��d�dS�Nr�a)r0r1rrr
rr �
test_utils�run_briefly�cancelr"rZr#r5r[)rr%�t1�t2rrr�test_get_cancelled_races
z%QueueGetTests.test_get_cancelled_racec	Cs�|�t��tj|jdd�}W5QRX|j�|�d��|j�|�d��t�|j�|�	|j�
|���d�|�	|j�
|���d�dS)Nr)�r
r+r}�b)r0r1rrr
rr-r~rr5r6r r<rrr�test_get_with_waiting_putterssz+QueueGetTests.test_get_with_waiting_puttersc	Cshdd�}dd�}d}d}|�t��tj||jd�}W5QRX|j�tj|||�|||�|jd��dS)Nc�s t|�D]}|��IdHqdSr)rPr )�queueZnum_expectedrNrrr�consumer"sz<QueueGetTests.test_why_are_getters_waiting.<locals>.consumerc�s"t|�D]}|�|�IdHqdSr)rPr-)r�Z	num_itemsrRrrr�producer&sz<QueueGetTests.test_why_are_getters_waiting.<locals>.producerr)�r�r0r1rrr
r6Zgather)rr�r��
queue_sizeZproducer_num_itemsr%rrr�test_why_are_getters_waitings��z*QueueGetTests.test_why_are_getters_waitingc	Cspdd�}|�|�|_dd�}|�t��tj|jdd�}W5QRX|j�|j�||���|�t	|j
�d�dS)NcssdVdVdSrrrrrr�a_generator7szXQueueGetTests.test_cancelled_getters_not_being_held_in_self_getters.<locals>.a_generatorc�s6zt�|��d�IdH}Wntjk
r0YnXdS)Nr)rrzr �TimeoutError)r��itemrrrr�=szUQueueGetTests.test_cancelled_getters_not_being_held_in_self_getters.<locals>.consumerr�r�r)rr
r0r1rrr6rr5�lenZ_getters)rr�r�r�rrr�5test_cancelled_getters_not_being_held_in_self_getters6szCQueueGetTests.test_cancelled_getters_not_being_held_in_self_gettersN)
rrrrfrirurwryr{r�r�r�r�rrrrrb�s
"	rbc@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�
QueuePutTestsc	sB|�t��tj|jd��W5QRX�fdd�}|j�|��dS)Nrc�s��d�IdHdS)Nr)�r-rr$rrrsOsz2QueuePutTests.test_blocking_put.<locals>.queue_put)r0r1rrr
r6�rrsrr$r�test_blocking_putKszQueuePutTests.test_blocking_putc	s��fdd�}��|����t�� tjd�d��tj�d��W5QRXd����fdd��������fd	d
�}��|����d����dS)Nc3sdV}��d|�dVdSrjrrrrrrWsz1QueuePutTests.test_blocking_put_wait.<locals>.genr)r*rFc�s0�����d�IdH��d�IdHd�dS)Nr)r,T)rkr-rrlrrrscsz7QueuePutTests.test_blocking_put_wait.<locals>.queue_putc�sJ��d�j������}���IdH����|IdH����dSrj)rpr.rrqrEr")Zqueue_put_task�rmr
r%rsrrnrrrdjs

z7QueuePutTests.test_blocking_put_wait.<locals>.queue_getrU)	rr0r1rrrtr6rr_)rrrdrr�r�test_blocking_put_waitUs
z$QueuePutTests.test_blocking_put_waitc	CsB|�t��tj|jd�}W5QRX|�d�|�d|���dSrCrvr<rrr�test_nonblocking_putus
z"QueuePutTests.test_nonblocking_putc	Cs�dd�}|�|�}|�t��tj|d�}W5QRX|�|���}|�t�d��|�	d�|�	d�|�
�z|�|�Wn.tjk
r�|�|���}|�|�YnX|��}|�
d|�dS)NcssdVdVdS�NrUrrrrrrr|szBQueuePutTests.test_get_cancel_drop_one_pending_reader.<locals>.genrrUr)r,)rr0r1rrrr r6r!r#r��CancelledErrorr[r5)rrr
r%�readerr[rrr�'test_get_cancel_drop_one_pending_reader{s 


z5QueuePutTests.test_get_cancel_drop_one_pending_readerc	Cs�dd�}|�|�}|�d�|�t��tj|d�}W5QRX|�|���}|�|���}|�|���}|�t�	d��|�
d�|�
d�|��z|�|�Wntjk
r�YnX|�|�|�
|��|��hddh�dS)NcssdVdVdSr�rrrrrr�szDQueuePutTests.test_get_cancel_drop_many_pending_readers.<locals>.genTrrUr)r,)rZ	set_debugr0r1rrrr r6r!r#r�r�r5r[)rrr
r%Zreader1Zreader2Zreader3rrr�)test_get_cancel_drop_many_pending_readers�s$




z7QueuePutTests.test_get_cancel_drop_many_pending_readersc	Cs�dd�}|�|�}|�t��tjd|d�}W5QRX|�d�|�|�d��}|�t�	d��|�
�}|�|d�|��z|�|�Wn0tj
k
r�|�|�d��}|�|�YnX|�
�}|�|d�|�|��d�dS)NcssdVdVdSr�rrrrrr�sz/QueuePutTests.test_put_cancel_drop.<locals>.genr)rr,rUr)rr0r1rrr#rr-r6r!r.r5r�r��qsize)rrr
r%�writerZvalue1Zvalue2rrr�test_put_cancel_drop�s$

z"QueuePutTests.test_put_cancel_dropc	CsF|�t��tjd|jd�}W5QRX|�d�|�tj|jd�dS)Nr)r*r,)r0r1rrr
r#rx�	QueueFullr<rrr�test_nonblocking_put_exception�s
z,QueuePutTests.test_nonblocking_put_exceptionc	s���t��tjd�jd��W5QRX��d���d���������tj	�jd���t��tjd�jd��W5QRX��fdd�}�j�
|��dS)Ng�������?r*r)r,rJc�s2��d�IdH��d�IdH������dS)Nr)r,)r-r"rGr�r%rrrrs�sz3QueuePutTests.test_float_maxsize.<locals>.queue_put)r0r1rrr
r#r"rGrxr�r6r�rr�r�test_float_maxsize�s

z QueuePutTests.test_float_maxsizec	s�|�t��tj|jd��W5QRX�fdd�}�fdd�}|j�|��}|�d|j�|���|�|�	��|�|�
��dS)Nrc�s��d�IdHdS)Nr)Tr�rr$rrrs�sz3QueuePutTests.test_put_cancelled.<locals>.queue_putc�s���IdHSrrcrr$rrr^�sz.QueuePutTests.test_put_cancelled.<locals>.testr))r0r1rrr
rr5r6r"rZr[)rrsr^r\rr$r�test_put_cancelled�sz QueuePutTests.test_put_cancelledc	Cs�|�t��tj|jdd�}W5QRX|j�|�d��}|j�|�d��}|j�|�d��}t�|j�|�	|�
��|�|�
��|��t�|j�|�	|�
��|�
|��d�t�|j�|�
|��d�|j�|�dS)Nr)r�r}r��X)r0r1rrr
rr-r~rr"rZrEr�r5r.r6)rr%Zput_aZput_bZput_crrr�test_put_cancelled_race�sz%QueuePutTests.test_put_cancelled_racec	Csj|�t��tj|jd�}W5QRX|j�|���}t�|j�|j�	|�
d��|�|j�	|�d�dSr|)r0r1rrr
rr r~rr6r-r5)rr%r\rrr�test_put_with_waiting_getterssz+QueuePutTests.test_put_with_waiting_gettersc
s�|�t��tjd|jd��W5QRX�fdd�}�fdd�}|d�}|d�}|d�}|d	�}|j�tj|�|||||jd��dS)
Nr,rc�s��|�IdHdSrr��r��r�rrrY!sz:QueuePutTests.test_why_are_putters_waiting.<locals>.putterc�s2t�d�IdH���}t|�D]}���}q dS)Nr)rr!r�rPr.)�numrNr�r�rr�getter$sz:QueuePutTests.test_why_are_putters_waiting.<locals>.getterrr)rJr�)rrYr��t0r�r�Zt3rr�r�test_why_are_putters_waitings�z*QueuePutTests.test_why_are_putters_waitingc	Cs�dd�}|�|�}|�t��tj|dd�}W5QRX|�d�|�|�d��}|�t�	d��|�
t|j�d�|�
�|�tj��|�|�W5QRX|�
t|j�d�dS)NcssdVdVdSr�rrrrrr�2szUQueuePutTests.test_cancelled_puts_not_being_held_in_self_putters.<locals>.a_generatorr)r�rUr)rr0r1rrr#rr-r6r!r5r�rgr�rxr�)rr�r
r��put_taskrrr�2test_cancelled_puts_not_being_held_in_self_putters1s

z@QueuePutTests.test_cancelled_puts_not_being_held_in_self_puttersc	Cs�dd�}|�|�}|�t��tjd|d�}W5QRX|�d�|�|�d��}|�t�	d��|�
�|��|�tj
��|�|�W5QRXdS)NcssdVdVdSr�rrrrrrJszKQueuePutTests.test_cancelled_put_silence_value_error_exception.<locals>.genr)rrU)rr0r1rrr#rr-r6r!r.r�rxr�)rrr
r�r�rrr�0test_cancelled_put_silence_value_error_exceptionIs

z>QueuePutTests.test_cancelled_put_silence_value_error_exceptionN)rrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�Is
  r�c@seZdZdd�ZdS)�LifoQueueTestsc	sd|�t��tj|jd��W5QRXdD]}��|�q(�fdd�td�D�}|�dddg|�dS)NrrIcsg|]}����qSrrKrLr$rrrOnsz-LifoQueueTests.test_order.<locals>.<listcomp>rJr,r))r0r1r�	LifoQueuer
r#rPr5rQrr$rrThszLifoQueueTests.test_orderN�rrrrTrrrrr�fsr�c@seZdZdd�ZdS)�PriorityQueueTestsc	sd|�t��tj|jd��W5QRXdD]}��|�q(�fdd�td�D�}|�dddg|�dS)NrrIcsg|]}����qSrrKrLr$rrrOzsz1PriorityQueueTests.test_order.<locals>.<listcomp>rJr)r,)r0r1r�
PriorityQueuer
r#rPr5rQrr$rrTtszPriorityQueueTests.test_orderNr�rrrrr�rsr�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�ZdS)
�_QueueJoinTestMixinNc	Cs6|�t��|j|jd�}W5QRX|�t|j�dSr8)r0r1�q_classr
rx�
ValueError�	task_doner<rrr�test_task_done_underflow�sz,_QueueJoinTestMixin.test_task_done_underflowc	s���t���j�jd��W5QRXtd�D]}��|�q,d�d����fdd�����fdd�}�j�|��}��ttd����d	�tt	|��D]}��d�q��j�t
�|��dS)
Nr�drTc�s(�r$���IdH}�|7����qdSr)r r�r�)�accumulatorr%�runningrr�worker�sz2_QueueJoinTestMixin.test_task_done.<locals>.workerc�s*��fdd�td�D�}���IdH|S)Ncsg|]}�j�����qSr)r
r)rM�index)rr�rrrO�s�zD_QueueJoinTestMixin.test_task_done.<locals>.test.<locals>.<listcomp>r,)rP�join)�tasks)r%rr�rrr^�s
�z0_QueueJoinTestMixin.test_task_done.<locals>.testF)r0r1r�r
rPr#r6r5�sumr�rrq)rrRr^r�r)r�r%r�rr�r�test_task_done�sz"_QueueJoinTestMixin.test_task_donec	sB|�t��|j|jd��W5QRX�fdd�}|j�|��dS)Nrc�s ���IdH���IdHdSr)r�rr$rrr��sz7_QueueJoinTestMixin.test_join_empty_queue.<locals>.join)r0r1r�r
r6)rr�rr$r�test_join_empty_queue�sz)_QueueJoinTestMixin.test_join_empty_queuec	CsN|�t��|j|jd�}W5QRX|�|��d�d|_|�|��d�dS)Nrz	maxsize=0r,zmaxsize=0 tasks=2)r0r1r�r
r5�_format�_unfinished_tasksr<rrr�test_format�s
z_QueueJoinTestMixin.test_format)rrrr�r�r�r�r�rrrrr�~s
$
r�c@seZdZejZdS)�QueueJoinTestsN)rrrrrr�rrrrr��sr�c@seZdZejZdS)�LifoQueueJoinTestsN)rrrrr�r�rrrrr��sr�c@seZdZejZdS)�PriorityQueueJoinTestsN)rrrrr�r�rrrrr��sr��__main__)�__doc__ZunittestrrZtest.test_asynciorr~rZTestCaser	rrbr�r�r�r�r�r�r�r�mainrrrr�<module>s*$C