h}3 ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z ddl mZddlmZddlmZddlmZmZmZGdd ZGd d eZGd d eZGddeZGddeZGddeZGddeZGddeZGddeZGddeZ GddeZ!GddeZ"d Z#gd!Z$e%Z&gZ'd"ed#ed$e(fd%Z)d4d&Z*de$e&fd'Z+d#ed(e,d$e,fd)Z-d#ed(e,d$efd*Z.d#ed(e,d$efd+Z/d,Z0d#ed(e,fd-Z1d#ed(e,d$e(fd.Z2 d5d#ed(e,d0e(d$efd1Z3d(e,d2e4d$dfd3Z5dS)6N)support) os_helper)threading_helper) Namespace)saved_test_environment) clear_cachesformat_duration print_warningc JeZdZ d dededeedzddfdZdefdZdS) TestResultNname duration_secxml_datareturnc0||_||_||_dSN)rrr)selfrrrs //usr/lib/python3.11/test/libregrtest/runtest.py__init__zTestResult.__init__s  (  c|jdS)Nz finishedrrs r__str__zTestResult.__str__s)&&&&r)r N)__name__ __module__ __qualname__strfloatlistrrrrr r s"%) !!!!s)d" !  !!!!'''''''rr ceZdZdefdZdS)Passedrc|jdS)Nz passedrrs rrzPassed.__str__$s)$$$$rNrrrrrr"rrr$r$#s/%%%%%%%rr$ceZdZ d dededeedzdeeeefdzdeeeefdzddf fd Zdefd ZxZ S) Failedr Nrrrerrorsfailuresrclt|||||_||_dS)N)rr)superrr)r*)rrrrr)r* __class__s rrzFailed.__init__)s6 L8LLL   rc |jr_|jrXt|j}t|j}d|dkrdndz}d|dkrdndz}|jd|d|d|d|d S|jr1t|j}d|dkrdndz}|jd|d|d S|jr1t|j}d|dkrdndz}|jd|d|d S|jd S) Nerrorsfailurez failed ( z, ) failed)r)r*lenr)rlelferror_s failure_ss rrzFailed.__str__5sC ; L4= LT[!!BT]##BQB7G!BFFSS;IiKK"KKwKK"KKyKKK K ; :T[!!BQB7Gi99"99w999 9 = <T]##B!BFFSS;Ii;;";;y;;; ;)$$$$r)r NNN) rrrrr r!tuplerr __classcell__)r-s@rr(r((s"%)/315 ! ! ! !s)d" ! U38_%, ! uS#X'$. !  ! ! ! ! ! !%%%%%%%%%rr(ceZdZdefdZdS)UncaughtExceptionrc|jdS)Nz failed (uncaught exception)rrs rrzUncaughtException.__str__Ks)9999rNr&r"rrr?r?Js/:::::::rr?ceZdZdefdZdS) EnvChangedrc|jdS)Nz failed (env changed)rrs rrzEnvChanged.__str__Ps)2222rNr&r"rrrBrBOs/3333333rrBceZdZdefdZdS)RefLeakrc|jdS)Nz failed (reference leak)rrs rrzRefLeak.__str__Us)5555rNr&r"rrrErETs/6666666rrEceZdZdefdZdS)Skippedrc|jdS)Nz skippedrrs rrzSkipped.__str__Z)%%%%rNr&r"rrrHrHY/&&&&&&&rrHceZdZdefdZdS)ResourceDeniedrc|jdS)Nz skipped (resource denied)rrs rrzResourceDenied.__str___s)7777rNr&r"rrrMrM^s/8888888rrMceZdZdefdZdS) Interruptedrc|jdS)Nz interruptedrrs rrzInterrupted.__str__ds)))))rNr&r"rrrPrPcs/*******rrPceZdZdefdZdS) ChildErrorrc|jdS)Nz crashedrrs rrzChildError.__str__irJrNr&r"rrrSrShrKrrSceZdZdefdZdS) DidNotRunrc|jdS)Nz ran no testsrrs rrzDidNotRun.__str__ns)****rNr&r"rrrVrVms/+++++++rrVceZdZdefdZdS)Timeoutrc@|jdt|jdS)Nz timed out (r5)rr rrs rrzTimeout.__str__ss&)NN9J)K)KNNNNrNr&r"rrrYrYrs6OOOOOOOrrYg>@) test_grammar test_opcodes test_dict test_builtintest_exceptions test_types test_unittest test_doctest test_doctest2 test_supportresultnsrcdt|tr|jSt|tSr) isinstancerBfail_env_changedr()rerfs r is_failedrjs-&*%%#"" ff % %%rc|pLtjtjtp tjSr)ospathdirname__file__curdir)rms r findtestdirrqs0  J27??27??8#<#<== JJrc8t|}tj|}g}t||z}|D]O}tj|\}}|dddkr|dvr||vr||P|t|zS)z-Return a list of all applicable test modules.Ntest_)z.pyr2)rqrllistdirsetrmsplitextappendsorted) testdirstdtestsnottestsnamestestsothersrmodexts r findtestsrs'""G Jw  E E ]]X %F7##D))S rr7g  #"4"4F9J9J LL    fUmm ##r test_namecH|ds|jr|Sd|zS)Nztest.) startswithrzrfrs rget_abs_modulers4G$$# #""rc |j}|jduo tj}|rt j|jdt j} tj |j |j |j rgndxt_ }|jr dt_|r+dt_t!j}t$j}t$j}tj} | j} d} |t$_|t$_|| _t/||d} t1| t2s|} |t$_|t$_| | _n$#|t$_|t$_| | _wxYw| =t$j| t$jn)|jt_t/|||j } |rddlmcm  fd|D| _ t j|z | _!| |rt j"dt_ S#|rt j"dt_ wxYw)NT)exitF)display_failurerc`g|]*}|d+S)zus-ascii)tostringdecode).0xETs r z_runtest..sA A%%j11r)#verbose3timeoutrcan_start_thread faulthandlerdump_traceback_latertime perf_counterrset_match_tests match_tests ignore_testsxmlpathjunit_xml_listfailfastverboseioStringIOsysstdoutstderrr orig_stderr_runtest_innerrhr$getvaluewriteflushxml.etree.ElementTreeetree ElementTreerrcancel_dump_traceback_later)rfroutput_on_failure use_timeout start_timexml_liststream orig_stdoutrr orig_print_warnings_stderroutputrers @r_runtestrs  $D#3#DA)"*4@@@@"$$J7&@@@24*,FBB$F ; $#G  # D"GO[]]F*K*K#1M)6)B &F G# # -3 )'I8=???!&&11/#__..F( ( ,F ))) ( ,F )FFFF!   (((   """!jGO#B 8: NDDDF   . . . . . . . . .!FO #/11J>  7  4 6 6 6!%  7  4 6 6 6!%%%%%s'BI (AE" I "!FB&I #I.c t||S#|js5tj}t d|d|t jdt|cYSxYw)aRun a single test. ns -- regrtest namespace of options test_name -- the name of the test Returns a TestResult sub-class depending on the kind of result received. If ns.xmlpath is not None, xml_data is a list containing each generated testsuite element. test crashed -- Tfiler)rpgo traceback format_excprintrrr()rfrmsgs rruntestrs}!I&&&!v /&((C 6)6666z / / / /i     s A A!ctj}||}|jD]}t |t j|jrtdtj |dS)N)rzerrors while loading tests) unittest TestLoaderloadTestsFromModuler)rrr Exceptionr run_unittest) the_moduleloaderr~r/s r _test_moduler s|  " "F  & &z 2 2E&& e#*%%%%% }64555 rcFt||j|j|jS)N)r)rrquietrrs rsave_envrs !)RZrv N N NNrcrt||} tj|=n#t$rYnwxYwt j|}|jrddlm}t|dd}|tj t|} t||5|jr||||}n |d}dddn #1swxYwYtjt!||jn-#tjt!||jwxYwt$jrzdt_t+|dt-t$jdt.t$jt$jtj|S)Nr)dash_R test_mainFTz created z uncollectable object(s).)rrmodulesKeyError importlib import_module huntrleakstest.libregrtest.refleakrgetattr functoolspartialrrr gc_collectcleanup_test_droppingsrgcgarbageenvironment_alteredr r7 FOUND_GARBAGEextendclear reap_children)rfrabstestrr test_runnerrefleaks r_runtest_inner2rsR++G K      (11J }4333333*k488K' jAA 6 b) $ $  }  &Y <<                  y"*5555 y"*5555 z&*#22S__222 3 3 3 RZ(((   Ns< --?C1"B=1 C1=CC1CC11*DTrcdt_|jrd} ttjt ||5t ||}dddn #1swxYwYn#tj$r=}|js|jst|d|dt|cYd}~Sd}~wtj $r=}|js|jst|d|dt|cYd}~Sd}~wtj $rQ}d|d}|r|d|}t|tjdt!||j|j cYd}~Sd}~wtj$rD}d|d}|r|d|}t|tjdt!|cYd}~Sd}~wtj$rt+|cYSt,$r tt/|cYS|js5t1j}td|d |tjdt5|cYSxYw|rt7|Stjrt9|St;|S) NFz skipped -- T)rrr6z -- r)r)r*r)rrrrrrrrMrrrSkipTestrHTestFailedWithDetailsrrr(r)r* TestFailed TestDidNotRunrVKeyboardInterruptrPrrr?rErBr$)rfrrrrexcs rrrRsz#(G v $, b) $ $ 5 5%b)44G 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5  !)))x ? ? Y11C11 > > > >i((((((((  """x ? ? Y11C11 > > > >y!!!!!!!!  (KKK(i(((  $##c##C c $////i S\JJJJJJJJJ  !!!(i(((  $##c##C c $////i         $$$##### &&& 9%%%%%,v /&((C 6)6666z / / / / +++++"y!!!"%)$$$ )  s1A2A% A2%A))A2,A)-A22I 2B93I 9I  2D=I I AE!I !I 39F2,I 2!I &I =A I rc ftjfD]!}tj|s#tj|rddl}d|j}}nAtj|rdtj }}ntd|d|r#t|d|d|dt_ ddl}tj||j|jz|jz||#t&$r%}t|d|d|d |Yd}~d}~wwxYwdS) Nr directoryrz os.path says z) exists but is neither directory nor filez left behind r4Tz and it couldn't be removed: )rTESTFNrlrmexistsisdirshutilrmtreeisfileunlink RuntimeErrorr rrstatchmodS_IRWXUS_IRWXGS_IRWXOr)rrrrkindnukerrrs rrrs!#@@w~~d##   7==   6 MMM%v}%DD W^^D ! ! 6 ")%DD 5t 5 5 566 6  / YDDTDDDDD E E E*.G ' @ KKK HT4<$,6E F F F E$KKKK @ @ @ Y??T??D??9<?? @ @ @ @ @ @ @ @ @-@@s9C?? D. D))D.r)T)6rrrrrrlrrrrtestr test.supportrrtest.libregrtest.cmdlinertest.libregrtest.save_envrtest.libregrtest.utilsrr r r r$r(r?rBrErHrMrPrSrVrYPROGRESS_MIN_TIMESTDTESTSrvNOTTESTSrboolrjrqrrrrrrrrrintrr"rrr s  """"""))))))......<<<<<<OOOOOOOOOO ' ' ' ' ' ' ' '%%%%%Z%%% %%%%%Z%%%D:::::::: 33333333 66666f666 &&&&&j&&& 88888W888 ********* &&&&&&&& +++++ +++ OOOOOfOOO    355 &j&i&D&&&& KKKKX $ $ $ $#y#S#S####D&D&sD&zD&D&D&D&N! !c!j!!!!*   OOsOOOO4 4c4d4444p<@666!64866666r@c@C@D@@@@@@r