python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_regrtest.cpython-312.pyc

Αe~6dZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZddlmZddlmZmZddlmZmZddlmZej6sej8dej:j=ej:j?e d	d	Z!ej:jEej:jGe!Z!d
Z$dZ%dZ&d
Z'dZ(dZ)ejTdZ+GddejXZ-ej\dGddZ/GddejXZ0Gdde0Z1Gdde0Z2Gdde0Z3Gdd ejXZ4e5d!k(rejlyy)"zM
Tests of regrtest.py.

Note: test_regrtest cannot be run twice in parallel.
N)libregrtest)support)	os_helper	TestStats)utilssetup)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)
    ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+y*)+ParseArgsTestCasezC
    Test regrtest's argument parsing, function _parse_args().
    ctj5}|jt5t	j
|dddddd|j
|jy#1swY2xYw#1swY6xYwN)rcaptured_stderrassertRaises
SystemExitr_parse_argsassertIngetvalue)selfargsmsgerrs    F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_regrtest.py
checkErrorzParseArgsTestCase.checkError7si

$
$
&	*#t/@/@/L	*##D)	*	*

c3<<>*	*	*	*	*s"A>A2A>2A;	7A>>Bc	rdD]}|j|5tj5}|jt5tj|gdddddd|jdjdddy#1swY<xYw#1swY@xYw#1swYxYw)N)z-hz--helpoptzRun Python regression tests.)	subTestrcaptured_stdoutrrrrrr)rr!outs   r	test_helpzParseArgsTestCase.test_help<s!	NC#&
N,,.3#&&z23++SE233

<cllnM	
N
N	N3333
N
Ns:B-B!B	B!"(B-B
B!!B*&B--B6	ctjddg}|j|jd|j	dgd|j	ddgdy)N	--timeoutz4.2g@expected one argumentfoozinvalid float value)rrassertEqualtimeoutrrnss  rtest_timeoutzParseArgsTestCase.test_timeoutDsP

$
$k5%9
:S)
'>?e,.CDcftjdg}|j|jy)N--wait)rr
assertTruewaitr,s  r	test_waitzParseArgsTestCase.test_waitJs$

$
$hZ
0 r/ctjddg}|j|jd|j	dgdy)Nz
--worker-argsz[[], {}]r()rrr*worker_argsrr,s  rtest_worker_argsz"ParseArgsTestCase.test_worker_argsNs=

$
$oz%B
C4)+BCr/cdD]c}|j|5tj|dg}|j|jd|j|gddddey#1swYpxYw)N)z-S--startr r)r()r"rrr*startrrr!r-s   r
test_startzParseArgsTestCase.test_startSsy"	@C#&
@ ,,c5\:  51'>?
@
@	@
@
@AA**A3	ctjdg}|j|jdtjdg}|j|jdtjdg}|j|jdtjdgdz}|j|jdtjg}|j|jdy)N-vz-vvvr	--verboser)rrr*verboser,s  rtest_verbosezParseArgsTestCase.test_verboseZs

$
$dV
,Q'

$
$fX
.Q'

$
$k]
3Q'

$
$k]Q%6
7Q'

$
$R
(Q'r/cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)z-w--rerunz
--verbose2r )r"rrr2rerunr;s   r
test_rerunzParseArgsTestCase.test_rerunfs[0	*C#&
* ,,cU3)
*
*	*
*
*2AA	cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)-Wz
--verbose3r )r"rrr2verbose3r;s   r
test_verbose3zParseArgsTestCase.test_verbose3l[%	-C#&
- ,,cU3,
-
-	-
-
-rHcdD]j}|j|5tj|g}|j|j|j|jddddly#1swYwxYw)N)-q--quietr r)r"rrr2quietr*rBr;s   r
test_quietzParseArgsTestCase.test_quietrso"	0C#&
0 ,,cU3)  Q/
0
0	0
0
0sAA11A:	cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)z-o	--slowestr )r"rrr2
print_slowr;s   rtest_slowestzParseArgsTestCase.test_slowestys[$	/C#&
/ ,,cU3

.
/
/	/
/
/rHctjdg}|j|jtjdg}|j|jy)Nz--headerrA)rrr2headerr,s  rtest_headerzParseArgsTestCase.test_headersF

$
$j\
2		"

$
$k]
3		"r/cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)-rz--randomizer )r"rrr2	randomizer;s   rtest_randomizez ParseArgsTestCase.test_randomizes[&	.C#&
. ,,cU3-
.
.	.
.
.rHctjddg}|j|jd|j	|j
|j
dgd|j
ddgdy)Nz
--randseed12345i90r(r)invalid int value)rrr*random_seedr2r\rr,s  r
test_randseedzParseArgsTestCase.test_randseeds`

$
$lG%<
=/%(?@u-/BCr/cdD]x}|j|5tj|dg}|j|jd|j|gd|j|ddgddddzy#1swYxYw)N)-f
--fromfiler r)r(-sdon't go together)r"rrr*fromfilerr;s   r
test_fromfilezParseArgsTestCase.test_fromfiles%	IC#&
I ,,c5\:  e4'>?eT 24GH	
I
I	I
I
IsAA??B	cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)z-x	--excluder )r"rrr2excluder;s   rtest_excludezParseArgsTestCase.test_exclude[$	,C#&
, ,,cU3

+
,
,	,
,
,rHcdD]c}|j|5tj|g}|j|j|j|ddgddddey#1swYpxYw)N)rfz--singler rdr)rg)r"rrr2singlerr;s   rtest_singlezParseArgsTestCase.test_singlesx#	IC#&
I ,,cU3		*dE 24GH
I
I	I
I
Ir=cdD]d}|j|5tj|dg}|j|jdg|j|gddddf|j
tjtjttjd5}td|td|dddtjjtj}tjd	d
d|g}|j|jddgy#1swYAxYw#1swY{xYw)N)z-iz--ignorer patternr(w
matchfile1file
matchfile2-mmatch--ignorefile)r"rrr*ignore_testsr
addCleanuprunlinkTESTFNopenprintospathabspathrr!r-fpfilenames     rtest_ignorezParseArgsTestCase.test_ignores)#	@C#&
@ ,,c9-=>  9+>'>?
@
@	@	
	(()*:*:;
)""C
(	)B,R(,R(	)77??9#3#34

$
$dG&4h&@A&5	7
@
@	)	)sAD:2E:E	EcdD]d}|j|5tj|dg}|j|jdg|j|gddddftjgd}|j|jddg|j
tjtjttjd5}td	|
td|
dddtjjtj}tjdd
d|g}|j|jgdy#1swYvxYw#1swY{xYw)N)ryz--matchr rsr()rypattern1rypattern2rrrtrurvrxryrz--matchfile)rzrurx)r"rrr*match_testsrr}rr~rrrrrrrs     r
test_matchzParseArgsTestCase.test_matchsR"	@C#&
@ ,,c9-=>  )='>?
@
@	@
$
$&89*j)AB	(()*:*:;
)""C
(	)B,R(,R(	)77??9#3#34

$
$dG&3X&?@>	@#
@
@	)	)sAE/'E</E9	<FcNdD]}|j|5tj|dg}|j|jtj|dg}|j|j|j|gddddy#1swYxYw)N)z-Gz
--failfastr r?rJz#-G/--failfast needs either -v or -W)r"rrr2failfastrr;s   r
test_failfastzParseArgsTestCase.test_failfasts%	NC#&
N ,,c4[9, ,,c4[9,'LM
N
N	N
N
NsA8BB$	cDdD]}|j|5tj|dg}|j|jddgtj|dg}|j|jdgttj}|jdtj|dg}|j|j||j|gd|j|d	gd
tj|dg}|j|jttjdgztj|d
g}|j|jd
gdddy#1swYxYw)N)-uz--user zgui,networkguinetworkzgui,none,networkzall,-guir(r)zinvalid resourcez
all,tzdatatzdataextralargefile)	r"rrr*
use_resourceslist
ALL_RESOURCESremover)rr!r-expecteds    rtest_usezParseArgsTestCase.test_uses~ 	GC#&
G ,,c=-AB  !1!1E93EF ,,c3E-FG  !1!1I;? 9 9:& ,,c:->?  !1!18<'>?e.@A!,,c<-@A  !1!1!%k&?&?!@H:!MO!,,c3C-DE  !1!14D3EF+
G
G	G
G
GsE0FF	cdD]c}|j|5tj|dg}|j|jd|j|gddddey#1swYpxYw)N)z-Mz
--memlimitr 4Gr()r"rrr*memlimitrr;s   r
test_memlimitzParseArgsTestCase.test_memlimitsy%	@C#&
@ ,,c4[9  d3'>?
@
@	@
@
@r=ctjddg}|j|jtj
j
tjd|jdgdy)Nz	--testdirr)r()
rrr*testdirrrjoinrSAVEDCWDrr,s  rtest_testdirzParseArgsTestCase.test_testdirsQ

$
$k5%9
:RWW\\)2D2De%LM
'>?r/cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)z-Lz
--runleaksr )r"rrr2runleaksr;s   r
test_runleakszParseArgsTestCase.test_runleaksrMrHcdD]9}|j|5tj|dg}|j|jdtj|dg}|j|jdtj|dg}|j|jdtj|d	g}|j|jd
|j|gd|j|dgd
|j|dgd|j|dgdddd<y#1swYHxYw)N)z-R--huntrleaksr :)r
r
reflog.txtz6:)rrz:3)r
rrz
6:3:leaks.log)rrz	leaks.logr(6z&needs 2 or 3 colon-separated argumentszfoo:zinvalid huntrleaks valuez6:foo)r"rrr*
huntrleaksrr;s   rtest_huntrleaksz!ParseArgsTestCase.test_huntrleakss2'	LC#&

L ,,c3Z8  0DE ,,c4[9  0DE ,,c4[9  0DE ,,c?-CD  0CD'>?c
 HJf
/IJg0JK

L

L	L

L

LsDEE	chdD]}|j|5tj|dg}|j|jd|j|gd|j|dgd|j|ddgd	|j|d
dgd	dddy#1swYxYw)N)z-jz--multiprocessr 2r
r(r)r`-Trg0)r"rrr*use_mprr;s   rtest_multiprocessz#ParseArgsTestCase.test_multiprocesss)	GC#&
G ,,c3Z8  A.'>?e.ABc4 02EFc4 02EF

G
G	G
G
GsBB((B1	cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)r
--coverager )r"rrr2tracer;s   r
test_coveragezParseArgsTestCase.test_coverages[%	*C#&
* ,,cU3)
*
*	*
*
*rHc	DdD]}|j|5tj|dg}|j|jt
jjtjd|j|gddddy#1swYxYw)N)z-Dz
--coverdirr r)r()r"rrr*coverdirrrrrrrr;s   r
test_coverdirzParseArgsTestCase.test_coverdir%s%	@C#&
@ ,,c5\:  !#i.@.@%!HJ'>?	
@
@	@
@
@sA3BB	cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)z-Nz--nocoverdirr )r"rrassertIsNonerr;s   rtest_nocoverdirz!ParseArgsTestCase.test_nocoverdir-s]'	/C#&
/ ,,cU3!!"++.
/
/	/
/
/rHcdD]w}|j|5tj|dg}|j|jd|j|gd|j|dgddddyy#1swYxYw)N)z-tz--thresholdr 1000ir(r)r`)r"rrr*	thresholdrr;s   rtest_thresholdz ParseArgsTestCase.test_threshold3s&	CC#&
C ,,c6];  t4'>?e.AB	
C
C	C
C
CsAA>>B	c~dD]}|j|5tjtj5}tj|g}ddd|jjj}|jd|dddy#1swYQxYw#1swYxYw)N)-nz--nowindowsr z)the --nowindows (-n) option is deprecated)r"
contextlibredirect_stderrioStringIOrrr2	nowindowsrr)rr!stderrr-rs     rtest_nowindowsz ParseArgsTestCase.test_nowindows;s&	PC#&
P//
>8&$00#7B8-oo'

I3O
P
P	P88
P
Ps$(B3B'AB3'B0,B33B<	cdD]N}|j|5tj|g}|j|jdddPy#1swY[xYw)N)z-F	--foreverr )r"rrr2foreverr;s   rtest_foreverzParseArgsTestCase.test_foreverDrnrHc*|jdgdy)Nz--xxxzusage:rrs rtest_unrecognized_argumentz,ParseArgsTestCase.test_unrecognized_argumentJs	8,r/ctjdg}|j|j|j	|j
dy)Nz--quir)rrr2rQr*rBr,s  rtest_long_option__partialz+ParseArgsTestCase.test_long_option__partialMs8

$
$gY
/!Q'r/ctjddg}|j|j|j	|j
d|j|jy)NrPrkr)rrr2rQr*rBrlr,s  rtest_two_optionsz"ParseArgsTestCase.test_two_optionsRsK

$
$i%=
>!Q'

#r/cjtjddg}|j|jdy)Nr9)rrr*r:r,s  r#test_option_with_empty_string_valuez5ParseArgsTestCase.test_option_with_empty_string_valueXs*

$
$i_
52&r/cjtjdg}|j|jdgy)Nr))rrr*rr,s  rtest_argzParseArgsTestCase.test_arg\s*

$
$eW
-5'*r/ctjddg}|j|j|j	|j
d|j	|jdgy)NrPr)r)rrr2rQr*rBrr,s  rtest_option_and_argz%ParseArgsTestCase.test_option_and_arg`sQ

$
$i%7
8!Q'5'*r/ctjgd}|j|jd|j|jddgy)N)test_unaryopr?
test_binopr@rr)rrr*rBrr,s  rtest_arg_option_argz%ParseArgsTestCase.test_arg_option_argfs@

$
$%I
JQ'><"@Ar/c*|jdgdy)Nz--unknown-optionz(unrecognized arguments: --unknown-optionrrs rtest_unknown_optionz%ParseArgsTestCase.test_unknown_optionks+,B	Dr/N),__name__
__module____qualname____doc__rr%r.r4r7r<rCrGrLrRrVrYr]rbrirmrqrrrrrrrrrrrrrrrrrrrrrrrr/rrr2s+
NE!D
@
(*-0/#.DI,I7$@,NG2@@
-L"G*@/CP,-(
$'++B
Dr/rT)slotsc2eZdZUeed<edzed<eed<y)RerunnameNrzsuccess)rrrstr__annotations__boolrr/rrrps

I:
Mr/rcjeZdZdZdZdZdZddZdZdd	Z	d
Z
						dddddZd
ZddZ
dZy)BaseTestCaser@test_regrtest_ztest_[a-zA-Z0-9_]+ctjjtjjt|_t
j|_|jtj|jyr)rrrealpathdirname__file__rtempfilemkdtemp
tmptestdirr}rrmtreers rsetUpzBaseTestCase.setUp|sMww''(AB"**,	(($//:r/Nc.|s,dtjz}txjdz
c_|tjd}|j|z}t
jj|j|dz}|jtj|	t|dd5}|j|ddd|S#1swY|SxYw#t$r1}tj s|j#d|d	|d}~wwxYw)
Nznoop%sr@z
                    import unittest

                    class Tests(unittest.TestCase):
                        def test_empty_test(self):
                            pass
                z.pyxzutf-8)encodingz
cannot write z: )rTEST_UNIQUE_IDtextwrapdedentTESTNAME_PREFIXrrrrr}rr~rwritePermissionError	sysconfigis_python_buildskipTest)rrcoderrexcs      rcreate_testzBaseTestCase.create_testsl999D''1,'<??$D##d*ww||DOOTE\:	(($/	dC'2
b


		,,.

tSAB	s6#C1C
C
CCC	D#,DDctj||tj}|s|j|d||S)Nz not found in )research	MULTILINEfail)rregexoutputrzs    rregex_searchzBaseTestCase.regex_searchs1		%6IIeV<=r/Fc|r|dz
}tjd|ztj}|j||y)N
^)rcompilerassertRegex)rrrfulls    r
check_linezBaseTestCase.check_lines6TME

4%<6'r/cdtd|jd}tj||tj}td|DS)Nrz\[ *[0-9]+(?:/ *[0-9]+)*\] ()c3>K|]}|jdyw)r@N)group).0rzs  r	<genexpr>z4BaseTestCase.parse_executed_tests.<locals>.<genexpr>s7uEKKN7s)
LOG_PREFIXTESTNAME_REGEXrfinditerrr)rrrparsers    rparse_executed_testsz!BaseTestCase.parse_executed_testss; 3 35UFBLL97777r/)rfilteredc
	
!t|tr|g}t|tr|g}t|	tr|	g}	t|tr|g}t|tr|g}t|tr|g}t|tr|g}t|
trt|
}
g}|4|jg}|j
s|j
|j|j|}t|}||j
|j|
r&|jt|t||n|j|||d!!fd}|r|d|}|j|||	r|d|	}|j|||r|d|}|j|||r|d|}|j|||r|d|}|j||||d|jg}|j||td	z}|j||d
|jd}|jr|d|jd
}|j|||r|d|}|j||t|t|z
t|	z
t|z
t|z
t|z
t|z
}|r>|d!|d}|s|s||j
r
|dkDrd|z}|j||d|r|j|dd|
jd}|r|d}|g}|
j r|j
d|
j d|
j"r|j
d|
j"dddj%|}|j||dt|t|	z
}|t|}d}n
t|}d}|rd}d|}|s|dt|}|r|d}|g}d|fd t|fd!t|fd"t|	fd#|fd$t|ffD]\}}|s	|j
|d%| d&dj%|}|j||dg}|r|j
d'n|r|r|j
d(|r|j
d)t'||||||fs|j
d*n|s|j
d+d,j%|}||j
rd+nd'} d-| z}|j|d.|dy)/Nc|dk7rdSdS)Nr@srr)counts rpluralz1BaseTestCase.check_executed_tests.<locals>.plurals1*3,",r/c|t|}djt|}|||fz}|d|d}|S)N z:\n    $)lenrsorted)line_formattestsr.namesrr/s     r
list_regexz5BaseTestCase.check_executed_tests.<locals>.list_regexs@JEHHVE]+E5&-"88E',e4ELr/z%s test%s skippedz%%s test%s skipped \(resource denied\)z%s test%s failedz+%s test%s altered the execution environmentz%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\.r@zAll %sT)rz(Test suite interrupted by signal SIGINT.zrun=,z
 \(filtered\)z	failures=zskipped=z
Total tests: r1r/failedenv_changedskippedresource_deniedrFrun_no_tests=zTotal test files: FAILUREzENV CHANGEDINTERRUPTEDzNO TESTS RANSUCCESS, z
FAILURE then zResult: )
isinstancerintrrrappendr)rr*setrr%rzr3	tests_runfailuresr=rany)"rrr6r=r;r<omittedrFr?r>r\interruptedfail_env_changedstatsrr*rerun_failedexecutedtotal_testsr8rgoodtextpartslineruntotal_failedtotal_rerunreportrnteststate	new_stater/s"                                 @rcheck_executed_testsz!BaseTestCase.check_executed_testss`eS!GEgs#iGos+./Ofc"XFk3'&-Kgs#iGlC((>LeS!e$Ejj\F==##EJJ/,,V45kuzz*S]C,<fEX{F;	-	2G<EOOFE*GYEOOFE*16:EOOFE*L*,EOOFE*2G<EOOFE*1EJJ<@EOOFE*$MNEOOFE*"5::,.>?E{{!7-}B?OOFE*7FEOOFE*E
S\)C,@@3v;Ng,!$[!12474EF)-vd|<E6u}

SWZ[S[ 5(OOFEO5OOF$NOeooa()fM*D>>LL9U^^A$678==LL8EMM!#4560140+_!55|,LKv;LKCcU|V1SZL)DfM*D
|$
C,-
G%
O 45
k"
S./

		1KD%

aw/0		1%SXXf%5$6740LL#
+LL'LL'D&+w!134LL(LL#		% %*]]		I#i/E(5' 2>r/c|jd|}t|jd}|jd|cxkxrdknc||S)NzUsing random seed ([0-9]+)r@ri)rrFr"r2)rrrzrandseeds    rparse_random_seedzBaseTestCase.parse_random_seedMsD!!"?Hu{{1~&X118<r/c	`|sd}d|vrtj|d<tj|fd|tjd|}|j|k7r[dt|d|jd|d|jd		}|jr|d
|jzz
}|j||S)NrrT)universal_newlinesinputstdoutzCommand z failed with exit code z, but exit code z expected!

stdout:
---
z
---
z
stderr:
---
%s---
)	
subprocessSTDOUTrWPIPE
returncoderrerr)rrrdexitcodekwprocrs       rrun_commandzBaseTestCase.run_commandSsE2%,,BxL~~d$15$)%/__$!#	$
??h&$i(DKK
IC{{ 
++&'
IIcNr/cltjdddg|}|j|fi|}|jS)Nz-Xfaulthandlerz-I)sys
executablermre)rrrkrls    r
run_pythonzBaseTestCase.run_pythonos:ndBTBt++{{r/)NN)F)
rrrrNrrFFF)Nr)rrrrrr&rrrrr)r^rarmrrrr/rrrwscN&O*N;<(8FH5768-/:?.3Y?05u
Y?v8r/rceZdZdZy)CheckActualTestsc	gd}|j|}t|j}tjjt
jtjjtd}tt
j|}|j||dzdzddj|jy)	zP
        Check that regrtest appears to find the expected set of tests.
        )-Wd-E-bbry
test.regrtest--list-testsztest*.py	
z+Unexpectedly low number of tests found in:
rD)rN)rrr3
splitlinesrrrglobescaperr
assertGreater)rrrrough_number_of_tests_foundactual_testsuite_globrough_counted_test_py_filess      r#test_finds_expected_number_of_testsz4CheckActualTests.test_finds_expected_number_of_testsvsK&&)&*;*;*=&># "T[[9R-S-7!9&)$))4I*J&K#	
66q8"<M"ii(9(9(;<= ?		@r/N)rrrrrr/rrtrtus@r/rtceZdZdZdZfdZdZdZdZdZ	dZ
d	Zd
ZdZ
ejej"dd
ZdZejej"dejej*dk(ddZejej*dk(ddZxZS)ProgramsTestCasezp
    Test various ways to run the Python test suite. Use options close
    to options used on the buildbot.
    rclt|t|jDcgc]}|j	c}|_gd|_ddd|jzg|_|jjdtjdk(r|jjdyycc}w)N)rvrwrxz-uallz-rwW--testdir=%s)r'3600z-j4win32r)
superrrangeNTESTrr6python_argsr
regrtest_argsextendrpplatformrG)rindex	__class__s  rrzProgramsTestCase.setUps

7<DJJ6GHUd&&(H
/%v,t>@!!">?<<7"%%d+#
IsB1c|j||j||jdt|jy)NT)r\rO)rar^r6r3)rrs  rcheck_outputzProgramsTestCase.check_outputs9v&!!&$**,0DJJ	"	Ir/cH|j|}|j|yr)rrr)rrrs   r	run_testszProgramsTestCase.run_testss&&!r/ctjj|jd}g|j||j
|j}|j|y)Nzregrtest.pyrrrrrrr6rrscriptrs   rtest_script_regrtestz%ProgramsTestCase.test_script_regrtestsOdllM:L!!L6LD,>,>LLtr/czg|jdd|j|j}|j|y)Nrytestrrr6rrrs  rtest_module_testz!ProgramsTestCase.test_module_testsJ2!!2422##2&*jj2tr/czg|jdd|j|j}|j|y)Nryryrrs  rtest_module_regrtestz%ProgramsTestCase.test_module_regrtestJ2!!2422##2&*jj2tr/czg|jdd|j|j}|j|y)Nryz
test.autotestrrs  rtest_module_autotestz%ProgramsTestCase.test_module_autotestrr/c~d}g|jd||j|j}|j|y)Nzfrom test import autotestz-cr)rr
rs   rtest_module_from_test_autotestz/ProgramsTestCase.test_module_from_test_autotestsO*2!!2422##2&*jj2tr/ctjj|jd}g|j||j
|j}|j|y)Nzautotest.pyrrs   rtest_script_autotestz%ProgramsTestCase.test_script_autotestsOdllM:L!!L6LD,>,>LLtr/z$run_tests.py script is not installedctjjtddd}|g|j|j
}|j
|y)NToolsscriptszrun_tests.py)rrrROOT_DIRrr6rrs   rtest_tools_script_run_testsz,ProgramsTestCase.test_tools_script_run_testssDhNK9++9djj9tr/c\|j|}|j|jyr)rmrre)rrrls   r	run_batchzProgramsTestCase.run_batchs$%$++&r/z test.bat script is not installedrzWindows onlyctjjtddd}d|jzg}tjdk(r|jdnTtjdk(r|jdn+tjd	d
k(r|jdtjs|jd|j|g||jy)
Nrbuildbotztest.batrARM64-arm64ARM-arm32r64bit-x64z+d)
rrrrrrmachinerGarchitecturerPy_DEBUGrr6)rr	test_argss   rtest_tools_buildbot_testz)ProgramsTestCase.test_tools_buildbot_tests
hZH#doo56	(X&



5
(X&

"
"
$Q
'7
2V$T"v7	7DJJ7r/cLtjjtd}tjj	|s|jd|ddg}t
jdk(r|jdnTt
jdk(r|jdn+t
jd	d
k(r|jdtjr|jd|j|g||j|jy)
NzPCbuild\rt.batzFile "z" does not existrOrrrrrrrz-d)rrrrisfilerrrrGrrrrrr6)rrrt_argss   rtest_pcbuild_rtz ProgramsTestCase.test_pcbuild_rtsh(9:ww~~f%MMF6(*:;<&(NN8$



5
(NN8$

"
"
$Q
'7
2NN6"NN4 vJJ$*<*<JtzzJr/)rrrrrrrrrrrrrrunittest
skipUnlessr
rrrrprrr
__classcell__)rs@rrrs

E,I
"X2224?AA'X2224;=X0.A8B=8X0.AKBKr/rc&eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZej&ej*ddZej&ej*ddZdZdZej4dZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%d Z&d!Z'd"Z(d#Z)d$Z*d%Z+d&Z,d'Z-ej4d(Z.d)Z/d*Z0d+Z1d,Z2d-Z3d.Z4ejjejld/d0Z7d1Z8d2Z9y3)4ArgsTestCasez2
    Test arguments of the Python test suite.
    cPddd|jzg|}|j|fi|S)Nryrr)rrr)rtestargsrkcmdargss    rrzArgsTestCase.run_testss2$//!AMHMtw-"--r/ctjd}tddDcgc]}|jd||}}|j|}|j||dt
|zycc}w)Na
            import unittest

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

                def test_test2(self):
                    pass

                def test_test3(self):
                    pass
        r@rokr
rrO)rrrrrr^r3)rr
ir6rs     rtest_successzArgsTestCase.test_success	s 
AFaL1!!Bqc(!6LL'!!&%()CJ	"	8MsA3ctjd}|jd}|jd|}||g}|j|}|j	|||gdy)NzQ
            import unittest
            raise unittest.SkipTest("nope")
        rskiprr@)r=rOrrrrr^)rr
test_ok	test_skipr6rs      rrzArgsTestCase.test_skipsu 
""4($$V$$7	)$'!!&%+4+()	"	+r/c	tjd}|jd}|jd|}||g}|j|dti}|j|||t
ddy)	Nz
            import unittest

            class FailingTest(unittest.TestCase):
                def test_failing(self):
                    self.fail("bug")
        rfailingrrjr
r@r;rOrrrrEXITCODE_BAD_TESTr^r)rr
rtest_failingr6rs      rtest_failing_testzArgsTestCase.test_failing_test+s~ 
""4(''	'=,'C1BC!!&%(1!Q	"	9r/ci}dD]/}tjd|z}|j||||<1t|j	}|j
ddg|}|j
||d|j
dg|}|j
|||dd	
|j
|dti}|j
|||d
y)
N)audiora
                        from test import support; support.requires(%r)
                        import unittest
                        class PassingTest(unittest.TestCase):
                            def test_pass(self):
                                pass
                    rallr
rz-uaudiorr@)r>rOrjr)rrrr4valuesrr^EXITCODE_NO_TESTS_RAN)rr6resourcer

test_namesrs      rtest_resourceszArgsTestCase.test_resources<s,		?H??$#
$#$D#..x>E(O		?ELLN+
 e9j9!!&*A!> 	7J7!!&*27	2B()	"	+
 L6KL!!&*2<()	"	+r/ctjd}|jd|}|jd|t}|j|}|j
d|}t|jd}|jdd|z|t}|j|}|j|||j
d|}t|jd}|j||y)Nza
            import random
            print("TESTRANDOM: %s" % random.randint(1, 1000))
        randomr[rjzTESTRANDOM: ([0-9]+)r@z
--randseed=%s)
rrrrrrarrFr"r*)	rr
rrr`rztest_random	randseed2test_random2s	         rrzArgsTestCase.test_random[s 
$/d5JK))&1!!"96B%++a.)o&@$)> @**62	H-!!"96B5;;q>*{3r/c
PtdDcgc]}|j}}tj}|j	tj
|t
|d5}d}t|dD]0\}}d||t||fz}|r|d|zz
}t|||}2	ddd|jd|}t|}	|j|||	t
|d5}t|dD]$\}}td	|d
t|d||&	ddd|jd|}|j|||	t
|d5}|D]}t||	ddd|jd|}|j|||	t
|d5}|D]}td|z|	ddd|jd|}|j|||	ycc}w#1swYSxYw#1swYxYw#1swYxYw#1swYZxYw)
Nr
rtr@z00:00:%02i [%s/%s] %sz -- %s took 0 secrvrer[r:z] zLib/test/%s.py)rrrrr}r~r	enumerater3rrr^)
rrr6rrpreviousrrVrrOs
          rrizArgsTestCase.test_fromfilessB16q:!!#::
##	(((3(C
 	 BH(2
 t/ %UT:;/(::Dd$

 	 h7E
!!&%u!=(C
 	IB(2
IteSZ>RH
I	Ih7!!&%u!=(C
 	%B
%d$
%	%h7!!&%u!=(C
 	8B
8&-B7
8	8h7!!&%u!=[;	 	 	I	I	%	%	8	8s6G2#AG7+4HH*H7HH
HH%ct}|jd|}|j|t}|j	|||ddy)NsigintrrTrrLrMrO)TEST_INTERRUPTEDrrEXITCODE_INTERRUPTEDr^rr
rrs    rtest_interruptedzArgsTestCase.test_interruptedsMt4/CD!!&$.2!	"	=r/ctdDcgc]}|j}}|jdg|}|j||t	|d|j
dt	|d}|j
||ycc}w)NrrTrz10 slowest tests:
(?:- z: .*
){})rrrr^r3r&r)rrr6rrs     rrVzArgsTestCase.test_slowests}16q:!!#::4e4!!&%s5z!B''U5	
&
;sBc	*t}|jd|}dD]i}|j|5|rdd|f}nd|f}|j|dti}|j|||dd	
d}|j
||dddky#1swYvxYw)Nrr)FT)multiprocessingrT-j2rjTrrz10 slowest tests:
)rrr"rrr^r)rr
rrrrrs       rtest_slowest_interruptedz%ArgsTestCase.test_slowest_interruptedst4,	/Oo>
/"'5D'.D'M8LM))&$26D01*3/.
/
/	/
/
/sA
B		B	c|jd}|jd|}|j||gdd}|j||y)Ncoveragerr@rzLlines +cov% +module +\(path\)\n(?: *[0-9]+ *[0-9]{1,2}% *[^ ]+ +\([^)]+\)+)+)rrr^r)rrrrs    rrzArgsTestCase.test_coveragesO
+d3!!&4&!:B&r/cr|jd}|jd|d}|j|dy)Nr3r1key)rdzPress any key to continue)rrr)rrrs   rr4zArgsTestCase.test_waits5'$e< ;<r/c	Vtjd}|jd|}|jd|t}|j||gdz|t
ddd	|jdd
|d}|j||gdzt|dd
t
dddy)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
        rrrrrr@T)r;rOrrErtest_runrzrr)rFrOr)rrrrrr^rrrs    rrzArgsTestCase.test_forevers 
	5T<MN!!&4&(4(1!Q*.	"	0
YqI!!&4&((-d4>6:)<)2!Q*.	"	0r/c|jd|}d}|jtj||j	dd|t
tj}|j||g|dd	}|j|tj||d
|d}|j||t|5}|j}	|j||	dddy#1swYyxYw)Nrrrrz3:3:)rjrr@rz&beginning 6 repetitions
123456
......
z leaked [1, 1, 1] z, sum=3
)rr}rr~rrrfrgr^rrrrrread)
rr
whatrrrrVline2rreflogs
          r
check_leakzArgsTestCase.check_leaks48	(((3):'1'8'8 :	
!!&4&Q!G:		$0594@

eV$
(^	)rWWYFMM%(	)	)	)s#C,,C5zneed a debug buildcRtjd}|j|dy)Nz
            import unittest

            GLOBAL_LIST = []

            class RefLeakTest(unittest.TestCase):
                def test_leak(self):
                    GLOBAL_LIST.append(object())
        
referencesrrrrr
s  rrzArgsTestCase.test_huntrleaks
s' 
	
l+r/cRtjd}|j|dy)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 descriptorsrrs  rtest_huntrleaks_fd_leakz$ArgsTestCase.test_huntrleaks_fd_leaks( 
	
01r/ctdDcgc]}|j}}|jdg|}|j|j	j|ycc}w)Nr
rz)rrrr*rstripr})rrr6rs    rtest_list_testszArgsTestCase.test_list_tests)s^-21X6!!#6677335	 7sA)c>tjd}|j|}d|zd|zg}|jd|}|j	|j|d|zg}|jddd|}|j	|j|y)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-casesrytest_method1)rrrrr*r})rr
testnameall_methodsrs     rtest_list_caseszArgsTestCase.test_list_cases0s 
###./9.9;9**,k:/9: $n (*	
**,k:r/cd}|jd|}|g}|jdg|dti}|j|||ddy)	Nz,import faulthandler; faulthandler._sigsegv()crash)rr
rrjTrr;r\rO)rrrr^)rr

crash_testr6rs     rtest_crashedzArgsTestCase.test_crashedJs^>%%7%>
JJ8IJ!!&%
,0	"	;r/ctjdtj}|j|Dcgc]}|j	dc}Scc}w)Nz^(test[^ ]+).*ok$)flagsr@)rrrr'r")rrrrzs    r
parse_methodszArgsTestCase.parse_methodsUs<

.bllC,1NN6,BC5ACCCsActjd}gd}|j|}tj}|jtj|dd|zg}t|d5}|D]}t||	ddd|jdd	||}|j|}	d
dg}|j|	|y#1swYExYw)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
        rtest_method2test_method3test_method4rr%s.Tests.test_method3rtrvr?r{r"r$)rrrrrr}r~rrrrr*)
rr
rrrsubsetrrrmethodss
          rtest_ignorefilezArgsTestCase.test_ignorefileYs 
7###.##	(((3
#h.	0
(C
 	%B
%d$
%	%nhI$$V, .1&)	%	%s/C		Cctjd}gd}|j|}|jd|}|j	|}|j||tj}|jtj|dd|zg}t|d5}|D]}	t|	|	ddd|jdd	||}|j	|}dd
g}|j||y#1swYExYw)Nr r!rr?rr%rtrvrr#)rrrrrr*rrr}r~rr)
rr
rrrr'rr&rrs
          rtest_matchfilezArgsTestCase.test_matchfile}s 
7###.h/$$V,+.##	(((3
#h.	0
(C
 	%B
%d$
%	%mXxH$$V, .1&)	%	%s$C>>Dctjd}|j|}|j|}|j	||g|d|jd|t
}|j	||g|ddy)	Nz
            import unittest

            class Tests(unittest.TestCase):
                def test_env_changed(self):
                    open("env_changed", "w").close()
        rr@)r<rO--fail-env-changedrTr<rNrO)rrrrr^EXITCODE_ENV_CHANGEDrr
rrs    rtest_env_changedzArgsTestCase.test_env_changeds 
###.)!!&8*.6a	"	A 4h)= ?!!&8*(37q	"	Br/c	tjd}|j|}|jd|t}|j||gt
|ddtdd	
y)Na
            import unittest

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

                def test_fail_always(self):
                    # test that always fails
                    self.fail("bug")
        rrErtest_fail_alwaysF)rrr
rFrO)rrrrrr^rrr/s    rtest_rerun_failzArgsTestCase.test_rerun_failss
 

###.	8>OP!!&8*(-h.@6;)=)2!Q		"	9r/c	tjjd}|jtj
||j
tjj|tjd|d}|j|}|jd|d}|j||gt|dd	
tdd
t	j
||jdd|t}|j||gt|dd	
tdd
t	j
|y)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")
        rrErrtest_fail_onceTrrr@r3z--fail-rerun)rrrr}rr~assertFalseexistsrrrrr^rrEXITCODE_RERUN_FAIL)rmarker_filenamer
rrs     rtest_rerun_successzArgsTestCase.test_rerun_successs:''//*DE	((/:89$ /1
2		 
###.	8a@!!&8*(-h4D6:)<)2!Q		"	9
	)	>8)< >!!&8*(-h4D6:)<)2!Q		"	9
	)r/c
tjd}|j|}|jd|t}|j|||gt
|ddd	y)
Na
            import unittest

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

                def test_success(self):
                    return
        rrErExampleTestsFrrr;rFrOrrrrrr^rr/s    r#test_rerun_setup_class_hook_failurez0ArgsTestCase.test_rerun_setup_class_hook_failurep
 

###.	8>OP!!&(*2(-h4B6;)=)*	"	+r/c
tjd}|j|}|jd|t}|j|||gt
|ddd	y)
Na
            import unittest

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

                def test_success(self):
                    return
        rrErr>Frr
r?r@r/s    r&test_rerun_teardown_class_hook_failurez3ArgsTestCase.test_rerun_teardown_class_hook_failurerBr/c
tjd}|j|}|jd|t}|j|||gt
|dddy)	Nz
            import unittest

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

            class ExampleTests(unittest.TestCase):
                def test_success(self):
                    return
        rrErFrrr?r@r/s    r$test_rerun_setup_module_hook_failurez1ArgsTestCase.test_rerun_setup_module_hook_failure*sp	 	
###.	8>OP!!&(*2(-h486;)=)*	"	+r/c
tjd}|j|}|jd|t}|j||g|gt
|dddy)	Nz
            import unittest

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

            class ExampleTests(unittest.TestCase):
                def test_success(self):
                    return
        rrErFrr
r?r@r/s    r'test_rerun_teardown_module_hook_failurez4ArgsTestCase.test_rerun_teardown_module_hook_failure@sr	 	
###.	8>OP!!&8**2(-h486;)=)*	"	+r/c
tjd}|j|}|jd|t}|j|||gt
|ddd	y)
Nz
            import unittest

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

                def test_success(self):
                    return
        rrErrFrr
r?r@r/s    rtest_rerun_setup_hook_failurez*ArgsTestCase.test_rerun_setup_hook_failureVp	 	
###.	8>OP!!&(*2(-h4B6;)=)*	"	+r/c
tjd}|j|}|jd|t}|j|||gt
|ddd	y)
Nz
            import unittest

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

                def test_success(self):
                    return
        rrErrFrr
r?r@r/s    r test_rerun_teardown_hook_failurez-ArgsTestCase.test_rerun_teardown_hook_failurelrKr/c	tjd}|j|}|jd|t}|j||t
|ddd	y)
Na

            import unittest

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

                async def test_success(self):
                    return
        rrErrFrr
r3r@r/s    r#test_rerun_async_setup_hook_failurez0ArgsTestCase.test_rerun_async_setup_hook_failuresk	 	
###.	8>OP!!&((-h4B6;)=)*		"	+r/c
tjd}|j|}|jd|t}|j|||gt
|ddd	y)
Na
            import unittest

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

                async def test_success(self):
                    return
        rrErrFrr
r?r@r/s    r&test_rerun_async_teardown_hook_failurez3ArgsTestCase.test_rerun_async_teardown_hook_failurerKr/ctjd}|j|}|j|ddt}|j||g|ddy	N
            import unittest

            class Tests(unittest.TestCase):
                def test_bug(self):
                    pass
        rry
nosuchtestrrTr?rOr*rrrrrr^r/s    rtest_no_tests_ranzArgsTestCase.test_no_tests_ransh 
###.$)> @!!&8*/7()D	"	:r/ctjd}|j|}|j|}|j	||gtddy)Nz
            import unittest

            class Tests(unittest.TestCase):
                def test_skipped(self):
                    self.skipTest("because")
        rr@)r=r)rrrrr^rr/s    rtest_no_tests_ran_skipz#ArgsTestCase.test_no_tests_ran_skips\ 
###.)!!&8*(1!Q(?	"	Ar/ctjd}|j|}|j|}|j||ddt}|j|||g||gddyrSrW)rr
r	testname2rs     r,test_no_tests_ran_multiple_tests_nonexistentz9ArgsTestCase.test_no_tests_ran_multiple_tests_nonexistents 
###.$$$$/	)T<)> @!!&8Y*?08)/D()D	"	:r/c	tjd}|j|}tjd}|j|}|j||ddddd}|j	|||g|gd	d
y)NrTrz
            import unittest

            class Tests(unittest.TestCase):
                def test_other_bug(self):
                    pass
        ryrUtest_other_bugrrr@TrVr)rr
r
other_coder\rs      r)test_no_test_ran_some_test_exist_some_notz6ArgsTestCase.test_no_test_ran_some_test_exist_some_nots 
###.__&
$$*$5	)T< $&6 D!!&8Y*?08z()D	"	:r/ctjd}|j|}|jd|t}|j||g|gddy)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
        rr,rTr@r-)rrrrr.r^r/s    rtest_uncollectablezArgsTestCase.test_uncollectablesi 
"###. 4h)= ?!!&8*/7j37()	"	+r/ctjd}|j|}|jdd|t}|j||g|d|j
|tjd|ztjy)	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)
        rrz
--timeout=1.0rrrz%s timed out)
rrrrrr^rrrrr/s    rtest_multiprocessing_timeoutz)ArgsTestCase.test_multiprocessing_timeouts 
$###.): <!!&8*)1	"	<NX$=r||L	Nr/ctjd}|j|}|jdd|t}|j||g|gdd|j
d	||j
d
|y)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(), '')
        rr,r?rTr@r-zWarning -- Unraisable exceptionzException: weakref callback bugrrrrr.r^rr/s    rtest_unraisable_excz ArgsTestCase.test_unraisable_exc,s 
*###. 4dH)= ?!!&8*/7j37()	"	+	


7@

7@r/ctjd}|j|}|jdd|t}|j||g|gdd|j
d	||j
d
|y)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(), '')
        rr,r?rTr@r-z$Warning -- Uncaught thread exceptionzException: bug in threadrgr/s    rtest_threading_excepthookz&ArgsTestCase.test_threading_excepthookOs 
&###. 4dH)= ?!!&8*/7j37()	"	+	


<fE

0&9r/c	<tjd}|j|}d}dD]b}|j|5d||g}|j|dt
i}|j
||g|gdd	
|j||ddddy#1swYoxYw)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)r?rJ)optionr,rjTr@r-)rrrr"rr.r^r)rr
rrrlcmdrs       rtest_print_warningzArgsTestCase.test_print_warningps 
$###.#	0FV,
0+VX>'L7KL))&8*7?j;?01*3  /
0
0	0
0
0s
ABB	ctjjtj}|j|tjd|j
r|jdyy)Nz not setzModified guard)renvirongetrUNICODE_GUARD_ENVassertIsNotNoneisasciir)rguards  rtest_unicode_guard_envz#ArgsTestCase.test_unicode_guard_envsU

u667Uu'>'>&?x$HI==?
MM*+r/ctjj|jd}tj|tjj|jd}t|dj
||g}ddd|jzdg}|j||D]1}|jtjj||3y)Ntest_python_123test_python_456wbryrz--tempdir=%sz	--cleanup)
rrrrmkdirrcloserrr8r9)rrrr7rrs      rtest_cleanupzArgsTestCase.test_cleanups'',,t0AB
77<<1BCXt""$(#!DOO3 	
 	9DRWW^^D148	9r/z.checking temp files is not implemented on WASIc
:tjd}tdDcgc]}|j|}}|jdddg|dt
i}|j
|||ddt|	|D]}|jd
|d|ycc}w)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')
        rrr,r?rrjT)r<rNr\rOzWarning -- z& leaked temporary files (1): mytmpfile)	rrrrrr.r^r3r)rr
_	testnamesrrs      rtest_leak_tmp_filezArgsTestCase.test_leak_tmp_files
 

;@(CQT%%4%0C	C 4dE?I?)=?!!&).737,0(+I		"	8
"	"HMMKz212 
"	"DsBctjdk(rtj}nItjj
}|-tjj
}||jdd}	|j||j|d|tjd|d}|j|}|jdd	d
|t}|j||g|gdd
y#t$rYiwxYw)Nrz#cannot get regrtest worker encodings	byte:
z can decode non-ASCII bytes zf
            import sys
            # bytes which cannot be decoded from UTF-8
            nonascii = z]
            sys.stdout.buffer.write(nonascii)
            sys.stdout.buffer.flush()
        rr,r?-j1rTrr)rprlocalegetencodingrer
__stdout__rdecodeUnicodeDecodeErrorrrrrrr^)rrnonasciir
rrs      rtest_mp_decode_errorz!ArgsTestCase.test_mp_decode_errors<<7"))+Hzz**H>>22#MM$GI)	QOOH%
MMXJ&B8,OP%!|$	 
###. 4dE8): <!!&8**2,0()	"	+!"		s5C::	DDctjd}|j|}|jddd|t}|j||g|gdt
ddd	
y)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
        rr,r?rrTr@rrrr/s    rtest_doctestzArgsTestCase.test_doctestsv%	
:###. 4dE8): <!!&8**2,0(1!Q(:	"	<r/N):rrrrrrrrrrrirrVrrr4rrrrrrrrrrcpython_onlyrrr(r*r0r4r<rArDrFrHrJrMrOrQrXrZr]rarcrerhrjrnrvr}skipIfis_wasirrrrr/rrrs.8(+9"+>40/>b='/&'= 0D)(X))+?@,A,X))+?@2A2 ;4
;;D"*H'*RB*9,)*V+.+.+,+,+,+,+*+,: A:":0
++6N8!AF:B'0R,
9X__W__EG"G"4"+H%<r/rceZdZdZdZy)	TestUtilsc|jtjdd|jtjdd|jtjdd|jtjdd|jtjd	d
|jtjdd|jtjd
d|jtjdd|jtjdd|jtjddy)Nrz0 msg&.>z1 msg{Gz?z10 msg?z1.5 secr@z1.0 secxz2 minyz2 min 1 seci0*z3 houri*z3 hour 2 mini1*z3 hour 1 sec)r*rformat_durationrs rtest_format_durationzTestUtils.test_format_durations/..q1	!..t4	!..u5 	"..s3"	$..q1"	$..v6 	"..z:&	(..x8!	#../EF'	)..|<'	)r/ct}|j|dd|j|ddd|j|ddd|j|d	d|j|d
dy)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	r*r)r	normalizes  rtest_normalize_test_namez"TestUtils.test_normalize_test_name/s'	#UV&	(#MX\])	+#[fjk'	))$?$OP)$GRVWXr/N)rrrrrrr/rrrs
),	Yr/r__main__)7rrdataclassesr~rros.pathrrrrfrpr
rrrrrrtest.supportrrtest.libregrtestrrtest.libregrtest.runtestr	has_subprocess_supportSkipTestrrrrrrnormpathr%rr.rr:rrrTestCaser	dataclassrrrtrrrrmainrr/r<module>rs	
	
-)8%%
(

=
>>
77<<14>
77??277++H56
E
"8??$	{D)){D|	T"#{8$${|@|@0pK|pKfU<<U<p  Y!! YFzHMMOr/