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_thread.cpython-38.opt-1.pyc
U

>��g�!�@s�ddlZddlZddlZddlmZddlZddlZddlZddlm	Z	dZ
dZdZe�
�Zdd�ZGd	d
�d
ej�ZGdd�de�ZGd
d�d�ZGdd�de�ZGdd�de	j�ZGdd�dej�Zedkr�e��dS)�N)�support)�
lock_tests�
�g{�G�z�?c	Cs"tjrt�t|�W5QRXdS)z2Helper function for printing out debugging output.N)r�verbose�_print_mutex�print)�arg�r
�//opt/cppython/lib/python3.8/test/test_thread.py�
verbose_printsrc@seZdZdd�ZdS)�BasicThreadTestcCsXt��|_|j��t��|_t��|_d|_d|_d|_t	�
�}|jt	jf|��dS�Nr)
�thread�
allocate_lock�
done_mutex�acquire�
running_mutex�random_mutex�created�running�
next_identrZthreading_setupZ
addCleanupZthreading_cleanup)�self�keyr
r
r�setUps



zBasicThreadTest.setUpN)�__name__�
__module__�__qualname__rr
r
r
rr
sr
c@sVeZdZdd�Zdd�Zdd�Zdd�Ze�e	j
d	kd
�dd��Zd
d�Zdd�Z
dS)�ThreadRunningTestsc	Cs`|j�P|jd7_td|j�t�|j|jf�|jd7_|jd7_W5QRXdS)N�zcreating task %s)rrrr�start_new_thread�taskrr�rr
r
r�newtask)szThreadRunningTests.newtaskc	Cs�|j�t��d}W5QRXtd|t|d�f�t�|�td|�|j�2|jd8_|jt	kr�|jdkr�|j
��W5QRXdS)N���@�task %s will run for %sus���.Aztask %s donerr)r�randomr�round�time�sleeprrr�NUMTASKSr�release)r�ident�delayr
r
rr!1s
zThreadRunningTests.taskc	CsHt���6tt�D]}|��qtd�|j��td�W5QRXdS)Nz waiting for tasks to complete...�all tasks done)r�wait_threads_exit�ranger+r#rrr�r�ir
r
r�test_starting_threads<s


z(ThreadRunningTests.test_starting_threadscCs2|�t��dd�t�d�|�t��dd�dS)Nrzinitial stack size is not 0zstack_size not reset to default)�assertEqualr�
stack_sizer"r
r
r�test_stack_sizeEs
z"ThreadRunningTests.test_stack_size)�nt�posixztest meant for nt and posixc
Cs�zt�d�Wn:tk
r*td�Yn tjk
rH|�d�YnXd}dD]0}t�|�|�t��|||�td|�qRdD]`}td|�d	|_d	|_t	�
��6tt�D]}|�
�q�td
�|j��td�W5QRXq�t�d	�dS)Niz3caught expected ValueError setting stack_size(4096)z4platform does not support changing thread stack sizez&stack_size(%d) failed - should succeed)��rzsuccessfully set stack_size(%d))r:r;ztrying stack_size = (%d)rz!waiting for all tasks to completer/)rr6�
ValueErrorr�errorZskipTestr5rrrr0r1r+r#rr)rZfail_msgZtssr3r
r
r�test_nt_and_posix_stack_sizeLs,



z/ThreadRunningTests.test_nt_and_posix_stack_sizec	s�t��}t������g���fdd�}t���xt�|d��sPt�t	�q@|�
t��|d����g�t�
|�fdd��}~�s�t�t	�q�|�
t��|�W5QRXdS)Ncs��d�������dS�N)�appendrr,r
)�mut�startedr
rr!rs
z,ThreadRunningTests.test__count.<locals>.taskr
rcs
��d�Sr?)r@)�_)�doner
r�<lambda>��z0ThreadRunningTests.test__count.<locals>.<lambda>)r�_countrrrr0r r)r*�
POLL_SLEEPr5r,�weakref�ref)rZorigr!�wrr
)rDrArBr�test__countks"
zThreadRunningTests.test__countc
s��fdd�}t���t���x}t���"���t�|d����W5QRX|�t|j	j
�d�|�|j	j|�|�|j	j
d�|�|j	j�W5QRXdS)Ncs���td��dS)N�task failed)r,r<r
�rBr
rr!�sz:ThreadRunningTests.test_unraisable_exception.<locals>.taskr
rMz&Exception ignored in thread started by)rrrZcatch_unraisable_exceptionr0rr r5�strZ
unraisable�	exc_valueZassertIs�object�err_msgZassertIsNotNone�
exc_traceback)rr!�cmr
rNr�test_unraisable_exception�s


�z,ThreadRunningTests.test_unraisable_exceptionN)rrrr#r!r4r7�unittestZskipIf�os�namer>rLrUr
r
r
rr's	
rc@seZdZdd�Zdd�ZdS)�BarriercCs.||_d|_t��|_t��|_|j��dSr)�num_threads�waitingrr�
checkin_mutex�checkout_mutexr)rrZr
r
r�__init__�s


zBarrier.__init__cCs�|j��|jd|_|j|jkr<|jd|_|j��dS|j��|j��|jd|_|jdkrt|j��dS|j��dS)Nrr)r\rr[rZr]r,r"r
r
r�enter�s





z
Barrier.enterN)rrrr^r_r
r
r
rrY�srYc@seZdZdd�Zdd�ZdS)�BarrierTestc	Cs`t���Ntt�|_t|_tt�D]}t�|j	|f�q"t
d�|j��t
d�W5QRXdS)Nzwaiting for tasks to endz
tasks done)
rr0rYr+�barrr1rr �task2rrrr2r
r
r�test_barrier�s


zBarrierTest.test_barrierc
Cs�tt�D]x}|dkrd}n|j�t��d}W5QRXtd|t|d�f�t�|�td||f�|j�	�td|�q|j
�|jd8_|jdk}W5QRX|r�|j�
�dS)Nrr$r%r&ztask %s entering %sztask %s leaving barrierr)r1�NUMTRIPSrr'rr(r)r*rar_rrrr,)rr-r3r.�finishedr
r
rrb�s"�

zBarrierTest.task2N)rrrrcrbr
r
r
rr`�s
r`c@seZdZejZdS)�	LockTestsN)rrrrrZlocktyper
r
r
rrf�srfc@s<eZdZdd�Ze�eed�d�ej	dd���Z
dd�Zd	S)
�TestForkInThreadcCst��\|_|_dSr?)rW�pipe�read_fd�write_fdr"r
r
rr�szTestForkInThread.setUp�forkzneed os.forkc	sZd���fdd�}t���*t�|d���t��jd�dd�W5QRX���d�dS)	Nznot setc	s^t��}|dkr>zt��j�t��jd�W5t�d�Xnt��j�t�|d�\}�dS)Nr�OK)rWrk�_exit�closeri�writerj�waitpid)�pid�r�statusr
r�thread1�sz3TestForkInThread.test_forkinthread.<locals>.thread1r
�rlzUnable to fork() in threadr)rr0rr r5rW�readri)rrtr
rrr�test_forkinthread�s
�z"TestForkInThread.test_forkinthreadcCsPzt�|j�Wntk
r$YnXzt�|j�Wntk
rJYnXdSr?)rWrnri�OSErrorrjr"r
r
r�tearDown�szTestForkInThread.tearDownN)rrrrrVZ
skipUnless�hasattrrWrZreap_threadsrwryr
r
r
rrg�s
rg�__main__)rWrVr'�testr�_threadrr)rIrr+rdrHrrrZTestCaser
rrYr`rfrgr�mainr
r
r
r�<module>s(t%,

F1le Man4ger