python (3.12.0)

(root)/
lib/
python3.12/
test/
libregrtest/
__pycache__/
main.cpython-312.opt-1.pyc

ϑev(ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZmZmZmZmZmZmZddlmZddlmZddlmZmZmZmZmZddl m!Z!ddl"m#Z#dd	l"m$Z$dd
l"m%Z%dZ&dZ'd
Z(dZ)dZ*dZ+GddZ,ddZ-y)N)_parse_args)	findtestssplit_test_packagesruntestabs_module_namePROGRESS_MIN_TIMEStateMatchTestsDictRunTests)setup_tests)setup_pgo_tests)strip_py_suffixcountformat_duration	printlistget_build_info)support)	TestStats)	os_helper)threading_helperg^@ceZdZdZdZdZd)dZd*dZdZdZ	dZ
d	Zd
ZdZ
defd
ZdZdZdZdZdZdZdZdZdZdeddfdZdZdZdZdZdZdZ d Z!d!Z"d"Z#d#Z$d+d$Z%d%Z&d&Z'd'Z(d(Z)y),RegrtestaaExecute a test suite.

    This also parses command-line options and modifies its behavior
    accordingly.

    tests -- a list of strings containing test names (optional)
    testdir -- the directory in which to look for tests (optional)

    Users other than the Python test suite will certainly want to
    specify testdir; if it's omitted, the directory containing the
    Python test suite is searched for.

    If the tests argument is omitted, the tests listed on the
    command-line will be used.  If that's empty, too, then all *.py
    files beginning with test_ will be used.

    The other default arguments (verbose, quiet, exclude,
    single, randomize, use_resources, trace, coverdir,
    print_slow, and random_seed) allow programmers calling main()
    directly to set the values that would normally be set by flags
    on the command line.
    cd|_g|_g|_g|_g|_g|_g|_g|_g|_g|_	g|_
g|_g|_d|_
d|_t|_g|_d|_t'j(|_d|_d|_d|_d|_d|_d|_d|_y)NF)nstestsselectedall_runtestsgoodbad	rerun_badskippedresource_deniedenvironment_changedrun_no_testsrerun
need_rerunfirst_stateinterruptedrtotal_stats
test_timestracertimeperf_counter
start_timetest_count_texttest_count_widthnext_single_testnext_single_filename
testsuite_xmlwin_load_trackertmp_dirselfs I/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/libregrtest/main.py__init__zRegrtest.__init__=s

,. "	 $&"$*,.0 ') "
,.'+ $;++-! !!%$(!"!%ct|jt|jzt|jzt|jzt|j
zt|jzSN)setr%r&r(r)r*r+r=s r?get_executedzRegrtest.get_executedksgDIITXX.T\\1BBd**+,.1$2J2J.KLd''()	*rAc8|jj}|j}|jxtj
k(r|jj|n<xtjk(r|jj|nxtjk(r|jj|nxtjk(r|jj|nxtjk(r	d|_ntj k(r|j"j|na	|j%|r7|j&j||j(j|nt+d|j|j-r)|s'|j.j|j0|f|j2%|j4j7|j2|r|j8j||j:}|r<ddlmcm }|D]-}	|jBj|jE|/yy#|jF$rtI|tJjLwxYw)NTzinvalid test state: rfile)'r!fail_env_changed	test_namestater	PASSEDr%appendENV_CHANGEDr*SKIPPEDr(RESOURCE_DENIEDr)INTERRUPTEDr/DID_NOT_RUNr+	is_failedr&r-
ValueErrorhas_meaningful_durationr1durationstatsr0
accumulater,xml_dataxml.etree.ElementTreeetreeElementTreer:
fromstring
ParseErrorprintsys
__stderr__)r>resultr,rIrJrYETes        r?accumulate_resultzRegrtest.accumulate_resultps7733$$	ll		  +"""((//	:##I.&&&$$++I6"""#' ""!!((3##$45HHOOI.OO**62$';FLL;K%LMM))+EOO""FOOY#?@<<#''5JJi(??..
&&--bmmA.>?

}}(8s?*I--,Jc|}|j}|	d|dd|}tj|jz
}t	t|d\}}t	|d\}}d|||fz}|d|}|r|dd}t
|dy)	Nz
load avg: z.2f <z%d:%02d:%02dT)flush)
getloadavgr3r4r5divmodintr_)r>lineemptyload_avg	test_timeminssecshourss        r?logzRegrtest.logs??$~Qtf5D%%'$//9	C	NB/
dT2&t"eT4%88	AdV$9D
d$rAc8|jj}|jj}|ry||jd|j}t|jt|jz}|r	|s|d|}|jd|d|y)Nr/[z] )	r!quietpgor7r6lenr&r*ru)r>
test_indextextryrzrnfailss       r?display_progresszRegrtest.display_progresss

ggkkd334@45d6J6J5KLDHH
D$<$< ==V1UG$D1TF"TF#$rActtjddfi|}|jrgxt_|_t|j|jrM|j\}}}|dks|dkr3d}t|tjdtjd|jr.tjj!|j|_
||_y)Nr zwInvalid values for the --huntrleaks/-R parameters. The number of warmups and repetitions must be at least 1 each (1:1).TrHrjr)rr`argvxmlpathrjunit_xml_listr:rargs
huntrleaksr_stderrexittempdirospath
expanduserr!)r>kwargsr!warmuprepetitions_msgs       r?
parse_argszRegrtest.parse_argss
!"
0
0
:::<<G"T%7 
==%']]"FKz[1_%c

$7
::++BJJ7BJrAcX|j}|j}|j}|j}|j}|j
}|j}|j}	||_|rutjj|jd|_
	t|jd5}
|
jj!}|g|_ddd|rg|_t%j&d}ttjjt(j*|5}
|
D]d}
|
j-ddd}
|
j!}
|j/|
}|<|jj1|j3f	dddt5|j|rt7|t9}|r)|j:D]}|j=|g|_t?||}|sN|jxs|j:|_ |j@rtC|j@|_ n||_ n|j|_ |r@|j@dd|_ 	|jE|j@d}||dz|_#|r)	|j@d|j@jE|=|	re|jRtUjVd	|_)tUjX|jRtUjZ|j@yy#1swYlxYw#t"$rY{wxYw#1swYxYw#tH$rYwxYw#tJ$r&tMd|tOjPdYwxYw)
N
pynexttestrz\btest_[a-zA-Z0-9_]+\b#r r)testdirexcludezCannot find starting test: i).r!singlefromfilerzrrstart	randomizer"rrjoinr<r9openreadstripOSErrorrecompilerSAVEDCWDsplitsearchrMgrouprr
rDraddrr#rindexr8
IndexErrorrTr_r`rrandom_seedrandom	randrangeseedshuffle)r>r"r!rrrzrtest_dir
starting_testrfp	next_testregexrnmatch
exclude_testsargalltestsposs                   r?
find_testszRegrtest.find_testss
WW;;ff**::
LL	
(*T\\<(PD%
$33S9-R "	 1I"+DJ-DJJJ89Ebggll9#5#5x@A
9R9D::c1-a0D::<D!LL.E(

))%++-89
9	

#B
ww
'!!#&
'BGX}E JJ1"''DM}} 3DMM B
 (
 JJDM MM"1-DM
nnT]]1%56(0q(9%

MM"E4==#6#6}#E"EF
~~%!'!1!1(!;KK'NN4==)	u--


9
9H


3M?CD
s`M0'MM4>M3+M+M+1(M:MM	MMM(+	M76M7:,N)(N)c<|jD]
}t|yrC)r#r_)r>names  r?
list_testszRegrtest.list_tests sMM	D$K	rAcH|D]}t|tjjr(t|tjr|j|Tt|tjsotj|st|jyrC)
isinstanceunittestloader_FailedTest	TestSuite_list_casesTestCaser
match_testr_id)r>suitetests   r?rzRegrtest._list_cases$sr	%D$ ; ;<$ 2 23  &D("3"34%%d+$'')$	%rAch|j}|j}dt_tj|j
|jg}|jD]?}t||}	tjj|}|j|A|ritj j#tj$}t'|t't)t+|dd|t-||yy#tj$r|j|YwxYw)NFrGrskipped:)r!rrverboseset_match_testsmatch_testsignore_testsr#rrdefaultTestLoaderloadTestsFromNamerSkipTestrMr`stdoutrjrr_rr{r)r>r!rr(rJmodule_namerrs        r?
list_caseszRegrtest.list_cases.s
WW::@	*I))X>K
* 22DD[Q  '		*JJZZFv%Gf-zGgF+$$
*y)
*s,0D

$D10D1returnc\i}|D]$}|j}|s|||j<&|SrC)get_rerun_match_testsrJ)r>
rerun_listrerun_match_testsrbrs     r?get_rerun_matchzRegrtest.get_rerun_matchDsC 	BF 668K6A!&"2"23		B
! rAc\|j}d|_d|_d|_d|_|j
d|_|Dcgc]}|j}}|j|}|j||jj|j|jj|jj|jdt|dt!||d}|j"j%||j'|ycc}w)NTFr zRe-running z- failed tests in verbose mode in subprocesses)rr,)r!rfailfastverbose3foreveruse_mprJr	set_testsr'extendr&clearr-rur{rr$rM
_run_tests_mp)r>r-r!rbr"rruntestss       r?_rerun_failed_testszRegrtest._rerun_failed_testsMs
WW


99BI1;;f!!;;**:6u	
dhh'	
;s5zl*WXYE{$G  *8$<sD)ch|jjr|jdy|j|_t|j
||jr>ttt|jddt|j|jy)NzJRe-running failed tests is not supported with --python host runner option.rz
failed again:)r!pythonruget_tests_stater.r_rr&rr{rdisplay_resultr>r-s  r?rerun_failed_testszRegrtest.rerun_failed_testsgs77>>HH&

//1
  ,88%DHH
v.@dhhrAc	|jj}|jj}|jj}|ryt	t	d|jz|jrt	dt|j|jz
}|r4t	t	tt|ddt||jr~|s|t	|js=|js1|js%t|jdkDr
t	ddt	tt|jdd	|rb|j j#d
t	t	d|j dd
D]\}}t	d|dt%|!|jrHt	t	tt|jddt|j|j&rVt	t	dj)tt|j&dt|j&|jrJ|sHt	t	tt|jddt|j|j*rJ|sHt	t	tt|j*ddt|j*|j,rJt	t	dtt|j,dzt|j,|j.rIt	t	tt|j.ddt|j.yy)Nz== Tests result: %s ==z(Test suite interrupted by signal SIGINT.rzomitted:r Allrg)endzOK.T)reversez10 slowest tests:
z- z: zfailed:z%{} altered the execution environment:rzskipped (resource denied):z%s:zre-run testz
run no tests:)r!rzry
print_slowr_rr/rDr#rErr{rr%r&r(r1sortrr*formatr)r,r+)r>rzryromittedrqrs       r?rzRegrtest.display_result{sggkk

WW''


&)=)=)??@<=dmm$t'8'8'::G%Gf-z:g99UGHH((		NQ&e%%DII/7OO   .G%&#'??3B#7
G	4D/)*DEF
G88G%DHH
v.	:dhh##G9@@3t778&AC
Dd../<<G%DLL)62J?dll#G%D0016:<XYd**+::G%%DJJ??@djj!G%D--.7Id''(rAc|}|r|d|}|j|||jrAd}tt}|jj	|t||d}n't
|j|}|j|tjjD].}	|	|vs|	jdstj|	0|S)Nz -- zDresult = runtest(self.ns, test_name); self.accumulate_result(result))globalslocalsrbztest.)rr2dictrrunctxrrr!rer`moduleskeys
startswithrunload)
r>r|rJ
previous_testsave_modulesr}cmdr!rbmodules
          r?run_testzRegrtest.run_tests!%}5Dj$/;;4CfhBKKsGIbA\FTWWi0F""6*kk&&(	'F\)f.?.?.Hv&	'
rAc|j}|j}|j}|j}|j}|rddl}|jdd|_tjj}d}	|r|	dt|zz
}	|j|	d}
|j}t|dD]\}}
tj}|j!||
|
|}|j#||rn^t%|}
tj|z
}|t&k\r|
dt|}
~|j(t*j,k(sd}
|
rt/|
yy)	NrFT)tracerzRun tests sequentiallyz (timeout: %s)r z in )r!rrrItimeoutTracer2r`rrrru
iter_tests	enumerater3r4r	must_stopstrrrKr	rLr_)r>rr!coverage	fail_fastrIrrrrr
tests_iterr|rJr5rbrqs                 r?run_tests_sequentiallyzRegrtest.run_tests_sequentiallysK
WW88KK	..**++E+>DK{{'')&#og&>>>C

((*
%.z1%=	%!J	**,J]]:y#0,@F	+;<KM))+j8I--.;_Y=W X
- $
	%"- rAc.tdtjgtjjtdtjddtjztddjttdtjtj}|rtd|td	tjd
tj|jy)Nz==T)aliasedz	%s-endianz== Python build:rgz== cwd:z
== CPU count:z== encodings: locale=z, FS=)r_platformpython_implementationr`versionr	byteorderrrrgetcwd	cpu_countlocalegetencodinggetfilesystemencodingdisplay_sanitizers)r>rs  r?display_headerzRegrtest.display_headers
dH224Ks{{7H7H7JK
dH%%d3!CMM1	3
 #((>+;"<=
i%LLN	/9-
##%s'@'@'BD	E!rActjd}tjd}tjd}g}|r|jd|r|jd|r|jd|sytdd	j	||d
f|df|dffD];\}}t
jj|}|s(|+td
|d|=y)NT)address)memory)ubrrzundefined behaviorz== sanitizers: , ASAN_OPTIONSMSAN_OPTIONS
UBSAN_OPTIONSz== =)rcheck_sanitizerrMr_rrenvironget)r>asanmsanubsan
sanitizers	sanitizerenv_varoptionss        r?rzRegrtest.display_sanitizerss&&t4&&d3''40
i(h'23
		* 5678
>"
>"
O$#
	3Iw
ZZ^^G,GW0G9Ag[12	3rAct|j|j|j|j|j
fSrC)anyr%r&r(r/r*r=s r?no_tests_runzRegrtest.no_tests_run(s<		488T\\4;K;K00233	3rAc|jj}g}|jr|jdnA|r|jr|jdn!|jr|jd|jr|jd|s|jddj|}|jr|jd|}|S)NFAILUREzENV CHANGEDzNO TESTS RANrQSUCCESSr!z then )	r!rIr&rMr*r2r/rr.)r>rIrbs   r?rzRegrtest.get_tests_state,s773388MM)$
$":":MM-(



 MM.)MM-(MM)$6"%)%5%5v>F
rArNczddlm}tjdk(rddlm}	||_	||||j"|jjd|_yy#t$r}td|Yd}~Ud}~wwxYw#|j"|jjd|_wwxYw)Nr)run_tests_multiprocesswin32)WindowsLoadTrackerz%Failed to create WindowsLoadTracker: )
test.libregrtest.runtest_mpr7r`rtest.libregrtest.win_utilsr9r;PermissionErrorr_close)r>rr7r9errors     r?rzRegrtest._run_tests_mpBsF<<7"E
G(:(<%	-"42$$0%%++-(,%1#
G=eWEFF
G$$0%%++-(,%1s"A&	B
&	B/BB
0B:c||_|jjrd|_d|_ydjt
|j|_t
|jdz
|_y)Nrrz/{}r )r"r!rr6r7rr{)r>r"s  r?rzRegrtest.set_testsWsU
77??#%D $%D!#(<<DJJ#@D $'(<(<$=$AD!rAcN|jjsd|jjs^|jjsH|jjs2|j
s&|jjs|j|jjr=|jj\}}}|dkrd}t|tjd|jjr td|jj|j}|j|t!||jj"}|j$j'||jj(r|j+|y|j-|y)NrzhWARNING: Running tests with --huntrleaks/-R and less than 3 warmup repetitions can give false positives!TrzUsing random seed)r)r!headerrzryrr"rrrr_r`rrrr#rrrr$rMrrr)r>rrrrr"rs       r?	run_testszRegrtest.run_tests`sGGNN77;;$''--477>>jjDGGLL!77%)WW%7%7"FKzIc

$777%tww':':;

uE477??;  *77>>x(''1rAcB|jri|jr>t|jd5}|j|jdzdddnt	j
|j|jrB|jj}|jdd|jj|jjr*t	jdt	jz|jy#1swYxYw)Nw
T)show_missingsummarycoverdirzleaks %d)r9r8rwriterunlinkr2results
write_resultsr!rHrunleakssystemgetpidsave_xml_result)r>rrs   r?finalizezRegrtest.finalizezs$$$$$33S9;RHHT22T9:;;		$334;;##%A
OOt%)WW%5%5

777IIj299;./;;sDDctj|jz
}|jd}|j}t|jjxst|jj}ttdt|z|j}d|jd}|r|d}|g}|jr|jd|jd|jr|jd|jdtdd	j!||j"|j$|j&|j|j(|j*g}t-t/t0|}	d|	}|st1|j2}
|d
|
}|r|d}|g}d|j$fd|j(fd
|jfd|j4fd|j&fd|j*ffD]'\}}
|
s	|j|dt1|
)tdd	j!||j7}td|y)NrzTotal duration: %szrun=,z (filtered)z	failures=zskipped=z
Total tests: rgrwfailedenv_changedr(r)r,r+r%zTotal test files: zResult: )r3r4r5r$rboolr!rrr_rr0	tests_runfailuresrMr(rr%r&r,r*r+summapr{r"r)r)r>rVfirst_runtestsrfilteredtotalr}rW	all_testsrunntestreportrr"rbs               r?display_summaryzRegrtest.display_summarysR$$&8**1-!((++,JTWW5I5I0J	
"_X%>>?  eooa()V;'D>>LL9U^^A$678==LL8EMM!#456

chhuo./0YY$**\\--t/@/@B	#c9%&cU|,,-EV1UG$DV;'D
txx 
D445
%
 4 45
djj!
T../

		6KD%

aE
|45		6	"388F#3"456%%'
!"rAc|jjs
|jsyddlmcm}|j
d}dddd}|jD]A}|j||D])}	||xxt|j|dz
cc<+C|jD] \}}|j|t|"tjj!t"j$|jj}t'|d5}|j)|D]}	|j+|		dddy#t$rYwxYw#1swYyxYw)Nr
testsuites)r"errorsrXwb)r!rr:rZr[r\ElementrMrmr(rTitemsrDrrrrrrrtostringlistrI)
r>rcroottotalsrkvrfss
          r?rPzRegrtest.save_xml_results:wwt'9'9**zz,'q9''	EKK
1IUYYq!_!55I
	LLN	 DAqHHQA	 '',,y11477??C
'4
 	A__T*


		"		s*&E(E	EEEctjrFtjd}|dk(rtjdytj|yy)Nri)r
is_emscriptenrumask)r>old_masks  r?	fix_umaskzRegrtest.fix_umasks>  xx{H5 "!rAc|jjr|jj|_|jstjrptj
d|_|jtj
d|_tjj|jd|_ntj|_tjj|j|_y)Nabs_builddirsrcdirbuild)r!rr<	sysconfigis_python_buildget_config_varrrrtempfile
gettempdirabspathr=s r?set_temp_dirzRegrtest.set_temp_dirs77??77??DL||((*(77G<<'
$-#;#;H#EDL!ww||DLL'B'224wwt||4rAc2|jjduSrC)r!worker_argsr=s r?	is_workerzRegrtest.is_workers##4/0rActj|jdtjdvrtjdd}ntj}|jrdj|}ndj|}|tjz
}tjj|j|}|S)NT)exist_ok>wasi
emscriptenri@Bztest_python_worker_{}ztest_python_{})rmakedirsr<r`rrrandintrOrrrFS_NONASCIIrr)r>nouncetest_cwds   r?create_temp_dirzRegrtest.create_temp_dirs
DLL40<<11^^Ay1FYY[F>>.55f=H'..v6HI)))77<<h7rAcddl}tjj|j	|j
d}t
d|j
z|j|D]h}tjj|r$t
d|ztj|Ft
d|ztj|jy)Nrz
test_python_*zCleanup %s directoryzRemove directory: %szRemove file: %s)globrrrescaper<r_isdirrrmtreerJ)r>rrrs    r?cleanupzRegrtest.cleanupsww||DKK5G
$t||34IIdO	'Dww}}T",t34  &'$./  &
	'rAc\|j||j|j|jjr%|j	tjd|j}	tj|d5||j_
|j||dddy#1swYyxYw#t$rT}tjrtj t"dtj|j$Yd}~yd}~wwxYw)NrT)ry)r)rrrur!rr`rrrtemp_cwdr_main
SystemExitrcan_start_threadfaulthandlerdump_traceback_laterEXIT_TIMEOUTcode)r>r"rrexcs     r?mainz
Regrtest.mains77??LLNHHQK'')	
##HD9
*#+

5&)

*
*
*	 0011,TJHHSXX
	s7>C$C9CCCC	D+A
D&&D+c|j|jjSttdrtjdSy)Nrkr)r;rkhasattrrr=s r?rkzRegrtest.getloadavg?sA  ,((33552|$==?1%%rAc.d}|jrt}|S|jrt}|S|jj
r|jrt}|S|jrt}|S|jr|jjrt}|S)Nr)
r&EXITCODE_BAD_TESTr/EXITCODE_INTERRUPTEDr!rIr*EXITCODE_ENV_CHANGEDr2EXITCODE_NO_TESTS_RANr,
fail_rerunEXITCODE_RERUN_FAIL)r>exitcodes  r?get_exitcodezRegrtest.get_exitcodeHs88(H

+H
WW
%
%$*B*B+H
	


 ,HZZDGG..*HrAc|j|j|j}|jjr|r|j||j
|jyrC)rBrr-r!r,rrbrQrs  r?action_run_testszRegrtest.action_run_testsVsQ__
77==Z##J/

rAc|jr#ddlm}||jjy|jj
rt
dt|j|j|d}|jjr|jnG|jjr|jn |j|j}tj|y)Nr)run_tests_workerzPress any key to continue...)rr:rr!rwaitinputrrrrrrr`r)r>r"rrrs     r?rzRegrtest._mainas>>DTWW00177<<01DGG77OO
WW

OO!!#((*HrA)F)rrC)*__name__
__module____qualname____doc__r@rErerurrrrrrr
rrrrrrrrr2rrrrrBrQrbrPrurrrrrrkrrrrAr?rr&s,,\*
'R *%,M*^%,,!^!%4(B)H2&!P"343,-h-4-*B24$2#h2#5,1*'B	rArc<tjdd|i|y)zRun the Python suite.r"Nr)rr)r"rs  r?rrysHJOO*%*6*rArC).rrrrrrr`rzr}r3rtest.libregrtest.cmdlinertest.libregrtest.runtestrrrrrr	r
rtest.libregrtest.setuprtest.libregrtest.pgor
test.libregrtest.utilsrrrrrrrtest.supportrrrrrrrrrrrrrAr?<module>rs
	
	
0888/0??"")P
P
f+rA