python (3.11.7)

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

eG"ddlZddlZddlZddlmZddlmZddlZddl	Z	ddl
Z
ddlmZejddZ
dZd	ZejZd
ZGddejZGd
deZGddZGddeZGddejZGddejZedkrejdSdS)N)support)threading_helper)
lock_testsT)module
g{Gz?c	tjr1t5t|ddddS#1swxYwYdSdSN)rverbose_print_mutexprint)args D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_thread.py
verbose_printrs<
		#JJJ																		s266ceZdZdZdS)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;r0rrrr!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))rMrNztrying stack_size = (%d)rz!waiting for all tasks to completer@)rrH
ValueErrorrerrorskipTestrGrrrrArBr;r0rr)r!fail_msgtssrDs    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)NcddSr
)appendrr<)mutstartedsrr.z,ThreadRunningTests.test__count.<locals>.taskus3NN4   KKMMMKKMMMMMr$r(r,c.dSr
)rW)_dones r<lambda>z0ThreadRunningTests.test__count.<locals>.<lambda>sT[[->->r$)r_countrrrrAr-r9r:
POLL_SLEEPrGr<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<rO)rYsrr.z:ThreadRunningTests.test_unraisable_exception.<locals>.tasks!OO]+++r$r(rhz&Exception ignored in thread started by)rrrcatch_unraisable_exceptionrrArr-rGstr
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'r0r.rErIunittestskipIfosnamerTrersr(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)
rrAryr;barrrBrr-task2rrrrCs  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)
Nrr2r3r4r5r6z
 entering ztask %s leaving barrierr,)rBNUMTRIPSrr7rr8r9r:rrrrrr<)r!r=rDr>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\|_|_dSr
)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)
rrArr-rrrGrvreadrrpr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$rYdSwxYwr
)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__)rvrtr7testrtest.supportr_threadrr9r`rrequires_working_threadingr;rr_rrrTestCaserr*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$