%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/test/libregrtest/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/test/libregrtest/__pycache__/main.cpython-38.pyc

U

o©ßaK`ã@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddl m!Z!ddl"m#Z#ddl$m%Z%m&Z&m'Z'm(Z(ddl)m*Z*dZ+Gd	d
„d
ƒZ,d
dd„Z-dS)éN)Ú_parse_args)Ú	findtestsÚruntestÚget_abs_moduleÚSTDTESTSÚNOTTESTSÚPASSEDÚFAILEDÚENV_CHANGEDÚSKIPPEDÚRESOURCE_DENIEDÚINTERRUPTEDÚCHILD_ERRORÚTEST_DID_NOT_RUNÚTIMEOUTÚPROGRESS_MIN_TIMEÚformat_test_resultÚ	is_failed)Úsetup_tests)Úsetup_pgo_tests)ÚremovepyÚcountÚformat_durationÚ	printlist)Úsupportg^@c@sÞeZdZdZdd„Zdd„Zd7dd„Zd8d
d„Zdd
„Zdd„Z	dd„Z
dd„Zdd„Zdd„Z
dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd9d1d2„Zd3d4„Zd5d6„Zd0S):ÚRegrtestalExecute 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, findleaks, 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.
    cCs’d|_g|_g|_g|_g|_g|_g|_g|_g|_g|_	d|_
d|_g|_d|_
t ¡|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NFÚé)ÚnsÚtestsÚselectedÚgoodÚbadÚskippedÚresource_deniedsÚenvironment_changedÚrun_no_testsÚrerunÚfirst_resultÚinterruptedÚ
test_timesÚtracerÚtimeÚ	monotonicÚ
start_timeÚ
test_countÚtest_count_widthÚnext_single_testÚnext_single_filenameÚ
testsuite_xmlÚwin_load_trackerÚtmp_dirÚworker_test_name©Úself©r9ú1/usr/local/lib/python3.8/test/libregrtest/main.pyÚ__init__6s.
zRegrtest.__init__cCs<t|jƒt|jƒBt|jƒBt|jƒBt|jƒBt|jƒBS©N)Úsetr!r"r#r$r%r&r7r9r9r:Úget_executed`sÿÿþzRegrtest.get_executedFc	Csˆ|j}|j}|ttfkr.|s.|j |j|f¡|tkrD|j |¡n´|t	tfkrb|sø|j
 |¡n–|tkrx|j |¡n€|t
krŽ|j |¡nj|tkr°|j |¡|j |¡nH|tkrÆ|j |¡n2|tkrÖd|_n"|tkrì|j
 |¡ntd|ƒ‚|r|t	tthkr|j
 |¡|j}|r„ddlmm}|D]F}z|j | |¡¡Wn(|jk
r~t|tj d‚YnXq<dS)NTzinvalid test result: %rr©Úfile)!Ú	test_nameÚresultrr
r*ÚappendÚ	test_timerr!r	r"r
r%rr#rr$rr&r)rÚ
ValueErrorÚremoveÚxml_dataÚxml.etree.ElementTreeÚetreeÚElementTreer3Ú
fromstringZ
ParseErrorÚprintÚsysÚ
__stderr__)r8rBr'rAÚokrGÚETÚer9r9r:Úaccumulate_resultesDzRegrtest.accumulate_resultrcCst|}| ¡}|dk	r(d|d›d|›}t ¡|j}tjt|ƒd}|›d|›}|rd|dd…}t|dddS)Nz
load avg: z.2fú )ZsecondséÿÿÿÿT)Úflush)Ú
getloadavgr,r-r.ÚdatetimeZ	timedeltaÚintrL)r8ÚlineÚemptyZload_avgrDr9r9r:ÚlogŽszRegrtest.logcCsh|jjrdS||j››|j›}t|jƒt|jƒ}|rN|jjsN|›d|›}| d|›d|›¡dS)Nú/ú[z] )	rÚquietr0r/Úlenr"r%Úpgor[)r8Ú
test_indexÚtextrYZfailsr9r9r:Údisplay_progress szRegrtest.display_progressc
CsÆttjdd…f|Ž}|jr(gt_|_|j}|dk	r\ddlm	}||jƒ\}}||_||_
t|jƒ|j
r¦|j
\}}}|dksˆ|dkr¦d}	t|	tjddt d¡|jr¼tj |j¡|_||_dS)Nrr)Úparse_worker_argszwInvalid values for the --huntrleaks/-R parameters. The number of warmups and repetitions must be at least 1 each (1:1).T©r@rUé)rrMÚargvÚxmlpathrZjunit_xml_listr3Úworker_argsÚtest.libregrtest.runtest_mprdr6rÚargsÚ
huntrleaksrLÚstderrÚexitÚtempdirÚosÚpathÚ
expanduserr)
r8ÚkwargsrrirdrAÚwarmupÚrepetitionsÚ_Úmsgr9r9r:Ú
parse_args«s&

zRegrtest.parse_argsc	Cs ||_|jjrftj |jd¡|_z0t|jdƒ}| 	¡ 
¡}|g|_W5QRXWntk
rdYnX|jjræg|_t
 d¡}ttj tj|jj¡ƒJ}|D]>}| dd¡d}| 
¡}| |¡}|dk	rœ|j | ¡¡qœW5QRXt|jƒ|jjrt|jƒtdd…}t ¡}|jjrX|jjD]$}	|	|krB| |	¡| |	¡q*g|j_|jjrxt |jjt!ƒt"ƒƒ}
nt |jj||ƒ}
|jjs¬|jp¦|jjp¦|
|_#n|j|_#|jjr|j#dd…|_#z"|
 $|j#d¡}|
|d|_%Wnt&k
rYnX|jj'r\z|j#d|j# $|jj'¡…=Wn,t(k
rZt)d|jj't*j+dYnX|jj,rœ|jj-dkr‚t. /d	¡|j_-t. 0|jj-¡t. 1|j#¡dS)
NZ
pynexttestÚrz\btest_[a-zA-Z0-9_]+\bú#rrz1Couldn't find starting test (%s), using all testsr?i€–˜)2rrÚsinglerprqÚjoinr5r2ÚopenÚreadÚstripÚOSErrorÚfromfileÚreÚcompilerÚSAVEDCWDÚsplitÚsearchrCÚgrouprr`rrrÚcopyZexcluderkrFÚaddZtestdirrÚlistr=r Úindexr1Ú
IndexErrorÚstartrErLrMrmÚ	randomizeÚrandom_seedÚrandomÚ	randrangeÚseedÚshuffle)r8rÚfpZ	next_testZregexrYÚmatchZstdtestsZnottestsÚargZalltestsÚposr9r9r:Ú
find_testsÉsr











ÿÿ
zRegrtest.find_testscCs|jD]}t|ƒqdSr<)r rL)r8Únamer9r9r:Ú
list_testss
zRegrtest.list_testscCsX|D]N}t|tjjƒrqt|tjƒr0| |¡qt|tjƒrt |¡rt	| 
¡ƒqdSr<)Ú
isinstanceÚunittestÚloaderZ_FailedTestZ	TestSuiteÚ_list_casesZTestCaserZ
match_testrLÚid)r8ÚsuiteÚtestr9r9r:ržs
zRegrtest._list_casesc	Cs²dt_t |jj|jj¡|jD]N}t|j|ƒ}ztj	 
|¡}| |¡Wq tjk
rl|j
 |¡Yq Xq |j
r®ttjdttt|j
ƒdƒdtjdt|j
tjddS)NFr?r¡úskipped:)rÚverboseZset_match_testsrZmatch_testsZignore_testsr rrœZdefaultTestLoaderZloadTestsFromNameržZSkipTestr#rCrLrMrmrr_r)r8rAZabstestr r9r9r:Ú
list_cases s
zRegrtest.list_casescCsÄd|j_d|j_d|j_| ¡|_| ¡| d¡|jdd…|_|jD]F}| d|›d¡d|j_t	|j|ƒ}|j
|dd|jtkrJq’qJ|jr¸t
tt|jƒdƒdƒt|jƒ| ¡dS)	NTFz'Re-running failed tests in verbose modezRe-running z in verbose mode)r'r¡z
failed again:)rr£ÚfailfastZverbose3Úget_tests_resultr(r[r"r'rrRrBr
rLrr_rÚdisplay_result)r8rArBr9r9r:Úrerun_failed_tests1s$




zRegrtest.rerun_failed_testscCs
|jjrdStƒtd| ¡ƒ|jr0tdƒt|jƒ| ¡}|rhtƒttt	|ƒdƒdƒt
|ƒ|jr¾|jjs¾tƒ|j
s¨|js¨|js¨t	|jƒdkr¨tdddttt	|jƒdƒd	ƒ|jjr|jjd
dtƒtdƒ|jdd
…D]\}}td|t|ƒfƒqò|j
r>tƒttt	|j
ƒdƒdƒt
|j
ƒ|jrptƒtd tt	|jƒdƒ¡ƒt
|jƒ|jr¨|jjs¨tƒttt	|jƒdƒdƒt
|jƒ|jrØtƒtdtt	|jƒdƒƒt
|jƒ|jrtƒttt	|jƒdƒdƒt
|jƒdS)Nz== Tests result: %s ==z(Test suite interrupted by signal SIGINT.r¡zomitted:rZAllrS)ÚendzOK.T)Úreversez10 slowest tests:é
z- %s: %szfailed:z%{} altered the execution environment:r¢z%s:zre-run testz
run no tests:)rr`rLr¦r)r=r r>rr_rr!r^r"r#Z
print_slowr*Úsortrr%Úformatr'r&)r8ZomittedrDr¡r9r9r:r§Ksdÿþý

ÿ


zRegrtest.display_resultcCsŽ|jjr ddl}|jddd|_tj ¡}d}|jjrJ|dt|jjƒ7}| 	|¡d}t
|jdƒD]\}}t 
¡}|}|rŠd||f}| ||¡|jrÈd	}	ttƒƒ}
|jj|	tƒ|
d
|
d}nt|j|ƒ}| |¡|jtkrîq|t|ƒ}t 
¡|}|tkrd|t|ƒf}n|jtkr.d}tj ¡D]&}
|
|kr8|
 d
¡r8t |
¡q8|jjrdt||jƒrdq|qd|rŠt|ƒdS)NrFT)ÚtracerzRun tests sequentiallyz (timeout: %s)rz%s -- %szDresult = runtest(self.ns, test_name); self.accumulate_result(result))ÚglobalsÚlocalsrBz%s in %sztest.) rr®ZTracer+rMÚmodulesÚkeysÚtimeoutrr[Ú	enumeraterr,r-rcÚdictr°Zrunctxr¯rrRrBr
rrrÚ
startswithrZunloadr¥rrL)r8r®Zsave_modulesrwZ
previous_testrarAr.rbÚcmdrrBrDÚmoduler9r9r:Úrun_tests_sequential†sJ






zRegrtest.run_tests_sequentialccs6|D]*}|V|jrdS|jjr|jrdSqqdSr<)r"rÚfail_env_changedr%)r8rrAr9r9r:Ú
_test_forever½szRegrtest._test_forevercCsvtdt ¡ftj ¡žŽtdtjdddtjƒtdt ¡ƒt 	¡}|rXtd|ƒtdt
 d¡t ¡fƒdS)	Nz==T)Zaliasedz	%s-endianz== cwd:z
== CPU count:z== encodings: locale=%s, FS=%sF)
rLÚplatformZpython_implementationrMÚversionr…Ú	byteorderrpÚgetcwdÚ	cpu_countÚlocaleÚgetpreferredencodingÚgetfilesystemencoding)r8rÀr9r9r:Údisplay_headerÆsÿ
ÿÿzRegrtest.display_headercCs–g}|jr| d¡n@|jjr0|jr0| d¡n&t|j|j|j|j|jfƒsV| d¡|jrf| d¡|st| d¡d 	|¡}|j
r’d|j
|f}|S)NÚFAILUREzENV CHANGEDzNO TEST RUNr
ÚSUCCESSz, z
%s then %s)r"rCrrºr%Úanyr!r#r)r|r()r8rBr9r9r:r¦Ós"ÿ



zRegrtest.get_tests_resultcCsþ|jjs.|jjs6|jjs6|jjs6|js6|jjs6| ¡|jjrh|jj\}}}|dkrhd}t	|t
jdd|jjr~t	d|jj
ƒ|jjr¦| t|jƒ¡|_d|_d|_n.t|jƒ|_d t|jƒ¡|_t|jƒd|_|jjròd	d
lm}||ƒn| ¡dS)NézhWARNING: Running tests with --huntrleaks/-R and less than 3 warmup repetitions can give false positives!TrezUsing random seedrz/{}rr)Úrun_tests_multiprocess)rÚheaderr`r^r{rrkrÄrlrLrMÚstdoutrŽrZforeverr»rŠr r/r0Úiterr­r_Zuse_mprjrÉr¹)r8rtrurvrwrÉr9r9r:Ú	run_testsès<ÿÿÿþþ
zRegrtest.run_testsc	Cs¸|jrB|jr6t|jdƒ}| |jd¡W5QRXnt |j¡|jrf|j ¡}|jdd|j	j
dtƒt 
¡|j}tdt|ƒƒtd| ¡ƒ|j	jr´t dt ¡¡dS)NÚwÚ
T)Zshow_missingZsummaryÚcoverdirzTotal duration: %szTests result: %szleaks %d)r2r1r}ÚwriterpÚunlinkr+ÚresultsZ
write_resultsrrÐrLr,r-r.rr¦ZrunleaksÚsystemÚgetpid)r8r”ryZdurationr9r9r:Úfinalizes 
ÿzRegrtest.finalizec

Csú|jjs|jsdSddlmm}| d¡}ddddœ}|jD]N}| |¡|D]:}z ||t| 	|d¡ƒ7<WqRt
k
rŠYqRXqRq@| ¡D]\}}| |t
|ƒ¡q˜tj tj|jj¡}t|dƒ }| |¡D]}	| |	¡qÜW5QRXdS)NrZ
testsuites)rÚerrorsZfailuresÚwb)rrhr3rHrIrJZElementrCrXÚgetrEÚitemsr=Ústrrprqr|rr„r}ZtostringlistrÑ)
r8rPÚrootZtotalsr ÚkÚvrhÚfÚsr9r9r:Úsave_xml_results$


 
zRegrtest.save_xml_resultcCst|jjr|jj|_|js`t ¡rVt d¡|_|jdkrBt d¡|_tj |jd¡|_n
t	 
¡|_tj |j¡|_dS)NZabs_builddirZsrcdirZbuild)rror5Ú	sysconfigZis_python_buildZget_config_varrprqr|ÚtempfileÚ
gettempdirÚabspathr7r9r9r:Úset_temp_dir6s


zRegrtest.set_temp_dircCsLtj|jddt ¡}|jdk	r.d |¡}n
d |¡}tj |j|¡}|S)NT)Úexist_okztest_python_worker_{}ztest_python_{})rpÚmakedirsr5rÕr6r­rqr|)r8ÚpidÚtest_cwdr9r9r:Úcreate_temp_dirLs

zRegrtest.create_temp_dircCszddl}tj | |j¡d¡}td|jƒ| |¡D]>}tj |¡r^td|ƒt 	|¡q6td|ƒt 
|¡q6dS)Nrz
test_python_*zCleanup %s directoryzRemove directory: %szRemove file: %s)Úglobrprqr|Úescaper5rLÚisdirrÚrmtreerÒ)r8rìrqr™r9r9r:ÚcleanupZszRegrtest.cleanupNc
Ks¨| |¡| ¡|jjr,| ¡t d¡| ¡}z2tj|dd||j_	| 
||¡W5QRXWn<tk
r¢}ztj
tddt |j¡W5d}~XYnXdS)NrT)r^)rn)rxrærrðrMrnrërZtemp_cwdroÚ_mainÚ
SystemExitÚfaulthandlerZdump_traceback_laterÚEXIT_TIMEOUTÚcode)r8rrsrêÚexcr9r9r:Úmaings

z
Regrtest.maincCs.|jdk	r|j ¡Sttdƒr*t ¡dSdS)NrVr)r4rVÚhasattrrpr7r9r9r:rV…s



zRegrtest.getloadavgc
Csš|jdk	r$ddlm}||j|jƒ|jjr4tdƒ|jjt_|jj	t_
t|jƒ| |¡|jj
rv| 
¡t d¡|jjr| ¡t d¡tjdkrî|jdkrîddlm}z|ƒ|_Wn0tk
rì}ztd|›ƒW5d}~XYnXz.| ¡| ¡|jjr|jr| ¡W5|jdk	r:|j ¡d|_X| ¡| ¡|jr^t d¡|jrpt d¡|jj rŒ|j!rŒt d	¡t d¡dS)
Nr)Úrun_tests_workerzPress any key to continue...Úwin32)ÚWindowsLoadTrackerz%Failed to create WindowsLoadTracker: rfé‚rÈ)"r6rjrùrÚwaitÚinputr`rZPGOZpgo_extendedZPGO_EXTENDEDrr˜ršrMrnr¤r¼Ztest.libregrtest.win_utilsrûr4ÚFileNotFoundErrorrLÚcloserÍr§Zverbose2r"r¨rÖrár)rºr%)r8rrsrùrûÚerrorr9r9r:rñŽsL






 



zRegrtest._main)F)r)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r;r>rRr[rcrxr˜ršržr¤r¨r§r¹r»rÄr¦rÍrÖrárærërðr÷rVrñr9r9r9r:rs4*
)
I
;7	
 
	rcKstƒjfd|i|—ŽdS)zRun the Python suite.rN)rr÷)rrsr9r9r:r÷Ésr÷)N).rWrórÁrpr¼rr‚rMrârãr,rœZtest.libregrtest.cmdlinerZtest.libregrtest.runtestrrrrrrr	r
rrr
rrrrrrZtest.libregrtest.setuprZtest.libregrtest.pgorZtest.libregrtest.utilsrrrrr¡rrôrr÷r9r9r9r:Ú<module>s2L/

Zerion Mini Shell 1.0