python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_thread.cpython-311.opt-1.pyc

eG"ddlZddlZddlZddlmZddlmZddlZddl	Z	ddl
Z
ddlmZejddZ
dZd	ZejZd
ZGddejZGd
deZGddZGddeZGddejZGddejZedkrejdSdS)N)support)threading_helper)
lock_testsT)module
g{Gz?ctjr1t5t|ddddS#1swxYwYdSdS)z2Helper function for printing out debugging output.N)rverbose_print_mutexprint)args D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_thread.py
verbose_printrs
		#JJJ																		s155ceZdZdZdS)BasicThreadTestcHtj|_|jtj|_tj|_d|_d|_d|_tj
}|jtjg|RdSNr)
thread
allocate_lock
done_mutexacquire
running_mutexrandom_mutexcreatedrunning
next_identrthreading_setup
addCleanupthreading_cleanup)selfkeys  rsetUpzBasicThreadTest.setUps .00!!!#133"022.00(:ASAAAAAAN)__name__
__module____qualname__r"r#rrrs(
B
B
B
B
Br#rcteZdZdZdZdZdZeje	j
dvddZdZd	Z
d
S)ThreadRunningTestsc|j5|xjdz
c_td|jztj|j|jf|xjdz
c_|xjdz
c_ddddS#1swxYwYdS)Nzcreating task %s)rrrrstart_new_threadtaskrrr s rnewtaskzThreadRunningTests.newtask,s

		OOq OO,t>???#DI/ABBBLLALLLLALL																		sA(A==BBc	|j5tjdz}dddn#1swxYwYtd|dt|dzdt	j|td|z|j5|xjdzc_|jtkr$|jdkr|j
ddddS#1swxYwYdS)	N@task  will run for .Ausztask %s doner+r)rrandomrroundtimesleeprrrNUMTASKSrrelease)r identdelays   rr-zThreadRunningTests.task4sh

	.	.MOOg-E	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.
UUUE%)<L<L<L<LMNNN
5nu,---

	*	*LLALL|x''DLA,=,='')))	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*s+//	ACC"Cc"tj5ttD]}|td|jtdddddS#1swxYwYdS)Nz waiting for tasks to complete...all tasks done)rwait_threads_exitranger:r/rrrr is  rtest_starting_threadsz(ThreadRunningTests.test_starting_threads?s

/
1
1	,	,8__

<===O##%%%*+++
	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,sA#BBBc|tjddtjd|tjdddS)Nrzinitial stack size is not 0zstack_size not reset to default)assertEqualr
stack_sizer.s rtest_stack_sizez"ThreadRunningTests.test_stack_sizeHs]*,,a1NOOO!*,,a1RSSSSSr#)ntposixztest meant for nt and posixc	tjdnD#t$rtdYn)tj$r|dYnwxYwd}dD]S}tj||tj|||ztd|zTdD]}td|zd	|_d	|_tj
5ttD]}|
td
|jtddddn#1swxYwYtjd	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))rLrMztrying stack_size = (%d)rz!waiting for all tasks to completer?)rrG
ValueErrorrerrorskipTestrFrrrr@rAr:r/rr)r fail_msgtssrCs    rtest_nt_and_posix_stack_sizez/ThreadRunningTests.test_nt_and_posix_stack_sizeOs	"d####	0	0	0/
0
0
0
0
0|	"	"	"MM!
"
"
"
"
"	"<(	C	CCc"""V.00#x#~FFF;cABBBB%
	0
	0C4s:;;;DODL!355
0
0x##ALLNNNNABBB''))).///

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0	!s'A#AA*A#EE	 E	ctj}tjgfd}t	j5tj|dstjt|
tj|dzgtj
|fd}~s.tjttj.|
tj|ddddS#1swxYwYdS)NcddSN)appendrr;)mutstartedsrr-z,ThreadRunningTests.test__count.<locals>.taskus3NN4   KKMMMKKMMMMMr#r'r+c.dSrV)rW)_dones r<lambda>z0ThreadRunningTests.test__count.<locals>.<lambda>sT[[->->r#)r_countrrrr@r,r8r9
POLL_SLEEPrFr;weakrefrefr
gc_collect)r origr-wrr\rXrYs    @@@rtest__countzThreadRunningTests.test__countns}"$$


						

/
1
1	4	4#D"---
'
:&&&
'V]__dQh777KKMMMDT#>#>#>#>??B
%
:&&&"$$$
%
V]__d333!	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4sC#E		E
E
cxfd}tjtj5}t	j5tj|ddddn#1swxYwY|t|j
jd||j
j
|||j
jd||j
jddddS#1swxYwYdS)NcJtd)Ntask failed)r;rN)rYsrr-z:ThreadRunningTests.test_unraisable_exception.<locals>.tasks!OO]+++r#r'rhz&Exception ignored in thread started by)rrrcatch_unraisable_exceptionrr@rr,rFstr
unraisable	exc_valueassertIsobjecterr_msgassertIsNotNone
exc_traceback)r r-cmrYs   @rtest_unraisable_exceptionz,ThreadRunningTests.test_unraisable_exceptions	,	,	,	,	,&((

/
1
1
	>R!355
"
"!!!'b111!!!
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"

S!899=IIIMM"-.555R]2E
G
G
G  !<===
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>s6D/>B?D/B	D/B	BD//D36D3N)r$r%r&r/r-rDrHunittestskipIfosnamerSrersr'r#rr)r)*s	*	*	*,,,TTTX_RWO35RSSTS<444<>>>>>r#r)ceZdZdZdZdS)Barrierc||_d|_tj|_tj|_|jdSr)num_threadswaitingrr
checkin_mutexcheckout_mutexr)r r{s  r__init__zBarrier.__init__sN&$244$244##%%%%%r#c|j|jdz|_|j|jkr*|jdz
|_|jdS|j|j|jdz
|_|jdkr|jdS|jdS)Nr+r)r}rr|r{r~r;r.s renterz
Barrier.enters""$$$|a'<4++++a/DL'')))F""$$$##%%%|a'<1&&(((F##%%%%%r#N)r$r%r&rrr'r#rryrys2&&&&&&&&r#ryceZdZdZdZdS)BarrierTestcztj5tt|_t|_t
tD]}tj|j	|ftd|jtdddddS#1swxYwYdS)Nzwaiting for tasks to endz
tasks done)
rr@ryr:barrrArr,task2rrrrBs  rtest_barrierzBarrierTest.test_barriers

/
1
1	(	(x((DH#DL8__
:
:'
QD99994555O##%%%,'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(sBB00B47B4c
RttD]}|dkrd}n5|j5tjdz}dddn#1swxYwYt	d|dt|dzdt
j|t	d|d||j	t	d|z|j
5|xjd	zc_|jdk}dddn#1swxYwY|r|j
dSdS)
Nrr1r2r3r4r5z
 entering ztask %s leaving barrierr+)rANUMTRIPSrr6rr7r8r9rrrrrr;)r r<rCr=finisheds     rrzBarrierTest.task2sx	=	=Azz&66"MOOg5E666666666666666M 55%"4"4"4"46
7
7
7JuM555!!<===HNN3e;<<<<

	)	)LLALL|q(H	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	&O##%%%%%	&	&s#A

A	A	C??DDN)r$r%r&rrr'r#rrrs2(((&&&&&r#rceZdZejZdS)	LockTestsN)r$r%r&rrlocktyper'r#rrrs#HHHr#rcdeZdZdZejejdZdZ	dS)TestForkInThreadcFtj\|_|_dSrV)rvpiperead_fdwrite_fdr.s rr"zTestForkInThread.setUps&(gii#dmmmr#cdfd}tj5tj||j|jf|tj|jddtj	|jdddn#1swxYwY|
tjddS)NctjrdS	tj|tj|dtjddS#tjdwxYw)NOKr)rvforkclosewrite_exit)rrpids  rfork_threadz7TestForkInThread.test_forkinthread.<locals>.fork_threadsg'))C

!!!5)))s)AA/rr)exitcode)
rr@rr,rrrFrvreadrrprwait_process)r rrs  @rtest_forkinthreadz"TestForkInThread.test_forkinthreads
					 
/
1
1	$	$#K$,
1NOOORWT\155u===HT]###	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$
	
S!!!S1------sA)BBBc	tj|jn#t$rYnwxYw	tj|jdS#t$rYdSwxYwrV)rvrrOSErrorrr.s rtearDownzTestForkInThread.tearDowns{	HT\""""			D		HT]#####			DD	s
))A
AAN)
r$r%r&r"r
requires_forkrreap_threadsrrr'r#rrrsg000W"..#".6					r#r__main__)rvrtr6testrtest.supportr_threadrr8r`rrequires_working_threadingr:rr_rrrTestCaserr)ryrrrr$mainr'r#r<module>rs				



))))))++48888


#v#%%BBBBBh'BBBr>r>r>r>r>r>r>r>j&&&&&&&&2#&#&#&#&#&/#&#&#&J$$$$$
$$$$*****x(***ZzHMOOOOOr#