python (3.11.7)

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

e^n	ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddlmZddlmZmZdd	lmZdd
l m!Z!ej"sej#dej$%ej$&e'ddZ(ej$)ej$*e(Z(d
Z+dZ,dZ-dZ.dZ/dZ0ej1dZ2Gddej3Z4ej5dGddZ6Gddej3Z7Gdde7Z8Gdde7Z9Gd d!e7Z:Gd"d#ej3Z;e<d$krejdSdS)%N)support)	os_helper)cmdline)main)setup)utils)set_match_tests
match_test)	TestStats)normalize_test_nameztest module requires subprocessz..z5[0-9]+:[0-9]+:[0-9]+ (?:load avg: [0-9]+\.[0-9]{2} )?z
    from signal import SIGINT, raise_signal
    try:
        raise_signal(SIGINT)
    except ImportError:
        import os
        os.kill(os.getpid(), SIGINT)
    c0eZdZ	edZdZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d0d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/S)1ParseArgsTestCasec*tj|SN)r_parse_args)argss F/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_regrtest.py
parse_argszParseArgsTestCase.parse_args>s"4(((c:tj5}|t5||dddn#1swxYwYdddn#1swxYwY|||dSr)rcaptured_stderrassertRaises
SystemExitrassertIngetvalue)selfrmsgerrs    r
checkErrorzParseArgsTestCase.checkErrorBs

$
&
&	"#t/@/@/L/L	"	"OOD!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"

c3<<>>*****s4A(AA(A	A(A	A((A,/A,c	dD]}||5tj5}|t5||gdddn#1swxYwYdddn#1swxYwY|d|dddn#1swxYwYdS)N)z-hz--helpoptzRun Python regression tests.)subTestrcaptured_stdoutrrrrr )r!r'outs   r	test_helpzParseArgsTestCase.test_helpGs!	N	NC#&&
N
N,..+#&&z22++OOSE***++++++++++++++++++++++++++++++

<cllnnMMM	
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N	N	NsXCB
A-	!B-A1
1B4A1
5B8CBCB+CC	
C	c|ddg}||jddD]d}||5|d|g}||jddddn#1swxYwYe|dgd|ddgd	dS)
N	--timeoutz4.2g@)z-10)valuez
--timeout=expected one argumentfoozinvalid timeout value:)rassertEqualtimeoutr(r$)r!nsr0s   rtest_timeoutzParseArgsTestCase.test_timeoutOs
__k51
2
2S)))%	3	3EE**
3
3__&:5&:&:%;<<  T222
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3	

'>???e,.FGGGGGs
5BB	B	cf|dg}||jdS)N--wait)r
assertTruewaitr!r5s  r	test_waitzParseArgsTestCase.test_wait\s/
__hZ
(
(     rcdD]y}||5||dg}||jd||gddddn#1swxYwYzdS)N)z-S--startr&r2r1)r(rr3startr$r!r'r5s   r
test_startzParseArgsTestCase.test_start`s"	@	@C#&&
@
@__c5\22  5111'>???
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@	@	@A
A11A5	8A5	c|dg}||jd|dg}||jd|dg}||jd|dgdz}||jd|g}||jddS)N-vz-vvvr	--verboser)rr3verboser;s  rtest_verbosezParseArgsTestCase.test_verbosegs
__dV
$
$Q'''
__fX
&
&Q'''
__k]
+
+Q'''
__k]Q.
/
/Q'''
__R
 
 Q'''''rcdD]`}||5||g}||jdddn#1swxYwYadS)N)z-w--rerunz
--verbose2r&)r(rr9rerunr@s   r
test_rerunzParseArgsTestCase.test_rerunss0	*	*C#&&
*
*__cU++)))
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*	*	*1AA	A	cdD]`}||5||g}||jdddn#1swxYwYadS)N)-W
--verbose3r&)r(rr9verbose3r@s   r
test_verbose3zParseArgsTestCase.test_verbose3y%	-	-C#&&
-
-__cU++,,,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	-	-rMcdD]{}||5||g}||j||jddddn#1swxYwY|dS)N)-q--quietr&r)r(rr9quietr3rGr@s   r
test_quietzParseArgsTestCase.test_quiets"	0	0C#&&
0
0__cU++)))  Q///
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0	0	0sAA33A7	:A7	cdD]`}||5||g}||jdddn#1swxYwYadS)N)z-o	--slowestr&)r(rr9
print_slowr@s   rtest_slowestzParseArgsTestCase.test_slowests$	/	/C#&&
/
/__cU++
...
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/	/	/rMc|dg}||j|dg}||jdS)Nz--headerrF)rr9headerr;s  rtest_headerzParseArgsTestCase.test_headersV
__j\
*
*	"""
__k]
+
+	"""""rcdD]`}||5||g}||jdddn#1swxYwYat	j5}d|d<|dg}t
j|}||j|	|j
t||j
d|d=|dg}t
j|}||j|	|j
tddddS#1swxYwYdS)N)-r--randomizer&
1697839080SOURCE_DATE_EPOCHrb)r(rr9	randomizerEnvironmentVarGuardrRegrtestassertFalseassertIsInstancerandom_seedstrr3int)r!r'r5envregrtests     rtest_randomizez ParseArgsTestCase.test_randomizes(	.	.C#&&
.
.__cU++---
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
*
,
,	='3C#$-11B}R((HX/000!!("6<<<X1<@@@'(-11B}R((HOOH.///!!("6<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=s$1AA	A	7C,E00E47E4c|ddg}||jd||j|dgd|ddgddS)Nz
--randseed12345i90r1r2invalid int value)rr3rjr9rer$r;s  r
test_randseedzParseArgsTestCase.test_randseeds{
__lG4
5
5///%%%(?@@@u-/BCCCCCrc0dD]}||5||dg}||jd||gd||ddgddddn#1swxYwYdS)N)-f
--fromfiler&r2r1-sdon't go together)r(rr3fromfiler$r@s   r
test_fromfilezParseArgsTestCase.test_fromfiles%	I	IC#&&
I
I__c5\22  e444'>???eT 24GHHH	
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I	I	IsA#B

B	B	cdD]`}||5||g}||jdddn#1swxYwYadS)N)z-x	--excluder&)r(rr9excluder@s   rtest_excludezParseArgsTestCase.test_exclude$	,	,C#&&
,
,__cU++
+++
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,	,	,rMcdD]y}||5||g}||j||ddgddddn#1swxYwYzdS)N)rwz--singler&rur2rx)r(rr9singler$r@s   rtest_singlezParseArgsTestCase.test_singles#	I	IC#&&
I
I__cU++	***dE 24GHHH
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I	I	IrBcXdD]z}||5||dg}||jdg||gddddn#1swxYwY{dD]z}||5||dg}||jdg||gddddn#1swxYwY{|gd}||jd	d
g|gd}||jd	dg|gd
}||jdd
g|tjtjttjd5}td|td|dddn#1swxYwYtj
tj}|ddd|g}||jgd|ddd|g}||jgddS)N)-mz--matchr&pattern)rTr1)-iz--ignore)rF)rpattern1rpattern2)rT)rT)rrrr)rF)rrrr)rFw
matchfile1file
matchfile2rmatch--matchfile))rT)rT)rTr--ignorefile))rF)rF)rF)r(rr3match_testsr$
addCleanuprunlinkTESTFNopenprintospathabspath)r!r'r5fpfilenames     r
test_matchzParseArgsTestCase.test_matchs"	@	@C#&&
@
@__c9%566  2C1DEEE'>???
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
$	@	@C#&&
@
@__c9%566  2D1EFFF'>???
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
__AAA
B
B*<>P)QRRR
__AAA
B
B*<>Q)RSSS
__AAA
B
B*=?Q)RSSS	()*:;;;
)"C
(
(	)B,R((((,R((((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)7??9#344
__dG]HE
F
FVVV	X	X	X__dG^XF
G
GYYY	[	[	[	[	[s7AA22A6	9A6	AC//C3	6C3	#H

HHc^dD]}||5||dg}||j||dg}||j||gddddn#1swxYwYdS)N)z-Gz
--failfastr&rDrOz#-G/--failfast needs either -v or -W)r(rr9failfastr$r@s   r
test_failfastzParseArgsTestCase.test_failfasts%	N	NC#&&
N
N__c4[11,,,__c4[11,,,'LMMM
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N	N	NsA:B!!B%	(B%	c\dD]}||5||dg}||jddg||dg}||jdgt	t
j}|d||dg}||j|||gd||d	gd
||dg}||jt	t
jdgz||d
g}||jd
gdddn#1swxYwYdS)N)-uz--user&zgui,networkguinetworkzgui,none,networkzall,-guir1r2zinvalid resourcez
all,tzdatatzdataextralargefile)	r(rr3
use_resourceslistr
ALL_RESOURCESremover$)r!r'r5expecteds    rtest_usezParseArgsTestCase.test_uses 	G	GC#&&
G
G__c=%9::  !1E93EFFF__c+=%>??  !1I;??? 566&&&__c:%677  !18<<<'>???e.@AAA__c<%899  !1!%g&;!<!<z!IKKK__c+;%<==  !14D3EFFF+
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G	G	GsE7FF#	&F#	cdD]y}||5||dg}||jd||gddddn#1swxYwYzdS)N)z-Mz
--memlimitr&4Gr1)r(rr3memlimitr$r@s   r
test_memlimitzParseArgsTestCase.test_memlimits%	@	@C#&&
@
@__c4[11  d333'>???
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@	@	@rBc|ddg}||jtjtjd|dgddS)Nz	--testdirr2r1)	rr3testdirrrjoinrSAVEDCWDr$r;s  rtest_testdirzParseArgsTestCase.test_testdirs`
__k51
2
2RW\\)2De%L%LMMM
'>?????rcdD]`}||5||g}||jdddn#1swxYwYadS)N)z-Lz
--runleaksr&)r(rr9runleaksr@s   r
test_runleakszParseArgsTestCase.test_runleaksrSrMcdD]X}||5||dg}||jd||dg}||jd||dg}||jd||d	g}||jd
||gd||dgd
||dgd||dgddddn#1swxYwYZdS)N)-R--huntrleaksr&:)rr
reflog.txtz6:)rrz:3)rrrz
6:3:leaks.log)rrz	leaks.logr16z&needs 2 or 3 colon-separated argumentszfoo:zinvalid huntrleaks valuez6:foo)r(rr3
huntrleaksr$r@s   rtest_huntrleaksz!ParseArgsTestCase.test_huntrleakss'	L	LC#&&

L

L__c3Z00  0DEEE__c4[11  0DEEE__c4[11  0DEEE__c?%;<<  0CDDD'>???c
 HJJJf
/IJJJg0JKKK

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L	L	LsD(EE	E	cdD]}||5||dg}||jd||gd||dgd||ddgd	||d
dgd	dddn#1swxYwYdS)N)-jz--multiprocessr&2r
r1r2rr-Trxr.)r(rr3use_mpr$r@s   rtest_multiprocessz#ParseArgsTestCase.test_multiprocess.s/)	G	GC#&&
G
G__c3Z00  A...'>???e.ABBBc4 02EFFFc4 02EFFF

G
G
G
G
G
G
G
G
G
G
G
G
G
G
G	G	GsBB;;B?	B?	cdD]`}||5||g}||jdddn#1swxYwYadS)N)r
--coverager&)r(rr9tracer@s   r
test_coveragezParseArgsTestCase.test_coverage8s%	*	*C#&&
*
*__cU++)))
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*	*	*rMc	NdD]}||5||dg}||jtjtjd|	|gddddn#1swxYwYdS)N)z-Dz
--coverdirr&r2r1)
r(rr3coverdirrrrrrr$r@s   r
test_coverdirzParseArgsTestCase.test_coverdir>s%	@	@C#&&
@
@__c5\22  !#i.@%!H!HJJJ'>???	
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@	@	@sA2BB	 B	cdD]`}||5||g}||jdddn#1swxYwYadS)N)z-Nz--nocoverdirr&)r(rassertIsNonerr@s   rtest_nocoverdirz!ParseArgsTestCase.test_nocoverdirFs'	/	/C#&&
/
/__cU++!!"+...
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/	/	/rMc.dD]}||5||dg}||jd||gd||dgddddn#1swxYwYdS)N)z-tz--thresholdr&1000r1r2rr)r(rr3	thresholdr$r@s   rtest_thresholdz ParseArgsTestCase.test_thresholdLs&	C	CC#&&
C
C__c6]33  t444'>???e.ABBB	
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C	C	CsA"B		B
	B
	cdD]}||5tjtj5}||g}dddn#1swxYwY||j|}|	d|dddn#1swxYwYdS)N)-nz--nowindowsr&z)the --nowindows (-n) option is deprecated)
r(
contextlibredirect_stderrioStringIOrr9	nowindowsr r)r!r'stderrr5r#s     rtest_nowindowsz ParseArgsTestCase.test_nowindowsTsN&	P	PC#&&
P
P/

>>0&#//B000000000000000---oo''

I3OOO
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P	P	Ps6&B?A$B?$A((B?+A(,AB??C	C	cdD]`}||5||g}||jdddn#1swxYwYadS)N)z-F	--foreverr&)r(rr9foreverr@s   rtest_foreverzParseArgsTestCase.test_forever]rrMc4|dgddS)Nz--xxxzusage:r$r!s rtest_unrecognized_argumentz,ParseArgsTestCase.test_unrecognized_argumentcs	8,,,,,rc|dg}||j||jddS)Nz--quir)rr9rWr3rGr;s  rtest_long_option__partialz+ParseArgsTestCase.test_long_option__partialfsG
__gY
'
'!!!Q'''''rc|ddg}||j||jd||jdS)NrVr|r)rr9rWr3rGr}r;s  rtest_two_optionsz"ParseArgsTestCase.test_two_optionsks^
__i5
6
6!!!Q'''
#####rcj|ddg}||jddS)Nr>r/)rr3r?r;s  r#test_option_with_empty_string_valuez5ParseArgsTestCase.test_option_with_empty_string_valueqs5
__i_
-
-2&&&&&rcj|dg}||jdgdS)Nr2)rr3rr;s  rtest_argzParseArgsTestCase.test_argus5
__eW
%
%5'*****rc|ddg}||j||jd||jdgdS)NrVr2r)rr9rWr3rGrr;s  rtest_option_and_argz%ParseArgsTestCase.test_option_and_argysd
__i/
0
0!!!Q'''5'*****rc|gd}||jd||jddgdS)N)test_unaryoprD
test_binoprErr)rr3rGrr;s  rtest_arg_option_argz%ParseArgsTestCase.test_arg_option_argsU
__AAA
B
BQ'''><"@AAAAArc4|dgddS)Nz--unknown-optionz(unrecognized arguments: --unknown-optionrrs rtest_unknown_optionz%ParseArgsTestCase.test_unknown_options0+,B	D	D	D	D	DrTctj|}tj5}d|vr|d=t	j|}dddn#1swxYwY||jd||j||	|j
||jt|	|j|	|j|	|j|	|j|t%|jt%||S)Nrd)rrrrfrrgr3num_workers
want_rerunr9rerirjrlfail_env_changed
fail_rerun
print_slowestoutput_on_failuresortedr)r!rrrKr5rmrns       r
check_ci_modezParseArgsTestCase.check_ci_modes|

 
&
&
*
,
,	)"c))+,}R((H	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	
-r222,e444*+++h2C8881222+,,,.///2333 677
9N9NOOOsAAAcdg}ttj}|d|||}||jddS)N	--fast-cicpuX)rrrrrr3r4r!rrrns    rtest_fast_cizParseArgsTestCase.test_fast_cisa}w455
U###%%dM::)733333rcgd}ttj}|d|||d}||jd||jddS)N)r--pythonz
python -X devrF)rKr)python-Xdev)rrrrrr3r4
python_cmdrs    rtest_fast_ci_python_cmdz)ParseArgsTestCase.test_fast_ci_python_cmds999w455
U###%%dM%GG)7333,.EFFFFFrcddg}ttj}|d|d|||dS)Nrz
-u-networkrr)rrrrr)r!rrs   rtest_fast_ci_resourcez'ParseArgsTestCase.test_fast_ci_resources`\*w455
U###Y'''4/////rcdg}ttj}|||}||jddS)N	--slow-cii)rrrrr3r4rs    rtest_slow_cizParseArgsTestCase.test_slow_cisM}w455
%%dM::)733333rchdg}tj|}||jdS)Nz--dont-add-python-opts)rrrh_add_python_opts)r!rr5s   rtest_dont_add_python_optsz+ParseArgsTestCase.test_dont_add_python_optss7()

 
&
&,-----rN)T)1__name__
__module____qualname__staticmethodrr$r+r6r<rArHrLrRrXr\r_rorsrzr~rrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrr9s))\)+++
NNNHHH!!!@@@
(
(
(***---000///###===,DDDIII,,,III"["["[HNNNGGG2@@@@@@
---LLL"GGG***@@@///CCCPPP,,,---(((
$$$'''++++++BBB
DDD.444GGG000444.....rrT)slotsc4eZdZUeed<edzed<eed<dS)RerunnameNrsuccess)rrrrk__annotations__boolrrrrrs2

III:
MMMMMrrc~eZdZdZdZdZdZddZdZdd
Z	dZ
dddddddddddddd

dZdedefdZ
ddZdZdS)BaseTestCaserEtest_regrtest_ztest_[a-zA-Z0-9_]+ctjtjt|_t
j|_|	tj|jdSr)rrrealpathdirname__file__rtempfilemkdtemp
tmptestdirrrrmtreers rsetUpzBaseTestCase.setUpsVw''(A(ABB"*,,	($/:::::rNc&|s$dtjz}txjdz
c_|tjd}|j|z}t
j|j|dz}|	tj|	t|dd5}|
|dddn#1swxYwYnA#t$r4}tjs|d|d	|d}~wwxYw|S)
Nznoop%srEz
                    import unittest

                    class Tests(unittest.TestCase):
                        def test_empty_test(self):
                            pass
                z.pyxzutf-8)encodingz
cannot write z: )r#TEST_UNIQUE_IDtextwrapdedentTESTNAME_PREFIXrrrr+rrrrwritePermissionError	sysconfigis_python_buildskipTest)r!rcoderrexcs      rcreate_testzBaseTestCase.create_tests]	-l99D''1,''<?$D#d*w||DOTE\::	($///	dC'222
b














			,..
C


tttSSABBB	s<C"C8CCCCC
D/D		Dc~tj||tj}|s||d||S)Nz not found in )research	MULTILINEfail)r!regexoutputrs    rregex_searchzBaseTestCase.regex_searchsA	%66	>IIeeeVV<===rFTc|stj|}|r|dz
}tjd|ztj}|||dS)N
^)r>escapecompiler@assertRegex)r!rCrfullrBs     r
check_linezBaseTestCase.check_lines]	)i((G	tOG
4'>2<88'''''rcdtd|jd}tj||tj}td|DS)NrGz\[ *[0-9]+(?:/ *[0-9]+)*\] ()c3@K|]}|dVdS)rENgroup.0rs  r	<genexpr>z4BaseTestCase.parse_executed_tests.<locals>.<genexpr>s,77uEKKNN777777r)
LOG_PREFIXTESTNAME_REGEXr>finditerr@r)r!rCrBparsers    rparse_executed_testsz!BaseTestCase.parse_executed_testssOJJ 3 3 35UFBL9977777777rr)
skippedfailedenv_changedomittedrKrun_no_testsresource_deniedreparallelinterruptedrrfilteredc	:"t|tr|g}t|tr|g}t|
tr|
g}
t|tr|g}t|tr|g}t|tr|g}t|	tr|	g}	t|trt|}|rd}g}|+|s)|jg}|js||j||}t|}|||j|r2|	t|t||n|	|||d""fd}|r"|d|}||||
r"|d|
}||||r"|d|}||||r"|d|}||||r"|d|}||||}|d	|jg}|||td
z}|||d|jd}|j
r
|d
|j
d}||||	r"|d|	}|||t|t|z
t|
z
t|z
t|z
t|z
t|	z
}|rA|d"|d}|s|s||jr|dkrd|z}|||d|
r||dd|jd}|r|d}|g}|jr|d|jd|jr|d|jddd|}|||dt|t|
z
}|t|}d}nt|}d}|
rd}d|}|s|dt|}|r|d}|g}d|fd t|fd!t|fd"t|
fd#|fd$t|	ffD]!\}}|r||d%|"d&d|}|||dg} |r| d'n|r|r| d(|
r| d)t'|||
|||fs| d*n| s| d+d,| } ||jrd+nd'}!| d-|!} ||d.| ddS)/NTc|dkrdndS)NrEsr/r)counts rpluralz1BaseTestCase.check_executed_tests.<locals>.plural0s1**33",rct|}dt|}|||fz}|d|d}|S)N z:\n    $)lenrr)line_formattestsrfnamesrBrgs     r
list_regexz5BaseTestCase.check_executed_tests.<locals>.list_regex3sSJJEHHVE]]++E5&&--"88E',uueee4ELrz%s test%s skippedz%%s test%s skipped \(resource denied\)z%s test%s failedz;%s test%s altered the execution environment \(env changed\)z%s test%s omittedz%s re-run test%sz)Re-running 1 failed tests in verbose modezRe-running z in verbose modez
 \(matching: z\)z%s test%s run no testsz testz OK\.rEzAll %s)rKz(Test suite interrupted by signal SIGINT.zrun=,z
 \(filtered\)z	failures=zskipped=z
Total tests: rir/r[r\rZr_rKr^=zTotal test files: FAILUREzENV CHANGEDINTERRUPTEDzNO TESTS RANSUCCESS, z then zResult: )
isinstancerkrlrrrappendrYrr3setrLrUrrk	tests_runfailuresrZrany)#r!rCrmstatsrZr[r\r]rKr^r_rer`rarrrbrerun_failedexecutedtotal_testsrorBgoodtextpartslineruntotal_failedtotal_rerunreportrnteststate	new_statergs#                                  @rcheck_executed_testsz!BaseTestCase.check_executed_testsseS!!	GEgs##	 iGos++	0./Ofc""	XFk3''	(&-Kgs##	 iGlC((	*(>LeS!!	%e$$E	I[j\F=
0##EJ///,,V445kkuz***	<S]]C,<,<fEEEEX{F;;;	-	-	-						+J2G<<EOOFE***	+JGYYEOOFE***	+J16::EOOFE***	+J 2*,,E
OOFE***	+J2G<<EOOFE***J1EJ<@@EOOFE***!MMEOOFE***?5:???E{
@!?????OOFE***	+J7FFEOOFE***E

S\\)C,@,@@3v;;Ng,,!$[!1!12474E4EF	6)-vvd||||<E
)6
)u}
}SWZ[S[S[ 5(OOFEO555	POOF$NOOO*eo)))	+***D>	9LL7U^777888=	7LL5EM5556661114000+_!5!55|,,LKKv;;LK	Cc||	*))SZZ))D	+***D
|$
C,,-
G%
O 4 45
k"
S../

		1		1KD%
1

////0007SXXf%5%5774000	(LL####
	(+	(LL'''	(LL'''D&+w!1344	$LL((((	$LL###		%  %*]A			I//I//E 25 2 2>>>>>rrCreturncX|d|}|dS)NzUsing random seed: (.*)rE)rDrQ)r!rCrs   rparse_random_seedzBaseTestCase.parse_random_seeds(!!"<fEE{{1~~rrc	|sd}d|vrtj|d<|dd}|/ttj}|ddtj|fd|tj|d|}|j|krOdt|d|jd	|d
|j
d	}|jr
|d|jzz
}|||S)
Nr/rrmrdT)rinputstdoutrmzCommand z failed with exit code z, but exit code z expected!

stdout:
---
z
---
z
stderr:
---
%s---
)
subprocessSTDOUTpopdictrenvironrPIPE
returncoderkrrrA)r!rrexitcodekwrmprocr"s        rrun_commandzBaseTestCase.run_commands	E2%,BxLffUD!!;rz""CGG'...~d$#'$)%/_"%	$$
!#$$?h&&&$iiii(((DKKK
IC{
' 
+&'
IIcNNNrcg}dtjvr|ddgtjg|ddd|}|j|fi|}|jS)Nuopsr
faulthandlerz-I)sys	_xoptionsextend
executablerr)r!rr	extraargsrs     r
run_pythonzBaseTestCase.run_pythonsq	S]""dF^,,,NNDN.N$NNt++++{r)NNFT)Nr)rrrr1r4rVr-r<rDrLrYrrkrrrrrrr#r#sN&O*N;;;<((((888&()+R#'b-/',u%.3%*U]?]?]?]?]?~!!!!Frr#ceZdZdZdS)CheckActualTestsc		gd}||}t|}tjt
jtjtd}tt
j|}|
||dzdzdd|dS)N)-Wd-E-bbr
test.regrtest--list-testsztest*.py	
z+Unexpectedly low number of tests found in:
rv)r")rrk
splitlinesrrrglobrHr'r(
assertGreater)r!rrCrough_number_of_tests_foundactual_testsuite_globrough_counted_test_py_filess      r#test_finds_expected_number_of_testsz4CheckActualTests.test_finds_expected_number_of_testss	KJJ&&&)&*;*;*=*=&>&># "T[9R9R-S-S-7!9!9&)$)4I*J*J&K&K#	
66q8"< ?"ii(9(9(;(;<< ? ?		@	@	@	@	@rN)rrrrrrrrrs(@@@@@rrc0eZdZ	dZfdZdZddZdZdZdZ	d	Z
d
ZdZdZ
ejejd
ejejdkddZejejdkddZxZS)ProgramsTestCasercVtfdtjD_gd_dddjzg_jdtj
dkrjddSdS)	Nc8g|]}Srr<rSindexr!s  r
<listcomp>z*ProgramsTestCase.setUp.<locals>.<listcomp>s%HHHUd&&((HHHr)rrrz-uallz-rwW--testdir=%s)r-3600z-j4win32r)superr-rangeNTESTrmpython_argsr+
regrtest_argsrrplatformrx)r!	__class__s`rr-zProgramsTestCase.setUps


IHHHeDJ6G6GHHH
///%v,t>@!!">???<7""%%d+++++#"rc||}||||||jdt|jdS)NT)rer})rr9isdigitrrmrk)r!rCrandseeds   rcheck_outputzProgramsTestCase.check_outputst))&11((**H555!!&$*,0DJ	"	I	I	I	I	IrNc^|||}||dS)N)rm)rr)r!rrmrCs    r	run_testszProgramsTestCase.run_tests
s13//&!!!!!rctj|jd}g|j||j|j}||dS)Nzregrtest.pyrrrrrrrmrr!scriptrs   rtest_script_regrtestz%ProgramsTestCase.test_script_regrtestsRdlM::L!L6LD,>LLtrcfg|jdd|j|j}||dS)Nrtestrrrmrr!rs  rtest_module_testz!ProgramsTestCase.test_module_testsN2!2422#2&*j2trcfg|jdd|j|j}||dS)Nrrrrs  rtest_module_regrtestz%ProgramsTestCase.test_module_regrtestN2!2422#2&*j2trcfg|jdd|j|j}||dS)Nrz
test.autotestrrs  rtest_module_autotestz%ProgramsTestCase.test_module_autotest!rrcjd}g|jd||j|j}||dS)Nzfrom test import autotestz-cr)r!r:rs   rtest_module_from_test_autotestz/ProgramsTestCase.test_module_from_test_autotest'sS*2!2422#2&*j2trctj|jd}g|j||j|j}||dS)Nzautotest.pyrrs   rtest_script_autotestz%ProgramsTestCase.test_script_autotest.sRdlM::L!L6LD,>LLtrcd||}||jdSr)rrr)r!rrs   r	run_batchzProgramsTestCase.run_batch4s1%%$+&&&&&rz test.bat script is not installedrzWindows onlyctjtddd}d|jzg}tjdkr|dn_tjdkr|dn2tjd	d
kr|dtj
s|d|j|g||jRdS)
NToolsbuildbotztest.batrARM64-arm64ARM-arm32r64bit-x64z+d)
rrrROOT_DIRr+rmachinerxarchitecturerPy_DEBUGrrm)r!r	test_argss   rtest_tools_buildbot_testz)ProgramsTestCase.test_tools_buildbot_test8s
hZHH#do56	((X&&&&



5
(
(X&&&&

"
$
$Q
'7
2
2V$$$	#T"""v7	7DJ777777rcXtjtd}tj|s|d|ddg}t
jdkr|dn_t
jdkr|dn2t
j	d	d
kr|dtjr|d|j|g||j
|jRdS)
NzPCbuild\rt.batzFile "z" does not existrUrrrrrrrz-d)rrrrisfiler9rrrxrrrrrrm)r!rrt_argss   rtest_pcbuild_rtz ProgramsTestCase.test_pcbuild_rtIsh(9::w~~f%%	=MM;6;;;<<<&((NN8$$$$



5
(
(NN8$$$$

"
$
$Q
'7
2
2NN6"""	!NN4   vJJ$*<JtzJJJJJJrr)rrrrr-rrrrrrrrrunittest
skipUnlessr7r8rrrr
__classcell__)rs@rrrsm

E,,,,,III""""'''X2244;==X0.AA88BA==8X0.AAKKBAKKKKKrrceZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdddZejejddefdZdZdZejejddZdZdZejdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/ejd,Z0d-Z1d.Z2d/Z3d0Z4d1Z5d2Z6ej7ej8d3d4Z9d5Z:d6Z;defd7Z<d8Z=d9Z>d:Z?d;Z@d<ZAd=ZBej7ejCd>d?ZDd@ZEdAS)BArgsTestCasec<ddd|jzg|}|j|fi|S)Nrrr)r+r)r!testargsrcmdargss    rrzArgsTestCase.run_tests`s4$/!AMHMtw--"---rctjdfdtddD}j|}||dt|zdS)Na
            import unittest

            class PassingTests(unittest.TestCase):
                def test_test1(self):
                    pass

                def test_test2(self):
                    pass

                def test_test3(self):
                    pass
        cDg|]}d|S)okr:rrSir:r!s  rrz-ArgsTestCase.test_success.<locals>.<listcomp>rs2LLL1!!(q((!66LLLrrErrr})r2r3rrrrk)r!rmrCr:s`  @rtest_successzArgsTestCase.test_successds 

MLLLLaLLL'!!&%()CJJ	"	8	8	8	8	8rctjd}|d}|d|}||g}|j|}||||gddS)NzQ
            import unittest
            raise unittest.SkipTest("nope")
        rskiprrE)rZr}r2r3r<rr)r!r:test_ok	test_skiprmrCs      rr
zArgsTestCase.test_skipxs 

""4(($$V$$77	)$'!!&%+4+()	"	+	+	+	+	+rc	tjd}|d}|d|}||g}|j|dti}||||t
dddS)	Nz
            import unittest

            class FailingTest(unittest.TestCase):
                def test_failing(self):
                    self.fail("bug")
        rfailingrrr
rEr[r}r2r3r<rEXITCODE_BAD_TESTrr)r!r:rtest_failingrmrCs      rtest_failing_testzArgsTestCase.test_failing_tests 

""4((''	'==,'C1BCC!!&%(1!Q	"	9	9	9	9	9rci}dD]2}tjd|z}|||||<3t|}|jddg|R}|||d|jdg|R}||||dd	
|j|dti}||||d
dS)
N)audiora
                        from test import support; support.requires(%r)
                        import unittest
                        class PassingTest(unittest.TestCase):
                            def test_pass(self):
                                pass
                    rallr
rz-uaudiorrE)r_r}rr)r2r3r<rvaluesrrEXITCODE_NO_TESTS_RAN)r!rmresourcer:
test_namesrCs      rtest_resourceszArgsTestCase.test_resourcess1,		?		?H?$#
$#$$D#..x>>E(OOELLNN++
 e9j999!!&*A!>>> 	7J777!!&*27	2B()	"	+	+	+
 L6KLL!!&*2<()	"	+	+	+	+	+rctjd}|d|}|d|t}||}|d|}t|d}|dd||t}||}|	|||d|}t|d}|	||||t}||}|
||d}	ttj|		}
|d|t|

}||}|	||	||dttjd	}
|d|t|

}||}|	|d||d
ttjd	}
|d|t|

}||}|
||dS)Nza
            import random
            print("TESTRANDOM: %s" % random.randint(1, 1000))
        randomrarzTESTRANDOM: ([0-9]+)rE--randseed=rc)rdrrmzTESTRANDOM: 520XYZzTESTRANDOM: 22r/)r2r3r<rrrrDrlrQr3r9rrrrrL)r!r:rrCrrtest_random	randseed2test_random2	timestamprms           rr#zArgsTestCase.test_randoms 

$//d5JKK))&11!!"96BB%++a..))&>H&>&>)> @@**622	H---!!"96BB5;;q>>**{333/DEE))&11((**H555!	2:;;;d5J$' ))))&119--- 12222:777d5J$' ))))&115))) 01112:444d5J$' ))))&11((**H55555rc
fdtdD}tj}tj|t|d5}d}t
|dD]8\}}d||t||fz}|r|d|zz
}t|||}9	dddn#1swxYwY	d|}t|}	
|||		t|d5}t
|dD],\}}td
|dt|d||-	dddn#1swxYwY	d|}
|||		t|d5}|D]}t||	dddn#1swxYwY	d|}
|||		t|d5}|D]}td
|z|	dddn#1swxYwY	d|}
|||		dS)Nc8g|]}Srrrs  rrz.ArgsTestCase.test_fromfile.<locals>.<listcomp>%:::!!##:::rrrrEz00:00:%02i [%s/%s] %sz -- %s took 0 secrrvr[rqz] zLib/test/%s.py)rrrrrr	enumeraterkrrr)
r!rmrrpreviousrrrrCr}s
`         rrzzArgsTestCase.test_fromfiles::::q:::
#	((333(C
 
 	 BH(22
 
 t/ %UT:;;/(::Dd$$$$

 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 h77E

!!&%u!===(C
 
 	IB(22
I
IteeeSZZZZ>RHHHHH
I	I	I	I	I	I	I	I	I	I	I	I	I	I	I	Ih77!!&%u!===(C
 
 	%B
%
%d$$$$$
%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%h77!!&%u!===(C
 
 	8B
8
8&-B77777
8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8h77!!&%u!=====sIAB22B69B6
>EEEGG	GH22H69H6ct}|d|}||t}||||dddS)NsigintrrTrr]rar})TEST_INTERRUPTEDr<rEXITCODE_INTERRUPTEDrr!r:rrCs    rtest_interruptedzArgsTestCase.test_interruptedsgt44/CDD!!&$.2!	"	=	=	=	=	=rcfdtdD}jdg|R}||t|djdt|d}||dS)Nc8g|]}Srrrs  rrz-ArgsTestCase.test_slowest.<locals>.<listcomp>%r)rrrZrz10 slowest tests:
(?:- z: .*
){})rrrrkrVrL)r!rmrCrBs`   rr\zArgsTestCase.test_slowest#s::::q:::4e444!!&%s5zz!BBBB'''U5	
&&&&&rc	Ht}|d|}dD]}||5|rdd|f}nd|f}|j|dti}||||dd	
d}|||dddn#1swxYwYdS)Nr.rr)multiprocessingrZ-j2rTrr/z10 slowest tests:
)r0r<r(rr1rrL)r!r:rr8rrCrBs       rtest_slowest_interruptedz%ArgsTestCase.test_slowest_interrupted-st44,	/	/Oo>>
/
/"/'5DD'.D'M8LMM))&$26D01*333/...
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/	/	/sABB	B	c|d}|d|}|||gdd}|||dS)NcoveragerrErzLlines +cov% +module +\(path\)\n(?: *[0-9]+ *[0-9]{1,2}% *[^ ]+ +\([^)]+\)+)+)r<rrrL)r!rrCrBs    rrzArgsTestCase.test_coverage@sg
++d33!!&4&!:::B&&&&&rc|d}|d|d}||ddS)Nr:r8key)rzPress any key to continue)r<rrL)r!rrCs   rr<zArgsTestCase.test_waitIsG''$e<< ;<<<<<rc	tjd}|d|}|d|t}|||gdz|t
ddd	|dd
|d}|||gdzt|dd
t
ddddS)NaL
            import builtins
            import unittest

            class ForeverTester(unittest.TestCase):
                def test_run(self):
                    # Store the state in the builtins module, because the test
                    # module is reload at each run
                    if 'RUN' in builtins.__dict__:
                        builtins.__dict__['RUN'] += 1
                        if builtins.__dict__['RUN'] >= 3:
                            self.fail("fail at the 3rd runs")
                    else:
                        builtins.__dict__['RUN'] = 1
        rrrrrrET)r[r}rrJrtest_runrrr)rKr}r)r2r3r<rrrrrr2s    rrzArgsTestCase.test_foreverOs 

	55T<MNN!!&4&(4(1!Q*.	"	0	0	0
YqII!!&4&((-d4>6:)<)<)<)2!Q*.	"	0	0	0	0	0rFrun_workerscz|d|}d}|tj|ddg}|r|d|||j|ttjd}|	||g|d	d
}|
|tj||d|d}	|
|	|t|5}
|
}|
|	|ddddS#1swxYwYdS)
Nrrrrz3:3:-j1)rrrErz&beginning 6 repetitions
123456
......
z leaked [1, 1, 1] z, sum=3
)r<rrrrxrrrrrrLr>rHrrread)r!r:whatrCrrcmdrCrline2rreflogs            r
check_leakzArgsTestCase.check_leakqs488	((333v&	JJu

4):'1'8:::	
!!&4&Q!GGG:	$00059TT444@

eV$$$
(^^	)rWWYYFMM%(((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)s8+D00D47D4zneed a debug buildrCc^tjd}||d|dS)Nz
            import unittest

            GLOBAL_LIST = []

            class RefLeakTest(unittest.TestCase):
                def test_leak(self):
                    GLOBAL_LIST.append(object())
        
referencesrBr2r3rK)r!rCr:s   rcheck_huntrleakszArgsTestCase.check_huntrleakss: 

	
lDDDDDrc2|ddSNFrBrOrs rrzArgsTestCase.test_huntrleakss%00000rc2|ddSNTrBrRrs rtest_huntrleaks_mpzArgsTestCase.test_huntrleaks_mps$/////rcZtjd}||ddS)Na
            import os
            import unittest

            class FDLeakTest(unittest.TestCase):
                def test_leak(self):
                    fd = os.open(__file__, os.O_RDONLY)
                    # bug: never close the file descriptor
        zfile descriptorsrN)r!r:s  rtest_huntrleaks_fd_leakz$ArgsTestCase.test_huntrleaks_fd_leaks7 

	
011111rcfdtdD}jdg|R}||dS)Nc8g|]}Srr)rSrr!s  rrz0ArgsTestCase.test_list_tests.<locals>.<listcomp>s%666!!##666rrr)rrr3rstripr)r!rmrCs`  rtest_list_testszArgsTestCase.test_list_testssv6666U1XX66677773355	 	 	 	 	 rcvtjd}||}d|zd|zg}|d|}|||d|zg}|ddd|}|||dS)Nz
            import unittest

            class Tests(unittest.TestCase):
                def test_method1(self):
                    pass
                def test_method2(self):
                    pass
        rz%s.Tests.test_method1z%s.Tests.test_method2z--list-casesrtest_method1)r2r3r<rr3r)r!r:testnameall_methodsrCs     rtest_list_caseszArgsTestCase.test_list_casess 

###../9.9;99**,,k:::/9: $n (**	
**,,k:::::rcd}|d|}|g}|jdg|Rdti}||||dddS)	Nz,import faulthandler; faulthandler._sigsegv()crashrr:r9rTrr[r`r})r<rrr)r!r:
crash_testrmrCs     rtest_crashedzArgsTestCase.test_crasheds|>%%7%>>
JJJJ8IJJ!!&%
+/q	"	:	:	:	:	:rctjdtj}d||DS)Nz^(test[^ ]+).*ok$flagsc8g|]}|dS)rErPrRs  rrz.ArgsTestCase.parse_methods.<locals>.<listcomp>s"CCC5ACCCr)r>rIr@rW)r!rCrBs   r
parse_methodszArgsTestCase.parse_methodss9
.blCCCCCENN6,B,BCCCCrctjd}||}tj}|tj|dd|zg}t|d5}|D]}t||	dddn#1swxYwY|	dd||}|
|}d	d
g}|||dS)NV
            import unittest

            class Tests(unittest.TestCase):
                def test_method1(self):
                    pass
                def test_method2(self):
                    pass
                def test_method3(self):
                    pass
                def test_method4(self):
                    pass
        rr]%s.Tests.test_method3rrrDrtest_method2test_method4)r2r3r<rrrrrrrrkr3)	r!r:r^rsubsetrrrCmethodss	         rtest_ignorefilezArgsTestCase.test_ignorefilesE 

###..#	((333
#h.	0
(C
 
 	%B
%
%d$$$$$
%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%nhII$$V,, .1&)))))s.BBBcVtjd}gd}||}|d|}||}|||tj}|tj	|dd|zg}t|d5}|D]}	t|	|	dddn#1swxYwY|dd	||}||}dd
g}|||dS)Nrm)r]rotest_method3rprrDr]rnrrrru)r2r3r<rrkr3rrrrrr)
r!r:r_r^rCrrrrqrrs
          rtest_matchfilezArgsTestCase.test_matchfiles 

777###..h//$$V,,+...#	((333
#h.	0
(C
 
 	%B
%
%d$$$$$
%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%mXxHH$$V,, .1&)))))s3CCCc
tjd}||}||}|||g|d|d|t
}|||g|dd|d	|}|||g|t
|dd
ddS)
Nz
            import unittest

            class Tests(unittest.TestCase):
                def test_env_changed(self):
                    open("env_changed", "w").close()
        rrE)r\r}--fail-env-changedrTr\rr}rJrAr
)r\rKr})r2r3r<rrEXITCODE_ENV_CHANGEDrr!r:r^rCs    rtest_env_changedzArgsTestCase.test_env_changed&s! 

###..))!!&8*.6a	"	A	A	A 4h)= ??!!&8*(37q	"	B	B	B	844!!&8*.6(-h486:)<)<)<)*	"	+	+	+	+	+rc	tjd}||}|d|t}|||gt
|ddtdd	
dS)Na
            import unittest

            class Tests(unittest.TestCase):
                def test_succeed(self):
                    return

                def test_fail_always(self):
                    # test that always fails
                    self.fail("bug")
        rrJrtest_fail_alwaysF)rrr
rKr})r2r3r<rrrrrr{s    rtest_rerun_failzArgsTestCase.test_rerun_failDs
 



###..	8>OPP!!&8*(-h.@6;)=)=)=)2!Q		"	9	9	9	9	9rc	tjd}|tj||tj|tj	d|d}|
|}|d|d}|||gt|dd	
tdd
t	j||dd|t}|||gt|dd	
tdd
t	j|dS)Nregrtest_marker_filenamezW
            import os.path
            import unittest

            marker_filename = aD

            class Tests(unittest.TestCase):
                def test_succeed(self):
                    return

                def test_fail_once(self):
                    if not os.path.exists(marker_filename):
                        open(marker_filename, "w").close()
                        self.fail("bug")
        rrJrrtest_fail_onceTrArrErz--fail-rerun)rrrrrrrhexistsr2r3r<rrrrEXITCODE_RERUN_FAIL)r!marker_filenamer:r^rCs     rtest_rerun_successzArgsTestCase.test_rerun_successZs'//*DEE	(/:::88999  /	   

###..	8a@@!!&8*(-h4D6:)<)<)<)2!Q		"	9	9	9
	)))	>8)< >>!!&8*(-h4D6:)<)<)<)2!Q		"	9	9	9
	)))))rc
tjd}||}|d|t}||||gt
|ddd	dS)
Na
            import unittest

            class ExampleTests(unittest.TestCase):
                @classmethod
                def setUpClass(self):
                    raise RuntimeError('Fail')

                def test_success(self):
                    return
        rrJrExampleTestsFrArr[rKr}r2r3r<rrrrr{s    r#test_rerun_setup_class_hook_failurez0ArgsTestCase.test_rerun_setup_class_hook_failure
 



###..	8>OPP!!&(*2(-h4B6;)=)=)=)*	"	+	+	+	+	+rc
tjd}||}|d|t}||||gt
|ddd	dS)
Na
            import unittest

            class ExampleTests(unittest.TestCase):
                @classmethod
                def tearDownClass(self):
                    raise RuntimeError('Fail')

                def test_success(self):
                    return
        rrJrrFrAr
rrr{s    r&test_rerun_teardown_class_hook_failurez3ArgsTestCase.test_rerun_teardown_class_hook_failurerrc
tjd}||}|d|t}||||gt
|ddddS)	Nz
            import unittest

            def setUpModule():
                raise RuntimeError('Fail')

            class ExampleTests(unittest.TestCase):
                def test_success(self):
                    return
        rrJrFrArrrr{s    r$test_rerun_setup_module_hook_failurez1ArgsTestCase.test_rerun_setup_module_hook_failures	 	
	
###..	8>OPP!!&(*2(-h486;)=)=)=)*	"	+	+	+	+	+rc
tjd}||}|d|t}|||g|gt
|ddddS)	Nz
            import unittest

            def tearDownModule():
                raise RuntimeError('Fail')

            class ExampleTests(unittest.TestCase):
                def test_success(self):
                    return
        rrJrFrAr
rrr{s    r'test_rerun_teardown_module_hook_failurez4ArgsTestCase.test_rerun_teardown_module_hook_failures	 	
	
###..	8>OPP!!&8**2(-h486;)=)=)=)*	"	+	+	+	+	+rc
tjd}||}|d|t}||||gt
|ddd	dS)
Nz
            import unittest

            class ExampleTests(unittest.TestCase):
                def setUp(self):
                    raise RuntimeError('Fail')

                def test_success(self):
                    return
        rrJrrFrAr
rrr{s    rtest_rerun_setup_hook_failurez*ArgsTestCase.test_rerun_setup_hook_failure	 	
	
###..	8>OPP!!&(*2(-h4B6;)=)=)=)*	"	+	+	+	+	+rc
tjd}||}|d|t}||||gt
|ddd	dS)
Nz
            import unittest

            class ExampleTests(unittest.TestCase):
                def tearDown(self):
                    raise RuntimeError('Fail')

                def test_success(self):
                    return
        rrJrrFrAr
rrr{s    r test_rerun_teardown_hook_failurez-ArgsTestCase.test_rerun_teardown_hook_failurerrc	tjd}||}|d|t}|||t
|ddd	dS)
Na

            import unittest

            class ExampleTests(unittest.IsolatedAsyncioTestCase):
                async def asyncSetUp(self):
                    raise RuntimeError('Fail')

                async def test_success(self):
                    return
        rrJrrFrAr
rrr{s    r#test_rerun_async_setup_hook_failurez0ArgsTestCase.test_rerun_async_setup_hook_failures	 	
	
###..	8>OPP!!&((-h4B6;)=)=)=)*		"	+	+	+	+	+rc
tjd}||}|d|t}||||gt
|ddd	dS)
Na
            import unittest

            class ExampleTests(unittest.IsolatedAsyncioTestCase):
                async def asyncTearDown(self):
                    raise RuntimeError('Fail')

                async def test_success(self):
                    return
        rrJrrFrAr
rrr{s    r&test_rerun_async_teardown_hook_failurez3ArgsTestCase.test_rerun_async_teardown_hook_failure rrctjd}||}||ddt}|||g|dddS	N
            import unittest

            class Tests(unittest.TestCase):
                def test_bug(self):
                    pass
        rr
nosuchtestrrTr^r}rbr2r3r<rrrr{s    rtest_no_tests_ranzArgsTestCase.test_no_tests_ran6s 

###..$)> @@!!&8*/7()D	"	:	:	:	:	:rctjd}||}||}|||gtdddS)Nz
            import unittest

            class Tests(unittest.TestCase):
                def test_skipped(self):
                    self.skipTest("because")
        rrE)rZr)r2r3r<rrrr{s    rtest_no_tests_ran_skipz#ArgsTestCase.test_no_tests_ran_skipFs 

###..))!!&8*(1!Q(?(?(?	"	A	A	A	A	Arctjd}||}||}|||ddt}||||g||gdddSrr)r!r:r^	testname2rCs     r,test_no_tests_ran_multiple_tests_nonexistentz9ArgsTestCase.test_no_tests_ran_multiple_tests_nonexistentTs 

###..$$$$//	)T<)> @@!!&8Y*?08)/D()D	"	:	:	:	:	:rc	 tjd}||}tjd}||}|||ddddd}||||g|gd	d
dS)Nrrz
            import unittest

            class Tests(unittest.TestCase):
                def test_other_bug(self):
                    pass
        rrtest_other_bugrrrETrr)r!r:r^
other_coderrCs      r)test_no_test_ran_some_test_exist_some_notz6ArgsTestCase.test_no_test_ran_some_test_exist_some_notes 

###.._&

$$*$55	)T< $&6 DD!!&8Y*?08z()D	"	:	:	:	:	:rctjd}||}|d|t}|||g|gdddS)Na
            import _testcapi
            import gc
            import unittest

            @_testcapi.with_tp_del
            class Garbage:
                def __tp_del__(self):
                    pass

            class Tests(unittest.TestCase):
                def test_garbage(self):
                    # create an uncollectable object
                    obj = Garbage()
                    obj.ref_cycle = obj
                    obj = None
        rrxrTrEry)r2r3r<rrzrr{s    rtest_uncollectablezArgsTestCase.test_uncollectable}s 

"###.. 4h)= ??!!&8*/7j37()	"	+	+	+	+	+rc6tjd}||}|dd|t}|||g|d||tjd|ztj	dS)	Naa
            import time
            import unittest
            try:
                import faulthandler
            except ImportError:
                faulthandler = None

            class Tests(unittest.TestCase):
                # test hangs and so should be stopped by the timeout
                def test_sleep(self):
                    # we want to test regrtest multiprocessing timeout,
                    # not faulthandler timeout
                    if faulthandler is not None:
                        faulthandler.cancel_dump_traceback_later()

                    time.sleep(60 * 5)
        rr9z
--timeout=1.0rrrz%s timed out)
r2r3r<rrrrJr>rIr@r{s    rtest_multiprocessing_timeoutz)ArgsTestCase.test_multiprocessing_timeouts 

$###..): <<!!&8*)1	"	<	<	<NX$=r|LL	N	N	N	N	Nrc&tjd}||}|dd|t}|||g|gdd|d	||d
|dS)Na
            import unittest
            import weakref
            from test.support import captured_stderr

            class MyObject:
                pass

            def weakref_callback(obj):
                raise Exception("weakref callback bug")

            class Tests(unittest.TestCase):
                def test_unraisable_exc(self):
                    obj = MyObject()
                    ref = weakref.ref(obj, weakref_callback)
                    with captured_stderr() as stderr:
                        # call weakref_callback() which logs
                        # an unraisable exception
                        obj = None
                    self.assertEqual(stderr.getvalue(), '')
        rrxrDrTrEryzWarning -- Unraisable exceptionzException: weakref callback bugr2r3r<rrzrrr{s    rtest_unraisable_excz ArgsTestCase.test_unraisable_excs 

*###.. 4dH)= ??!!&8*/7j37()	"	+	+	+	


7@@@

7@@@@@rc&tjd}||}|dd|t}|||g|gdd|d	||d
|dS)Na[
            import threading
            import unittest
            from test.support import captured_stderr

            class MyObject:
                pass

            def func_bug():
                raise Exception("bug in thread")

            class Tests(unittest.TestCase):
                def test_threading_excepthook(self):
                    with captured_stderr() as stderr:
                        thread = threading.Thread(target=func_bug)
                        thread.start()
                        thread.join()
                    self.assertEqual(stderr.getvalue(), '')
        rrxrDrTrEryz$Warning -- Uncaught thread exceptionzException: bug in threadrr{s    rtest_threading_excepthookz&ArgsTestCase.test_threading_excepthooks 

&###.. 4dH)= ??!!&8*/7j37()	"	+	+	+	


<fEEE

0&99999rc	Vtjd}||}d}dD]y}||5d||g}|j|dt
i}|||g|gdd	
|||dddn#1swxYwYzdS)Na%
            import sys
            import unittest
            from test import support

            class MyObject:
                pass

            def func_bug():
                raise Exception("bug in thread")

            class Tests(unittest.TestCase):
                def test_print_warning(self):
                    print("msg1: stdout")
                    support.print_warning("msg2: print_warning")
                    # Fail with ENV CHANGED to see print_warning() log
                    support.environment_altered = True
        rzFtest_print_warning.*msg1: stdout\nWarning -- msg2: print_warning\nok\n)rDrO)optionrxrTrEry)r2r3r<r(rrzrrJ)r!r:r^rBrrHrCs       rtest_print_warningzArgsTestCase.test_print_warnings' 

$###..#	0	0FV,,
0
0+VX>'L7KLL))&8*7?j;?01*333  ///
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0	0	0sA
BB!	$B!	ctjtj}||tjd|r|ddSdS)Nz not setzModified guard)rrgetrUNICODE_GUARD_ENVassertIsNotNoneisasciir9)r!guards  rtest_unicode_guard_envz#ArgsTestCase.test_unicode_guard_env"so
u677Uu'>$H$H$HIII==??	,
MM*+++++	,	,rctj|jd}tj|tj|jd}t|d||g}ddd|jzdg}|||D]5}|tj	||6dS)Ntest_python_123test_python_456wbrrz--tempdir=%sz	--cleanup)
rrrr+mkdirrcloserrhr)r!r'rrnrrs      rtest_cleanupzArgsTestCase.test_cleanup*s',,t0ABB
7<<1BCCXt""$$$(#!DO3 	
   	9	9DRW^^D1148888	9	9rz.checking temp files is not implemented on WASIc
(tjdfdtdD}jdddg|Rdti}|||ddt
|	|D]}d
|d|dS)Nam
            import os.path
            import tempfile
            import unittest

            class FileTests(unittest.TestCase):
                def test_leak_tmp_file(self):
                    filename = os.path.join(tempfile.gettempdir(), 'mytmpfile')
                    with open(filename, "wb") as fp:
                        fp.write(b'content')
        c<g|]}SrrrS_r:r!s  rrz3ArgsTestCase.test_leak_tmp_file.<locals>.<listcomp>Gs*CCCQT%%4%00CCCrrrxrDr9rT)r\rr`r}zWarning -- z& leaked temporary files (1): mytmpfile)r2r3rrrzrrkr)r!	testnamesrCr^r:s`   @rtest_leak_tmp_filezArgsTestCase.test_leak_tmp_file9s
 



DCCCC%((CCC	 4dE?I???)=??!!&).737+/(+I		"	8	8	8
"	"	"HMM2222 
"
"
"
"	"	"rctjdkrtj}n;tjj}|(tjj}||dtdtddD}d|fz}d}||
dz
}	||||d	n#t$rYnwxYw||d
}tjd|d}||
}|ddd|}|||gdd|||ddS)Nrz#cannot get regrtest worker encodingc3K|]}|VdSrr)rSchs  rrTz8ArgsTestCase.test_worker_decode_error.<locals>.<genexpr>`s"66666666rsnonascii:%s
z*Assertion failed: tstate_is_alive(tstate)
z	utf-16-lez can decode non-ASCII bytesbackslashreplacez
            import sys
            import unittest

            class Tests(unittest.TestCase):
                def test_pass(self):
                    pass

            # bytes which cannot be decoded from UTF-8
            corrupted_output = ze
            sys.stdout.buffer.write(corrupted_output)
            sys.stdout.buffer.flush()
        rrxrDrETrE)r`r}F)rB)rrlocalegetencodingrr0
__stdout__r9bytesrencodedecodeUnicodeDecodeErrorr2r3r<rrrL)	r!r0nonasciicorrupted_outputassertion_failed
expected_liner:r^rCs	         rtest_worker_decode_errorz%ArgsTestCase.test_worker_decode_errorUs<7"")++HHz*H>2#MM"GHHH66eCoo66666+xk9I,33K@@@	D##H---
MMXBBBCCCC"			D	
)//:LMM
 !1   

###.. 4dE8LL!!&8*+/()	"	+	+	+	

U;;;;;s(C
C#"C#ctjd}||}|ddd|t}|||g|gdt
ddd	
dS)NaX
            import doctest
            import sys
            from test import support

            def my_function():
                """
                Pass:

                >>> 1 + 1
                2

                Failure:

                >>> 2 + 3
                23
                >>> 1 + 1
                11

                Skipped test (ignored):

                >>> id(1.0)  # doctest: +SKIP
                7948648
                """

            def load_tests(loader, tests, pattern):
                tests.addTest(doctest.DocTestSuite())
                return tests
        rrxrDrErTrErrdrr{s    rtest_doctestzArgsTestCase.test_doctests 

:###.. 4dE8): <<!!&8**2+/(1!Q(:(:	"	<	<	<	<	<rc
tjd

fdtddD}d}dd|g}|r%|dt	|||j|}tj|d	td
D}d|}d}tj
||tj
}	|	|gt	|zdS)Na 
            import random
            import unittest

            class RandomSeedTest(unittest.TestCase):
                def test_randint(self):
                    numbers = [random.randint(0, 1000) for _ in range(10)]
                    print(f"Random numbers: {numbers}")
        cDg|]}d|S)r#rcrrs  rrz3ArgsTestCase._check_random_seed.<locals>.<listcomp>sE)))!!'8Q'8'8t!DD)))rrEriJ3rbr rc8g|]}tjddS)rr)rrandint)rSrs  rrz3ArgsTestCase._check_random_seed.<locals>.<listcomp>s$>>>q6>!T**>>>rrzRandom numbers: z^Random numbers: .*$rh)
r2r3rrxrkrrrseedr>findallr@r3)r!rCrmrjrHrCnumbersrrBmatchesr:s`         @r_check_random_seedzArgsTestCase._check_random_seeds2 

)))))3--)))"9K99:	*JJ(CJJ(()))

5%K   ?>E"II>>>/g//'*UF",???8*s5zz"9:::::rc2|ddSrQrrs rtest_random_seedzArgsTestCase.test_random_seedsE22222rc2|ddSrTrrs rtest_random_seed_workersz%ArgsTestCase.test_random_seed_workerssD11111rctjdfdtdD}tjddg}tj|}jd|dg|R}||t|d	dS)
Nz
            import sys
            import unittest

            class WorkerTests(unittest.TestCase):
                def test_dev_mode(self):
                    self.assertTrue(sys.flags.dev_mode)
        c<g|]}Srrrs  rrz4ArgsTestCase.test_python_command.<locals>.<listcomp>s*???!!t!,,???rrr
rrz-j0Tr}r`)
r2r3rrrshlexrrrrk)r!rmrrCr:s`   @rtest_python_commandz ArgsTestCase.test_python_commands 

@????eAhh???ndE2
Z
++

JFFFF!!&%(+E

T	"	C	C	C	C	Crctjtjtdd}ddD}ddddd	d
|zg|}||}|||ddS)
Nregrtestdataimport_from_testscg|]}d|S)r$rrSrs  rrz2ArgsTestCase.test_unload_tests.<locals>.<listcomp>s!EEET($((EEEr)abcrrrrrrrr)rrrr'r(rr)r!rrmrrCs     rtest_unload_testszArgsTestCase.test_unload_testss',,rwx88-/BDDEE_EEEtUD&.72JSUS&&!!&%q!99999rctjd}||}tjdd|d|j|g}t
j|tjtj	d}|
|jd|dS)	Na)
            import sys
            import unittest
            from test import support
            try:
                from _testinternalcapi import get_config
            except ImportError:
                get_config = None

            # WASI/WASM buildbots don't use -E option
            use_environment = (support.is_emscripten or support.is_wasi)

            class WorkerTests(unittest.TestCase):
                @unittest.skipUnless(get_config is None, 'need get_config()')
                def test_config(self):
                    config = get_config()['config']
                    # -u option
                    self.assertEqual(config['buffered_stdio'], 0)
                    # -W default option
                    self.assertTrue(config['warnoptions'], ['default'])
                    # -bb option
                    self.assertTrue(config['bytes_warning'], 2)
                    # -E option
                    self.assertTrue(config['use_environment'], use_environment)

                def test_python_opts(self):
                    # -u option
                    self.assertTrue(sys.__stdout__.write_through)
                    self.assertTrue(sys.__stderr__.write_through)

                    # -W default option
                    self.assertTrue(sys.warnoptions, ['default'])

                    # -bb option
                    self.assertEqual(sys.flags.bytes_warning, 2)

                    # -E option
                    self.assertEqual(not sys.flags.ignore_environment,
                                     use_environment)
        rrrz
--testdir=T)rrrr)r2r3r<rrr+rrrrr3r)r!rr:r^rHrs      rcheck_add_python_optsz"ArgsTestCase.check_add_python_optss' '
'
P###..~VV-DO--~c%/_%/%6#')))	
!T22222rcdD]E}||5||dddn#1swxYwYFdS)N)rrr&)r(r)r!r's  rtest_add_python_optsz!ArgsTestCase.test_add_python_opts2s-	0	0C#&&
0
0**3///
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0	0	0s=A	A	z(raising SIGSEGV on Android is unreliablec8	ddlm}n%#t$r|dYnwxYwt	jd}||}ttj	}d}tj|||d|t|}||||gdd	
tjs4t!t"j}|d|d|||d
d	ddS)Nr)_sigsegvzneed faulthandler._sigsegvak
            import faulthandler
            import unittest
            from test import support

            class CrashTests(unittest.TestCase):
                def test_crash(self):
                    print("just before crash!", flush=True)

                    with support.SuppressCrashReport():
                        faulthandler._sigsegv(True)
        rz
handle_segv=0rEr!T)r[r}r`z
Exit code z
 (SIGSEGV)zjust before crash!F)rKrB)rrImportErrorr9r2r3r<rrrrset_sanitizer_env_varrrr
MS_WINDOWSrlsignalSIGSEGVrrL)r!rr:r^rmrrCrs        rtest_worker_output_on_failurez*ArgsTestCase.test_worker_output_on_failure8sY	8-------	8	8	8MM677777	8 

###..2: %c6222x):$' ))	
!!&(*2()D	"	:	:	:!	EFN+++HMM;x;;;VDDD 44uMMMMMs	++ctjd}||}|d|}|||d|d|tjrJ|ddd	d|}|||dd
|d|dSdS)Nz
            import unittest
            from test import support

            class VerboseTests(unittest.TestCase):
                def test_pass(self):
                    print("SPAM SPAM SPAM")
        rrPrErzSPAM SPAM SPAMrz3:3rETr)r2r3r<rrassertNotInrrr{s    rrRzArgsTestCase.test_verbose3^s 

###..h77!!&(!!<<<)6222	7^^D%hOOF%%fha$%OOO-v66666		7	7rN)Frrrrrr
rrr#rzr3r\r:rr<rrKrrrrr!rOrrUrWr[r`cpython_onlyrfrkrsrvr|rrrrrrrrrrrrrrrrrrrrrskipIfis_wasirrrrrrrrrr
is_androidr	rRrrrrr[s~...888(+++999"+++>363636j/>/>/>b==='''///&'''=== 0 0 0D5:)))))0X)+?@@EtEEEA@E111000X)+?@@22A@2   ;;;4
:::DDD * * *D'*'*'*R+++<999,)*)*)*V+++.+++.+++,+++,+++,+++,+++*+++,::: AAA:::":::0
+++6NNN8!A!A!AF:::B'0'0'0R,,,
9
9
9X_W_EGG""GG"4-<-<-<^%<%<%<N ;d ; ; ; ;D333222CCC*:::&535353n000X_W'?AA"N"NAA"NH77777rrc,eZdZdZdZdZdZdZdS)	TestUtilsc&|tjdd|tjdd|tjdd|tjdd|tjd	d
|tjdd|tjd
d|tjdd|tjdd|tjdddS)Nrz0 msg&.>z1 msg{Gz?z10 msg?z1.5 secrEz1.0 secxz2 minyz2 min 1 seci0*z3 houri*z3 hour 2 mini1*z3 hour 1 sec)r3rformat_durationrs rtest_format_durationzTestUtils.test_format_durationws.q11	!	!	!.t44	!	!	!.u55 	"	"	".s33"	$	$	$.q11"	$	$	$.v66 	"	"	".z::&	(	(	(.x88!	#	#	#./EFF'	)	)	).|<<'	)	)	)	)	)rcVt}||dd||ddd||ddd||d	d||d
ddS)Nz0test_access (test.test_os.FileTests.test_access)test_accessz(setUpClass (test.test_os.ChownFileTests)T)is_errorChownFileTestsz6test_success (test.test_bug.ExampleTests.test_success)rzsetUpModule (test.test_x)z!tearDownModule (test.test_module))rr3r)r!	normalizes  rtest_normalize_test_namez"TestUtils.test_normalize_test_names'	#UVV&	(	(	(#MX\]]])	+	+	+#[fjkkk'	)	)	)))$?$OOOPPP))$GRVWWWXXXXXrcttjdfttjdfddfD].\}}|tj|||/dS)NSIGINTr)lSTATUS_ACCESS_VIOLATION)lSTATUS_STACK_OVERFLOW)rlrrrr3rget_signal_name)r!rrs   rtest_get_signal_namezTestUtils.test_get_signal_names~&-  
 (+&.!!
!9-31	#
	R	RHh
U28<<hQQQQ
	R	Rrctj}tj}||dd||dd|||d||t	d|Dd||g|dRd	dS)
N)rzresources (1): network)rdecimalrz$resources (3): audio,decimal,networkzresources: allc3&K|]}|dk|V
dS)rNrrs  rrTz2TestUtils.test_format_resources.<locals>.<genexpr>s3#5#5D&*emm$(&3mmm#5#5rzresources: all,-cpurzresources: all,tzdata)rformat_resourcesrr3tuple)r!r&rs   rtest_format_resourceszTestUtils.test_format_resourcess* 1+
\**$	&	&	&	
<==2	4	4	4	
]++				
U#5#5M#5#5#555
6
6!	#	#	#	
7}7h7788#	%	%	%	%	%rcGdd}|d}|d}|d}tjtdd5tg|t	||t	|td|t	||t	|t|dfg|t	||t	|td	g|t	||t	||t	|td
g|t	||t	|tdg|t	|tdg|t	|td
g|t	||t	||t	|t|df|dfg|t	||t	||t	|tddg|t	||t	|dddn#1swxYwYtjtdd5t|dfg|t	||t	|tdg|t	||t	||t	|tdg|t	||t	|tdg|t	|tdg|t	|tdg|t	||t	||t	|t|df|dfg|t	||t	||t	|tddg|t	||t	|dddn#1swxYwYtjtdd5tddg|t	||t	||t	|tddg|t	||t	||t	|ddddS#1swxYwYdS)NceZdZdZdZdS)'TestUtils.test_match_test.<locals>.Testc||_dSrtest_id)r!r.s  r__init__z0TestUtils.test_match_test.<locals>.Test.__init__s
&rc|jSrr-rs ridz*TestUtils.test_match_test.<locals>.Test.ids
|#rN)rrrr/r1rrrTestr+s2
'
'
'
$
$
$
$
$rr2z"test.test_os.FileTests.test_accessz'test.test_os.Win32ErrorTests.test_chdirz#test.test_shutil.TestCopy.test_copy_test_matchersrT)test_osT)test_*T)	filetestsT)	FileTestsT)*test_os.*.test_*T)rT)	DONTMATCHTF)r4F)r5F)r6F)r7F)r8F)rF)r9F)*test_osF)r:T)r	swap_attrr	r9r
r1rh)r!r2r
test_chdir	test_copys     rtest_match_testzTestUtils.test_match_tests0	$	$	$	$	$	$	$	$d?@@TCDD
D>??	
w(8"
=
=/	5/	5BOOJ{33444OOJz22333
D!!!OOJ{33444OOJz22333
knn..56777OOJ{33444Z
33444
./000OOJ{33444OOJz22333Z	22333
-.///OOJ{33444OOJz22333
01222Z4455501222OOJ{33444
89:::OOJ{33444OOJz22333Z	22333
knn..5


7NOPPPOOJ{33444OOJz22333Z	2233324GHIIIOOJ{33444Z
33444_/	5/	5/	5/	5/	5/	5/	5/	5/	5/	5/	5/	5/	5/	5/	5d
w(8"
=
=%	4%	4knn..67888Z44555OOJz22333
/0111Z44555Z
33444OOJy11222
./000Z44555Z
33444
12333OOJ{3344412333Z44555
9:;;;Z44555Z
33444OOJy11222
knn..6%8PQRRRZ44555Z
33444OOJy1122235IJKKKZ44555OOJz22333K%	4%	4%	4%	4%	4%	4%	4%	4%	4%	4%	4%	4%	4%	4%	4P
w(8"
=
=		4		402GHIIIOOJ{33444Z
33444OOJy11222/1GHIIIZ44555OOJz22333Z	22333		4		4		4		4		4		4		4		4		4		4		4		4		4		4		4		4		4		4s9
N'O==PP#L\00\47\4C/aaaN)rrrrrr"r(r>rrrrrvsj))),	Y	Y	YRRR%%%(p4p4p4p4p4rr__main__)=rdataclassesrrros.pathrrrr>rrrrr7r)r2rrrtest.supportrtest.libregrtestrrrrtest.libregrtest.filterr	r
test.libregrtest.resultrtest.libregrtest.utilsrhas_subprocess_supportSkipTestrrr'r(rrnormpathrUrrzrrr1r3r0TestCaser	dataclassrr#rrrrrrrr<module>rLs				







				







""""""$$$$$$!!!!!!""""""""""""????????------666666%?
(
=
>
>>
7<<114>>
7??27++H5566
E
"8?$		F.F.F.F.F.)F.F.F.RT"""#"JJJJJ8$JJJZ@@@@@|@@@0jKjKjKjKjK|jKjKjKZX7X7X7X7X7<X7X7X7v(o4o4o4o4o4!o4o4o4dzHMOOOOOr