Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_queue.cpython-38.opt-1.pyc
U

>��glQ�@s�ddlZddlZddlZddlZddlZddlZddlmZejddgd�Z	ejddgd�Z
e�e
d�ZdZ
d	d
�ZGdd�dej�ZGd
d�d�ZGdd�de�ZGdd�de�ZGdd�deej�ZeGdd�deej��ZGdd�de�ZGdd�deej�ZeGdd�deej��ZGdd�de�ZGdd �d eej�ZeGd!d"�d"eej��ZGd#d$�d$e�ZGd%d&�d&e�ZGd'd(�d(eej�Z eGd)d*�d*eej��Z!Gd+d,�d,�Z"Gd-d.�d.e"ej�Z#eGd/d0�d0e"ej��Z$e%d1k�r�e�&�dS)2�N)�support�queue�_queue)Zblocked)ZfreshzNo _queue module found�cCs|jdko|��|jkS�Nr)�maxsize�qsize)�q�r
�./opt/cppython/lib/python3.8/test/test_queue.py�qfullsrc@seZdZdd�Zdd�ZdS)�_TriggerThreadcCs&||_||_t��|_tj�|�dS�N)�fn�args�	threading�Event�startedEvent�Thread�__init__)�selfrrr
r
rrs
z_TriggerThread.__init__cCs$t�d�|j��|j|j�dS)N皙�����?)�time�sleepr�setrr�rr
r
r�runs	

z_TriggerThread.runN)�__name__�
__module__�__qualname__rrr
r
r
rr
sr
c@seZdZdd�Zdd�ZdS)�BlockingTestMixinc
CsRt||�}|��z,||�|_|j��s6|�d|�|jW�St�|d�XdS)N�
z*blocking function %r appeared not to block)r
�startr�join_thread�resultr�is_set�fail)r�
block_func�
block_args�trigger_func�trigger_args�threadr
r
r�do_blocking_test7s


�
z"BlockingTestMixin.do_blocking_testc
Cspt||�}|��z6z||�Wn|k
r6�YnX|�d|�W5t�|d�|j��sj|�d�XdS)Nr!z(trigger thread ended but event never setzexpected exception of kind %r)r
r"rr#rr%r&)rr'r(r)r*Zexpected_exception_classr+r
r
r�do_exceptional_blocking_testEs
�

z.BlockingTestMixin.do_exceptional_blocking_testN)rrrr,r-r
r
r
rr 5sr c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�BaseQueueTestMixincCsd|_t��|_dSr)�cumr�Lock�cumlockrr
r
r�setUpXszBaseQueueTestMixin.setUpcCs||��rtd��|�|���|�|���|�d�|�d�|�d�tdddgdddgdddgd�}|��|��|��g}|�	|||j
jd�tt
d�D]}|�|�|�|��d�q�|�t|�d	�d
t
}dt
}|�|�|�t|�d�|�|���|�|���z|j|d
d�|�d�Wn|jjk
�rPYnXz|j|dd�|�d�Wn|jjk
�r�YnX|�|j|f|jd�|�|j|ddf|jd�tt
�D]}|���q�|�|��d�z|jd
d�|�d�Wn|jjk
�rYnXz|jdd�|�d�Wn|jjk
�rNYnX|�|jd|jd�|�|jd|jd�dS)N�&Call this function with an empty queue�oiM��)�Queue�	LifoQueue�
PriorityQueuez&Didn't seem to queue the correct data!��Queue should not be empty�Queue should not be full���Queue should be fullr��blockz(Didn't appear to block with a full queueg{�G�z�?��timeoutz+Didn't appear to time-out with a full queuer
Tr!�Queue should be emptyz*Didn't appear to block with an empty queuez-Didn't appear to time-out with an empty queue��empty)Tr!)r�RuntimeError�
assertTruerE�assertFalse�full�put�dict�get�assertEqual�	__class__r�range�
QUEUE_SIZErr&r�Fullr,�Empty)rr	Ztarget_orderZactual_order�i�lastrIr
r
r�basic_queue_test\sh



��

z#BaseQueueTestMixin.basic_queue_testc	CsJ|��}|dkr|��dS|j�|j|7_W5QRX|��qdSr)rL�	task_doner1r/)rr	�xr
r
r�worker�szBaseQueueTestMixin.workercCs�d|_g}dD](}tj|j|fd�}|��|�|�qtd�D]}|�|�q@|��|�	|jt
td��d�dD]}|�d�qt|��|D]}|��q�dS)Nr)rr9��targetr�dz0q.join() did not block until all tasks were done���)r/rrrXr"�appendrOrJ�joinrM�sum)rr	�threadsrSr+r
r
r�queue_join_test�s"�z"BaseQueueTestMixin.queue_join_testcCs8|��}z|��Wntk
r(YnX|�d�dS�Nz(Did not detect task count going negative)�	type2testrV�
ValueErrorr&�rr	r
r
r�test_queue_task_done�sz'BaseQueueTestMixin.test_queue_task_donecCsL|��}|�|�|�|�z|��Wntk
r<YnX|�d�dSrb)rcrarVrdr&rer
r
r�test_queue_join�s

z"BaseQueueTestMixin.test_queue_joincCs"|�t�}|�|�|�|�dSr)rcrPrUrer
r
r�
test_basic�s

zBaseQueueTestMixin.test_basicc	CsV|�t�}|�t��|jddd�W5QRX|�t��|jddd�W5QRXdS�Nr9r\rA)rcrP�assertRaisesrdrJrLrer
r
r�&test_negative_timeout_raises_exception�s

z9BaseQueueTestMixin.test_negative_timeout_raises_exceptionc	Cs�|�t�}tt�D]}|�d�q|�|jj��|�d�W5QRXtt�D]}|��qN|�|jj��|��W5QRXdS)Nr9)	rcrPrO�
put_nowaitrjrrQ�
get_nowaitrR�rr	rSr
r
r�test_nowait�s

zBaseQueueTestMixin.test_nowaitc	Cs�|�d�}|�d�|�d�|�d�|�|jj��|�d�W5QRX|�|��d�d|_|�|jj��|�d�W5QRXdS)N�r9r<�)	rcrJrjrrQrlrMrrrer
r
r�test_shrinking_queue�s



z'BaseQueueTestMixin.test_shrinking_queueN)
rrrr2rUrXrarfrgrhrkrorrr
r
r
rr.Ws9


r.cseZdZ�fdd�Z�ZS)�	QueueTestcs|jj|_t���dSr)rr6rc�superr2r�rNr
rr2�s
zQueueTest.setUp�rrrr2�
__classcell__r
r
rurrs�srsc@seZdZeZdS)�PyQueueTestN�rrr�py_queuerr
r
r
rrx�srxc@seZdZeZdS)�
CQueueTestN�rrr�c_queuerr
r
r
rr{�sr{cseZdZ�fdd�Z�ZS)�
LifoQueueTestcs|jj|_t���dSr)rr7rcrtr2rrur
rr2s
zLifoQueueTest.setUprvr
r
rurr~�sr~c@seZdZeZdS)�PyLifoQueueTestNryr
r
r
rrsrc@seZdZeZdS)�CLifoQueueTestNr|r
r
r
rr�	sr�cseZdZ�fdd�Z�ZS)�PriorityQueueTestcs|jj|_t���dSr)rr8rcrtr2rrur
rr2s
zPriorityQueueTest.setUprvr
r
rurr�sr�c@seZdZeZdS)�PyPriorityQueueTestNryr
r
r
rr�sr�c@seZdZeZdS)�CPriorityQueueTestNr|r
r
r
rr�sr�c@seZdZdS)�FailingQueueExceptionN�rrrr
r
r
rr�sr�cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�FailingQueueTestcs0|jj�G�fdd�d��}||_t���dS)Ncs0eZdZ�fdd�Z�fdd�Z�fdd�ZdS)z,FailingQueueTest.setUp.<locals>.FailingQueuecs d|_d|_�j|f|��dS)NF)�
fail_next_put�
fail_next_getr)rr�r6r
rr(sz5FailingQueueTest.setUp.<locals>.FailingQueue.__init__cs |jrd|_td����||�S�NFzYou Lose)r�r��_put)r�itemr�r
rr�,sz1FailingQueueTest.setUp.<locals>.FailingQueue._putcs|jrd|_td����|�Sr�)r�r��_getrr�r
rr�1sz1FailingQueueTest.setUp.<locals>.FailingQueue._getN)rrrrr�r�r
r�r
r�FailingQueue'sr�)rr6r�rtr2)rr�rur�rr2#szFailingQueueTest.setUpcCs�|��rtd��ttd�D]}|�|�qd|_z|jddd�|�d�Wntk
rbYnXd|_z|jddd	�|�d�Wntk
r�YnX|�d
�|�t	|�d�d|_z"|�
|jd|jd
�|�d�Wntk
r�YnX|�d
�d|_z$|�|jd|jd
t�|�d�Wntk
�r>YnX|�d
�|�t	|�d�|��|�t	|�d�|�d
�|�t	|�d�|�
|jd|jd
�tt�D]}|���q�|�|��d�|�d�d|_
z|��|�d�Wntk
�rYnX|�|��d�d|_
z|jdd	�|�d�Wntk
�rPYnX|�|��d�|��|�|��d�d|_
z$|�|jd
|jdt�|�d�Wntk
�r�YnX|�|��d�|��|�|��d�dS)Nr3r9TZoopsrr?z)The queue didn't fail when it should haverrArTr>)rIr
)rITr!r;rC�firstr:rD)rrFrOrPrJr�r&r�rGrr,rLr-r�rnr
r
r�failing_queue_test;s�

�


�z#FailingQueueTest.failing_queue_testcCs"|�t�}|�|�|�|�dSr)r�rPr�rer
r
r�test_failing_queue�s

z#FailingQueueTest.test_failing_queue)rrrr2r�r�rwr
r
rurr�!sQr�c@seZdZeZdS)�PyFailingQueueTestNryr
r
r
rr��sr�c@seZdZeZdS)�CFailingQueueTestNr|r
r
r
rr��sr�c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�BaseSimpleQueueTestcCs|��|_dSr)rcr	rr
r
rr2�szBaseSimpleQueueTest.setUpcCsRz|��}Wntk
r"YdSX|�|�|��dkrt�|��d�qdS)Ng�?���MbP?)�pop�
IndexErrorrJ�randomrr)rr	�seq�rnd�valr
r
r�feed�s
zBaseSimpleQueueTest.feedcCs$|��}||krdS|�|�qdSr)rLr]�rr	�results�sentinelr�r
r
r�consume�szBaseSimpleQueueTest.consumecCsTz|jdd�}Wq8|jjk
r2t�d�YqXq8q||krDdS|�|�qdS)NFr?��h㈵��>)rLrrRrrr]r�r
r
r�consume_nonblock�sz$BaseSimpleQueueTest.consume_nonblockcCsJz|jdd�}Wq.|jjk
r(YqXq.q||kr:dS|�|�qdS)Nr�rA)rLrrRr]r�r
r
r�consume_timeout�sz#BaseSimpleQueueTest.consume_timeoutc		s�g�d�|�g|����t�d��g��fdd�������fdd�t|�D�}�����fdd�t|�D�}t�||��W5QRX|���|�����|�	��
�d��S)N�*cs��fdd�}|S)Nc
s@z�||�Wn,tk
r:}z��|�W5d}~XYnXdSr)�
BaseExceptionr])r�kwargs�e)�
exceptions�fr
r�wrapper�szHBaseSimpleQueueTest.run_threads.<locals>.log_exceptions.<locals>.wrapperr
)r�r�)r�)r�r�log_exceptions�sz7BaseSimpleQueueTest.run_threads.<locals>.log_exceptionscs$g|]}tj������fd��qS�rY�rr��.0rS)�	feed_funcr�r	r�r�r
r�
<listcomp>�s�
�z3BaseSimpleQueueTest.run_threads.<locals>.<listcomp>cs$g|]}tj������fd��qSr�r�r�)�consume_funcr�r	r�r�r
rr��s�
�r)�reverser��RandomrOrZ
start_threadsrHrGrErMr)	rZ	n_feedersZn_consumersr	�inputsr�r�ZfeedersZ	consumersr
)	r�r�r�r�r	r�r�r�r�r�run_threads�s&
��

zBaseSimpleQueueTest.run_threadsc	Cs�|j}|�|���|�|��d�|�d�|�|���|�|��d�|�d�|�d�|�d�|�|���|�|��d�|�|��d�|�|��d�|�|�	�d�|�|��d�|�|jdd�d�|�|���|�|��d�|�|jdd	�d�|�|���|�|��d�|�
|jj��|jdd�W5QRX|�
|jj��|jd
d	�W5QRX|�
|jj��|�	�W5QRX|�|���|�|��d�dS)Nrr9r<rprqFr?rrAr�)
r	rGrErMrrJrHrlrLrmrjrrRrer
r
rrh�s:



zBaseSimpleQueueTest.test_basicc	Cs6|j}|�d�|�t��|jdd�W5QRXdSri)r	rJrjrdrLrer
r
rrks
z:BaseSimpleQueueTest.test_negative_timeout_raises_exceptioncCs:|j}ttd��}|�dd|||j|j�}|�||�dS)Nr[r9)r	�listrOr�r�r�rM)rr	r�r�r
r
r�
test_orderszBaseSimpleQueueTest.test_ordercCsBd}|j}ttd��}|�|||||j|j�}|�t|�|�dS�N�2�')r	r�rOr�r�r�rM�sorted�r�Nr	r�r�r
r
r�test_many_threads$s
z%BaseSimpleQueueTest.test_many_threadscCsBd}|j}ttd��}|�|||||j|j�}|�t|�|�dSr�)r	r�rOr�r�r�rMr�r�r
r
r�test_many_threads_nonblock/s�z.BaseSimpleQueueTest.test_many_threads_nonblockcCsBd}|j}ttd��}|�|||||j|j�}|�t|�|�dS)Nr�i�)r	r�rOr�r�r�rMr�r�r
r
r�test_many_threads_timeout9s�z-BaseSimpleQueueTest.test_many_threads_timeoutcCs^Gdd�d�}d}|j}t|�D]}|�|��q t|�D]}t�|���}|�|��q:dS)Nc@seZdZdS)z.BaseSimpleQueueTest.test_references.<locals>.CNr�r
r
r
r�CFsr��)r	rOrJ�weakref�refrLZassertIsNone)rr�r�r	rS�wrr
r
r�test_referencesCsz#BaseSimpleQueueTest.test_referencesN)rrrr2r�r�r�r�r�rhrkr�r�r�r�r�r
r
r
rr��s


!%	

r�cs eZdZeZ�fdd�Z�ZS)�PySimpleQueueTestcs|jj|_t���dSr)r�_PySimpleQueuercrtr2rrur
rr2Us
zPySimpleQueueTest.setUp)rrrrzrr2rwr
r
rurr�Rsr�cs0eZdZeZ�fdd�Zdd�Zdd�Z�ZS)�CSimpleQueueTestcs|jj|_t���dSr)r�SimpleQueuercrtr2rrur
rr2_s
zCSimpleQueueTest.setUpcCs(|�|j|jj�|�|j|jj�dSr)ZassertIsrcrr�rr
r
r�test_is_defaultcsz CSimpleQueueTest.test_is_defaultcs||j�t���d}g}G��fdd�dt�}|�}��t���~|�����|d|kr,q`q,|�|t	t
|d���dS)Nr�cs"eZdZdd�Z��fdd�ZdS)z2CSimpleQueueTest.test_reentrancy.<locals>.CircularcSs
||_dSr)Zcircularrr
r
rrssz;CSimpleQueueTest.test_reentrancy.<locals>.Circular.__init__cs��t���dSr)rJ�nextr��genr	r
r�__del__vsz:CSimpleQueueTest.test_reentrancy.<locals>.Circular.__del__N)rrrrr�r
r�r
r�Circularrsr�r\r9)r	�	itertools�count�objectrJr�r]rLrMr�rO)rr�r�r��or
r�r�test_reentrancygsz CSimpleQueueTest.test_reentrancy)	rrrr}rr2r�r�rwr
r
rurr�Zsr��__main__)'r�r�rrZunittestr��testrZimport_fresh_modulerzr}Z
skipUnlessZneed_c_queuerPrrr
r r.rsZTestCaserxr{r~rr�r�r�r��	Exceptionr�r�r�r�r�r�r�r�mainr
r
r
r�<module>sN "u4)


F1le Man4ger