7RddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z m Z mZmZmZmZGddZejdd Gd d Zejdd Gd d Zejdd GddZejdd GddeZGddejZdeeefdeeeefzfdZdS)N)Any)support)StrPathStrJSON TestTuple TestFilter FilterTuple FilterDictceZdZdZdZdZdS) JsonFileTypeUNIX_FDWINDOWS_HANDLESTDOUTN)__name__ __module__ __qualname__rrr@/opt/alt/python311/lib64/python3.11/test/libregrtest/runtests.pyr r sG%N FFFrr T)slotsfrozencbeZdZUedzed<eed<deddfdZej dZ d d Z dS) JsonFileNfile file_type popen_kwargsreturnc|jxtjkr|jg|d<dStjkr)t j}d|jgi|_||d<dSdS)Npass_fds handle_list startupinfo)rr rrr subprocess STARTUPINFOlpAttributeList)selfrr"s rconfigure_subprocesszJsonFile.configure_subprocesssqn%%%%%,0I; Z(((,,,)466 /\8 8 8  %di 6 6 6 <)$)U;;;;;)$)U;;;; EEEEEs AA/rc|jtjkrtd|j}|jtjkr$ddl}||tj }t|||S)Nz)for STDOUT file type, just use sys.stdoutr)encoding) rr r ValueErrorrrmsvcrtopen_osfhandler)O_WRONLYopen)r&moder/rr1s rr4z JsonFile.open6sm >\0 0 0HII Iy >\8 8 8 MMM((r{;;DD$2222r)r-) rrrint__annotations__strdictr' contextlibcontextmanagerr,r4rrrrrs *NNN : :$ : : : : 3 3 3 3 3 3rrcFeZdZUeed<eed<eed<deefdZdS) HuntRefleakwarmupsrunsfilenamerc*d|jd|jdgS)Nz-R:)r>r?r+s rbisect_cmd_argszHuntRefleak.bisect_cmd_argsHs$44 44455rN) rrrr6r7rlistr8rCrrrr=r=BsS LLL III6c666666rr=ceZdZUeed<eed<eed<eed<edzed<eed<eed<eed <eed <eed <edzed <e ed <eed<e dzed<e dzed<eed<e dzed<e dzed<e e dfed<e e dfdzed<eed<e e zed<d"dZdZdedzfdZdZdZdefdZdee fd Zdee fd!ZdS)#RunTeststests fail_fastfail_env_changed match_testsNmatch_tests_dictrerunforeverpgo pgo_extendedoutput_on_failuretimeoutverbosequiet hunt_refleaktest_dir use_junit memory_limit gc_threshold. use_resources python_cmd randomize random_seedrc ltj|}||tdi|SNr) dataclassesasdictupdaterFr&overridestates rcopyz RunTests.copygs8"4(( X  %   rc ltj|}||tdi|Sr^)r_r`raWorkerRunTestsrbs rcreate_worker_runtestszRunTests.create_worker_runtestsls8"4(( X&&&&&rcJ|j|j|dSdSN)rKget)r& test_names rget_match_testszRunTests.get_match_testsqs)  ,(,,Y== =4rc<|jrdSt|jSrj)rMlenrGr+s rget_jobszRunTests.get_jobsws! < 44:rc#PK|jr |jEd{V|jEd{VdSrj)rMrGr+s r iter_testszRunTests.iter_tests~sV < " &:%%%%%%% &z ! ! ! ! ! ! ! ! !rcZt|jptjp tjSrj)boolrZr is_emscriptenis_wasir+s rjson_file_use_stdoutzRunTests.json_file_use_stdouts+  ! ! $  rctj}|j|j}d|D}n tjf}g||}d|vr|d|S)Ncg|] }|dk| S)z-Er).0opts r z.RunTests.create_python_cmd..sEEE33r-u)rargs_from_interpreter_flagsrZsys executableappend)r& python_optsrcmds rcreate_python_cmdzRunTests.create_python_cmdsr9;; ? &JFE+EEEKK.*J) )[) { " " JJt    rcHg}|jr|d|jr|d|jr|d|j|j,||j|jr|d|jf|jr|d|jf|j r|d|j |j r/|dd |j f|j r0tj |j }|d |f|jr|d |d |j|S) Nz --failfastz--fail-env-changedz --timeout=z --testdirz --memlimitz --threshold=r},z--pythonz --randomizez --randseed=)rHrrIrQrTextendrCrUrWrXrYjoinrZshlexr[r\)r&argsrs rrCzRunTests.bisect_cmd_argss > & KK % % %   . KK, - - - < 5 KK3T\33 4 4 4   ( KK)99;; < < < = 6 KKdm4 5 5 5   ; KKt'89 : : :   < KK:t'8:: ; ; ;   > KKsxx(:;;< = = = ? +*T_--C KKS) * * * > ( KK ' ' ' 4$"244555 r)rrF)rrrrr7rtr r floatr6r=rr8tuplererhr rmrprrrwrDrrCrrrrFrFNs OOO 4'''' KKK MMM III T\ LLL KKK$$$$nOOO**c?"""c3h$&&&&OOOs!!!! ''' K$,> """  d      49    crrFcFeZdZUeed<defdZededdfdZdS)rg json_filerc8tj|tS)N)cls)jsondumps_EncodeRunTestsr+s ras_jsonzWorkerRunTests.as_jsonsz$O4444r worker_jsonc8tj|tS)N) object_hook)rloads_decode_runtests)rs r from_jsonzWorkerRunTests.from_jsonsz+3CDDDDrN) rrrrr7rr staticmethodrrrrrgrgst55555EwE+;EEE\EEErrgc8eZdZdedeeefffd ZxZS)rorct|trtj|}d|d<|St |S)NT __runtests__) isinstancergr_r`superdefault)r&rresult __class__s rrz_EncodeRunTests.defaultsJ a ( ( & '**F%)F> "M77??1%% %r)rrrrr9r8r __classcell__)rs@rrrsS&&c3h&&&&&&&&&&rrdatarcd|vr[|d|drtdi|d|d<|drtdi|d|d<tdi|S|S)NrrTrr)popr=rrg)rs rrrs      G#.#F#Fn1E#F#FD   > ( = =4 +< = =D %%%%% r)r:r_rr)rr#rtypingrtestrutilsrrrr r r r dataclassrr=rFrg JSONEncoderrr9r8rrrrrs  FFFFFFFFFFFFFFFF T$///(3(3(3(3(3(3(30/(3VT$///66666660/6T$///jjjjjjj0/jZT$///EEEEEXEE0/E&&&&&d&&&& 4S> hc3h.G      r