Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_queue.cpython-39.opt-2.pyc

a

��g�Q�@sddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ej
ddgd�Zej
ddgd�Ze�
ed�Zd	Zd
d�ZGdd
�d
ej�ZGdd�d�ZGdd�de�ZGdd�de�ZGdd�deej�ZeGdd�deej��ZGdd�de�ZGdd�deej�ZeGdd�deej��ZGdd�de�ZGd d!�d!eej�ZeGd"d#�d#eej��ZGd$d%�d%e�Z Gd&d'�d'e�Z!Gd(d)�d)e!ej�Z"eGd*d+�d+e!ej��Z#Gd,d-�d-�Z$Gd.d/�d/e$ej�Z%eGd0d1�d1e$ej��Z&e'd2k�r�e�(�dS)3�N)�support)�
gc_collect�queue�_queue)Zblocked)ZfreshzNo _queue module found�cCs|jdko|��|jkS�Nr)�maxsize�qsize)�q�r�+/usr/local/lib/python3.9/test/test_queue.py�qfullsr
c@seZdZdd�Zdd�ZdS)�_TriggerThreadcCs&||_||_t��|_tj�|�dS�N)�fn�args�	threading�Event�startedEvent�Thread�__init__)�selfrrrrrrs
z_TriggerThread.__init__cCs$t�d�|j��|j|j�dS)N皙�����?)�time�sleepr�setrr�rrrr�runs	

z_TriggerThread.runN)�__name__�
__module__�__qualname__rrrrrrrsrc@seZdZdd�Zdd�ZdS)�BlockingTestMixinc	CsXt||�}|��z4||�|_|j��s6|�d|�|jWt�|�St�|�0dS)Nz*blocking function %r appeared not to block)r�start�resultr�is_set�failr�join_thread)r�
block_func�
block_args�trigger_func�trigger_args�threadrrr�do_blocking_test8s


�
�z"BlockingTestMixin.do_blocking_testc	Cs�t||�}|��zRz||�Wn|y4�Yn0|�d|�Wt�|�|j��s�|�d�n t�|�|j��s�|�d�0dS)Nzexpected exception of kind %rz(trigger thread ended but event never set)rr"r%rr&rr$)rr'r(r)r*Zexpected_exception_classr+rrr�do_exceptional_blocking_testFs 
�

�

z.BlockingTestMixin.do_exceptional_blocking_testN)rrr r,r-rrrrr!6sr!c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�BaseQueueTestMixincCsd|_t��|_dSr)�cumr�Lock�cumlockrrrr�setUpYszBaseQueueTestMixin.setUpcCsn|��rtd��|�|���|�|���|�d�|�d�|�d�tgd�gd�gd�d�}|��|��|��g}|�	|||j
jd	�tt
d
�D]}|�|�|�|��d�q�|�t|�d�d
t
}dt
}|�|�|�t|�d�|�|���|�|���z|j|dd�|�d�Wn|jj�yHYn0z|j|dd�|�d�Wn|jj�y~Yn0|�|j|f|jd�|�|j|ddf|jd�tt
�D]}|���q�|�|��d�z|jdd�|�d�Wn|jj�yYn0z|jdd�|�d�Wn|jj�y@Yn0|�|jd|jd�|�|jd|jd�dS)N�&Call this function with an empty queue�o�M��)r4r5r6)r6r5r4)r4r6r5)�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 queuerT�
�Queue should be emptyz*Didn't appear to block with an empty queuez-Didn't appear to time-out with an empty queue��empty)TrD)r	�RuntimeError�
assertTruerG�assertFalse�full�put�dict�get�assertEqual�	__class__r�range�
QUEUE_SIZEr
r%r�Fullr,�Empty)rr
Ztarget_orderZactual_order�i�lastrKrrr�basic_queue_test]sh


��

z#BaseQueueTestMixin.basic_queue_testcCs^|��}|dkr|��dS|j�|j|7_Wd�n1sF0Y|��qdSr)rN�	task_doner1r/)rr
�xrrr�worker�s,zBaseQueueTestMixin.workercCs�d|_g}dD](}tj|j|fd�}|��|�|�qtd�D]}|�|�q@|��|�	|jt
td��d�dD]}|�d�qt|��|D]}|��q�dS)Nr)rr:��targetr�dz0q.join() did not block until all tasks were done���)r/rrrZr"�appendrQrL�joinrO�sum)rr
�threadsrUr+rrr�queue_join_test�s"�z"BaseQueueTestMixin.queue_join_testcCs6|��}z|��Wnty&Yn0|�d�dS�Nz(Did not detect task count going negative)�	type2testrX�
ValueErrorr%�rr
rrr�test_queue_task_done�sz'BaseQueueTestMixin.test_queue_task_donecCsJ|��}|�|�|�|�z|��Wnty:Yn0|�d�dSrd)rercrXrfr%rgrrr�test_queue_join�s

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

zBaseQueueTestMixin.test_basiccCs~|�t�}|�t��|jddd�Wd�n1s80Y|�t��|jddd�Wd�n1sp0YdS�Nr:r^rB)rerR�assertRaisesrfrLrNrgrrr�&test_negative_timeout_raises_exception�s

,z9BaseQueueTestMixin.test_negative_timeout_raises_exceptioncCs�|�t�}tt�D]}|�d�q|�|jj��|�d�Wd�n1sP0Ytt�D]}|��qb|�|jj��|��Wd�n1s�0YdS)Nr:)	rerRrQ�
put_nowaitrlrrS�
get_nowaitrT�rr
rUrrr�test_nowait�s
(
zBaseQueueTestMixin.test_nowaitcCs�|�d�}|�d�|�d�|�d�|�|jj��|�d�Wd�n1sV0Y|�|��d�d|_|�|jj��|�d�Wd�n1s�0YdS)N�r:r=�)	rerLrlrrSrnrOr	rrgrrr�test_shrinking_queue�s



(z'BaseQueueTestMixin.test_shrinking_queueN)
rrr r2rWrZrcrhrirjrmrqrtrrrrr.Xs9


r.cseZdZ�fdd�Z�ZS)�	QueueTestcs|jj|_t���dSr)rr7re�superr2r�rPrrr2�s
zQueueTest.setUp�rrr r2�
__classcell__rrrwrru�sruc@seZdZeZdS)�PyQueueTestN�rrr �py_queuerrrrrrz�srzc@seZdZeZdS)�
CQueueTestN�rrr �c_queuerrrrrr}�sr}cseZdZ�fdd�Z�ZS)�
LifoQueueTestcs|jj|_t���dSr)rr8rervr2rrwrrr2s
zLifoQueueTest.setUprxrrrwrr��sr�c@seZdZeZdS)�PyLifoQueueTestNr{rrrrr�sr�c@seZdZeZdS)�CLifoQueueTestNr~rrrrr�
sr�cseZdZ�fdd�Z�ZS)�PriorityQueueTestcs|jj|_t���dSr)rr9rervr2rrwrrr2s
zPriorityQueueTest.setUprxrrrwrr�sr�c@seZdZeZdS)�PyPriorityQueueTestNr{rrrrr�sr�c@seZdZeZdS)�CPriorityQueueTestNr~rrrrr�sr�c@seZdZdS)�FailingQueueExceptionN�rrr rrrrr� �r�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|g|�R�dS)NF)�
fail_next_put�
fail_next_getr)rr�r7rrr)sz5FailingQueueTest.setUp.<locals>.FailingQueue.__init__cs |jrd|_td����||�S�NFzYou Lose)r�r��_put)r�itemr�rrr�-sz1FailingQueueTest.setUp.<locals>.FailingQueue._putcs|jrd|_td����|�Sr�)r�r��_getrr�rrr�2sz1FailingQueueTest.setUp.<locals>.FailingQueue._getN)rrr rr�r�rr�rr�FailingQueue(sr�)rr7r�rvr2)rr�rwr�rr2$szFailingQueueTest.setUpcCs�|��rtd��ttd�D]}|�|�qd|_z|jddd�|�d�Wnty`Yn0d|_z|jddd	�|�d�Wnty�Yn0|�d
�|�t	|�d�d|_z"|�
|jd|jd
�|�d�Wnty�Yn0|�d
�d|_z$|�|jd|jd
t�|�d�Wnt�y6Yn0|�d
�|�t	|�d�|��|�t	|�d�|�d
�|�t	|�d�|�
|jd|jd
�tt�D]}|���q�|�|��d�|�d�d|_
z|��|�d�Wnt�y�Yn0|�|��d�d|_
z|jdd	�|�d�Wnt�yDYn0|�|��d�|��|�|��d�d|_
z$|�|jd
|jdt�|�d�Wnt�y�Yn0|�|��d�|��|�|��d�dS)Nr3r:TZoopsrr@z)The queue didn't fail when it should haverrBrVr?)rKr)rKTrDr<rE�firstr;rF)r	rHrQrRrLr�r%r�rIr
r,rNr-r�rprrr�failing_queue_test<s�

�


�z#FailingQueueTest.failing_queue_testcCs"|�t�}|�|�|�|�dSr)r�rRr�rgrrr�test_failing_queue�s

z#FailingQueueTest.test_failing_queue)rrr r2r�r�ryrrrwrr�"sQr�c@seZdZeZdS)�PyFailingQueueTestNr{rrrrr��sr�c@seZdZeZdS)�CFailingQueueTestNr~rrrrr��sr�c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�BaseSimpleQueueTestcCs|��|_dSr)rer
rrrrr2�szBaseSimpleQueueTest.setUpcCsZz|��}Wnty*|�|�YdS0|�|�|��dkrt�|��d�qdS)Ng�?���MbP?)�pop�
IndexErrorrL�randomrr)rr
�seq�rnd�sentinel�valrrr�feed�s

zBaseSimpleQueueTest.feedcCs$|��}||krdS|�|�qdSr)rNr_�rr
�resultsr�r�rrr�consume�szBaseSimpleQueueTest.consumecCsRz|jdd�}Wq6|jjy0t�d�Yq0q6q||krBdS|�|�qdS)NFr@��h㈵��>)rNrrTrrr_r�rrr�consume_nonblock�sz$BaseSimpleQueueTest.consume_nonblockcCsHz|jdd�}Wq,|jjy&Yq0q,q||kr8dS|�|�qdS)Nr�rB)rNrrTr_r�rrr�consume_timeout�sz#BaseSimpleQueueTest.consume_timeoutcs�g�d�|������t�d��g��fdd��������fdd�t|�D�}�����fdd�t|�D�}t�||��Wd�n1s�0Y|���|���	��|�
���d��S)N�*cs��fdd�}|S)Nc
sFz�|i|��Wn.ty@}z��|�WYd}~n
d}~00dSr)�
BaseExceptionr_)r�kwargs�e)�
exceptions�frr�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�r[�rr��.0rU)�	feed_funcr�r
r�r�r�rr�
<listcomp>�s�

�z3BaseSimpleQueueTest.run_threads.<locals>.<listcomp>cs$g|]}tj������fd��qSr�r�r�)�consume_funcr�r
r�r�rrr��s�
�r)�copy�reverser��RandomrQrZ
start_threadsrJrIrGrOr	)rZ	n_threadsr
�inputsr�r�ZfeedersZ	consumersr)	r�r�r�r�r
r�r�r�r�r�run_threads�s&
��
zBaseSimpleQueueTest.run_threadscCs�|j}|�|���|�|��d�|�d�|�|���|�|��d�|�d�|�d�|�d�|�|���|�|��d�|�|��d�|�|��d�|�|�	�d�|�|��d�|�|jdd�d�|�|���|�|��d�|�|jdd	�d�|�|���|�|��d�|�
|jj��|jdd�Wd�n1�s^0Y|�
|jj��|jd
d	�Wd�n1�s�0Y|�
|jj��|�	�Wd�n1�s�0Y|�|���|�|��d�dS)Nrr:r=rrrsFr@rrBr�)
r
rIrGrOr	rLrJrnrNrorlrrTrgrrrrj�s:



,,(zBaseSimpleQueueTest.test_basiccCsJ|j}|�d�|�t��|jdd�Wd�n1s<0YdSrk)r
rLrlrfrNrgrrrrms
z:BaseSimpleQueueTest.test_negative_timeout_raises_exceptioncCs8|j}ttd��}|�d|||j|j�}|�||�dS)Nr]r:)r
�listrQr�r�r�rO)rr
r�r�rrr�
test_orderszBaseSimpleQueueTest.test_ordercCs@d}|j}ttd��}|�||||j|j�}|�t|�|�dS�N�2�')r
r�rQr�r�r�rO�sorted�r�Nr
r�r�rrr�test_many_threads%s
z%BaseSimpleQueueTest.test_many_threadscCs@d}|j}ttd��}|�||||j|j�}|�t|�|�dSr�)r
r�rQr�r�r�rOr�r�rrr�test_many_threads_nonblock0s
�z.BaseSimpleQueueTest.test_many_threads_nonblockcCs@d}|j}ttd��}|�||||j|j�}|�t|�|�dS)Nr�i�)r
r�rQr�r�r�rOr�r�rrr�test_many_threads_timeout:s
�z-BaseSimpleQueueTest.test_many_threads_timeoutcCsdGdd�d�}d}|j}t|�D]}|�|��q t|�D]$}t�|���}t�|�|��q:dS)Nc@seZdZdS)z.BaseSimpleQueueTest.test_references.<locals>.CNr�rrrr�CGsr��)r
rQrL�weakref�refrNrZassertIsNone)rr�r�r
rU�wrrrr�test_referencesDsz#BaseSimpleQueueTest.test_referencesN)rrr r2r�r�r�r�r�rjrmr�r�r�r�r�rrrrr��s

 %	

r�cs eZdZeZ�fdd�Z�ZS)�PySimpleQueueTestcs|jj|_t���dSr)r�_PySimpleQueuerervr2rrwrrr2Ws
zPySimpleQueueTest.setUp)rrr r|rr2ryrrrwrr�Tsr�cs0eZdZeZ�fdd�Zdd�Zdd�Z�ZS)�CSimpleQueueTestcs|jj|_t���dSr)r�SimpleQueuerervr2rrwrrr2as
zCSimpleQueueTest.setUpcCs(|�|j|jj�|�|j|jj�dSr)ZassertIsrerr�rrrr�test_is_defaultesz 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)Zcircularrrrrrusz;CSimpleQueueTest.test_reentrancy.<locals>.Circular.__init__cs��t���dSr)rL�nextr��genr
rr�__del__xsz:CSimpleQueueTest.test_reentrancy.<locals>.Circular.__del__N)rrr rr�rr�rr�Circulartsr�r^r:)r
�	itertools�count�objectrLr�r_rNrOr�rQ)rr�r�r��orr�r�test_reentrancyisz CSimpleQueueTest.test_reentrancy)	rrr rrr2r�r�ryrrrwrr�\sr��__main__))r�r�rrZunittestr��testrZtest.supportrZimport_fresh_moduler|rZ
skipUnlessZneed_c_queuerRr
rrr!r.ruZTestCaserzr}r�r�r�r�r�r��	Exceptionr�r�r�r�r�r�r�r�mainrrrr�<module>sP "u5)


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists