+
    öÙ†j¯q  ã                   ó‚  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht ^ RIHtHtHt ^RIHtHt ^RIHtHtHt ^RIHt ^RIHt ^R	IHt ^R
IHtHt ^RIH t H!t! ^RI"H#t#H$t$ ^RI%H&t&H't' ^RI(H)t)H*t* ^RI+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>  ! R R4      t?RR R llt@R# )é    N)Ú
get_colors©ÚNoReturn)Ú	os_helperÚ
MS_WINDOWSÚflush_std_streams)Ú_parse_argsÚ	Namespace)Ú	findtestsÚsplit_test_packagesÚ
list_cases)ÚLogger)Úsetup_pgo_tests)Ú
TestResult)ÚTestResultsÚEXITCODE_INTERRUPTED)ÚRunTestsÚHuntRefleak)Úsetup_processÚsetup_test_dir)Úrun_single_testÚPROGRESS_MIN_TIME)Úsetup_tsan_testsÚsetup_tsan_parallel_tests)ÚStrPathÚStrJSONÚTestNameÚTestListÚ	TestTupleÚ
TestFilterÚstrip_py_suffixÚcountÚformat_durationÚ	printlistÚget_temp_dirÚget_work_dirÚexit_timeoutÚdisplay_headerÚcleanup_temp_dirÚprint_warningÚis_cross_compiledÚget_host_runnerÚEXIT_TIMEOUTc                   óÚ  a € ] tR t^!t o RtR2V 3R lR lltR3V 3R lR lltR4V 3R lR llt]V 3R	 lR
 l4       t	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR  ltV 3R! lR" ltV 3R# lR$ ltV 3R% lR& ltR' tR( tR) tV 3R* lR+ ltR, t]V 3R- lR. l4       tR4V 3R/ lR0 lltR1t V t!R# )5ÚRegrtesta!  Execute 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.
c                ó&   <€ V ^8„  d   QhRS[ RS[/# )é   ÚnsÚ_add_python_opts)r
   Úbool)ÚformatÚ__classdict__s   "€Ú,/usr/lib/python3.14/test/libregrtest/main.pyÚ__annotate__ÚRegrtest.__annotate__8   s   ø€ ÷ i9ñ i9™9ð i9¹ñ i9ó    c                óÄ	  € \        VP                  4      V n        VP                  V n        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        \        4       V n        R V n	        \        V P                  V P                  V P                  4      V n        VP                  V n        VP                  V n        VP                   V n        VP$                  V n        VP(                  V n        VP,                  V n        VP0                  V n        VP4                  V n        VP8                  ;'       g    VP:                  V n        T;'       d    VP>                  V n         VPB                  V n!        VPD                  V n"        VPF                  V n#        VPH                  V n%        VPL                  V n'        VPP                  V n(        V PP                  '       g   VPR                  f   ^ pM VPR                  ^ 8:  d   RpMVPR                  pW0n*        VPV                  V n+        VPX                  V n-        VP\                  V n.        VP^                  V n/        VP`                  V n0        VPb                  V n2        VPf                  V n3        VPh                  '       dA   VPh                  w  rEp\j        Pl                  Po                  V4      p\q        WEV4      V n9        MR V n9        VPt                  V n;        VPx                  V n=        VP|                  V n?        VP€                  V nA        \…        VP†                  4      V nC        VPˆ                  '       d   \‹        VPˆ                  4      V nF        MR V nF        VPŽ                  V nH        VP’                  V nJ        VP–                  V nL        VPš                  V nM        R\j        Pœ                  9   dB   \j        Pœ                  R,          '       d%   RV nM        \j        Pœ                  R,          V nO        M;VPž                  f   \         P¢                  ! ^ 4      V nO        MVPž                  V nO        \‹        VP¤                  4      V nS        VP¨                  V nT        R V nU        VP¬                  V nW        \°        P²                  ! 4       V nZ        VP¶                  V n\        R V n]        R V n^        R # )NÚSOURCE_DATE_EPOCHFéÿÿÿÿ)_ÚintÚverboseÚquietÚpgoÚpgo_extendedÚtsanÚtsan_parallelr   ÚresultsÚfirst_stater   ÚloggerÚheaderÚwant_headerÚ
list_testsÚwant_list_testsr   Úwant_list_casesÚwaitÚ	want_waitÚcleanupÚwant_cleanupÚrerunÚ
want_rerunÚrunleaksÚwant_run_leaksÚbisectÚwant_bisectÚfast_ciÚslow_ciÚci_moder3   Úwant_add_python_optsÚmatch_testsÚexcludeÚfromfileÚstartÚstarting_testÚargsÚcmdline_argsÚsingle_processÚuse_mpÚnum_workersÚworker_jsonÚfailfastÚ	fail_fastÚfail_env_changedÚ
fail_rerunÚforeverÚverbose3Úoutput_on_failureÚtimeoutÚ
huntrleaksÚosÚpathÚabspathr   Úhunt_refleakÚtestdirÚtest_dirÚxmlpathÚjunit_filenameÚmemlimitÚmemory_limitÚ	thresholdÚgc_thresholdÚdictÚuse_resourcesÚpythonÚtupleÚ
python_cmdÚtraceÚcoverageÚcoverdirÚcoverage_dirÚtempdirÚ_tmp_dirÚ	randomizeÚenvironÚrandom_seedÚrandomÚgetrandbitsÚ
prioritizeÚprioritize_testsÚparallel_threadsÚfirst_runtestsÚ
print_slowÚprint_slowestÚtimeÚperf_counterÚ
start_timeÚsingleÚsingle_test_runÚnext_single_testÚnext_single_filename)Úselfr2   r3   rd   ÚwarmupsÚrunsÚfilenames   &&&    r7   Ú__init__ÚRegrtest.__init__8   s…  € ä §
¡
›OˆŒØŸ8™8ˆŒ
ØŸ™ˆŒØ"$§/¡/ˆÔØŸ'™'ˆŒ	Ø#%×#3Ñ#3ˆÔô %0£MˆŒØ'+ˆÔô ˜TŸ\™\¨4¯:©:°t·x±xÓ@ˆŒð "$§¡ˆÔØ%'§]¡]ˆÔØ%'§]¡]ˆÔØ!Ÿw™wˆŒØ"$§*¡*ˆÔØ "§¡ˆŒØ$&§K¡KˆÔØ!#§¡ˆÔà Ÿj™j×6Ð6¨B¯J©JˆŒØ+;÷ ,Cð ,CØ/1×/BÑ/Bð 	Ô!ð (*§~¡~ˆÔØŸZ™ZˆŒØ(*¯©ˆŒØ.0¯h©hˆÔØ&(§g¡gˆÔð %'×$5Ñ$5ˆÔØ××Ð "§)¡)Ò"3Ø‰KØ�Y‰Y˜!Œ^Ø‰KàŸ)™)ˆKØ +ÔØ+-¯>©>ˆÔð  "Ÿ{™{ˆŒØ&(×&9Ñ&9ˆÔØ "§¡ˆŒØŸZ™ZˆŒØ')§{¡{ˆÔØ%'§Z¡ZˆŒØ�=�=ˆ=Ø&(§m¡mÑ#ˆG˜8Ü—w‘w—‘ xÓ0ˆHÜ4?ÀÈxÓ4XˆDÕà $ˆDÔØ(*¯
©
ˆŒØ.0¯j©jˆÔØ(*¯©ˆÔØ(*¯©ˆÔÜ48¸×9IÑ9IÓ4JˆÔØ�9�9ˆ9Ü6;¸B¿I¹IÓ6FˆD�Oà"ˆDŒOØ Ÿh™hˆŒØ,.¯K©KˆÔØ(*¯
©
ˆŒð  "Ÿ|™|ˆŒØ¤2§:¡:Ô-ä—
‘
Ð.×/Ô/à"ˆDŒNô +-¯*©*Ð5HÕ*IˆDÕØ�^‰^Ò#Ü%×1Ò1°"Ó5ˆDÕà!Ÿ~™~ˆDÔÜ16°r·}±}Ó1EˆÔà "× 3Ñ 3ˆÔð 04ˆÔð $&§=¡=ˆÔô ×+Ò+Ó-ˆŒð &(§Y¡YˆÔØ15ˆÔØ48ˆÖ!r:   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r1   ÚlineÚreturnN©Ústr)r5   r6   s   "€r7   r8   r9   £   s   ø€ ÷ ñ ™ð  Tñ r:   c                ó<   € V P                   P                  V4       R # ©N)rG   Úlog)r˜   rŸ   s   &&r7   r¥   ÚRegrtest.log£   s   € Ø�‰�‰˜Ör:   Nc                óX   <€ V ^8„  d   QhRS[ R,          RS[S[S[ R,          3,          /# ©r1   ÚtestsNr    )r   r~   r   )r5   r6   s   "€r7   r8   r9   ¦   s2   ø€ ÷ Y(ñ Y(¡¨4¥ð Y(¹5ÁÉHÐW[ÍOÐA[Õ;\ñ Y(r:   c                ó 	  € Vf   . pV P                   '       dy   \        P                  P                  V P                  R4      V n         \        V P
                  R4      ;_uu_ 4       pVP                  4       P                  4       pV.pR R R 4       V P                  '       dÓ   . p\        P                  ! R4      p\        \        P                  P                  \        P                  V P                  4      4      ;_uu_ 4       pV Fb  pVP                  R^4      ^ ,          pVP                  4       pVP!                  V4      pVf   KC  VP#                  VP%                  4       4       Kd  	  R R R 4       \'        V4       \)        4       pV P*                  '       d,   V P,                   F  pVP/                  V4       K  	  . V n        V P0                  '       d!   \3        V P,                  V P4                  4       V P6                  '       d   \9        V P,                  4       V P:                  '       d   \=        V P,                  4       \?        V P@                  VR7      p	V P                  '       gO   T;'       g    V P,                  p
V'       d   V
 Uu. uF  pW·9  g   K  VNK  	  p
pV
'       d   \C        V
4      p
MT	p
MTp
V P                   '       d7   V
R,          p
 V	PE                  V
^ ,          4      pWœ^,           ,          V n#        V PJ                  '       d     V
R V
PE                  V PJ                  4      1 \T        PV                  ! V PX                  4       V PZ                  '       d   \T        P\                  ! V
4       \_        V P`                  4       F'  p V
Pc                  V4       V
Pe                  ^ V4       K)  	  \g        V
4      V3#   + '       g   i     ELN; i  \         d     EL_i ; i  + '       g   i     EL�; iu upi   \H         d     ELi ; i  \L         d3    \O        RT PJ                   24       \P        PR                  ! ^4        EL"i ; i  \L         d    \O        RT R	24        Kæ  i ; i)
NÚ
pynexttestÚrz\btest_[a-zA-Z0-9_]+\bÚ#)rs   r\   :Né   NzCannot find starting test: zwarning: --prioritize=z$ used but test not actually selected)4r•   ro   rp   ÚjoinÚtmp_dirr—   ÚopenÚreadÚstripÚOSErrorr]   ÚreÚcompiler   ÚSAVEDCWDÚsplitÚsearchÚappendÚgroupr!   Úsetr\   ra   ÚaddrA   r   rB   rC   r   rD   r   r   rt   r   Úindexr–   Ú
IndexErrorr_   Ú
ValueErrorÚprintÚsysÚexitr‰   Úseedrˆ   r†   ÚshuffleÚreversedrŒ   ÚremoveÚinsertr~   )r˜   r©   ÚfpÚ	next_testÚregexrŸ   ÚmatchÚexclude_testsÚargÚalltestsÚselectedÚnameÚposÚpriority_tests   &&            r7   Ú
find_testsÚRegrtest.find_tests¦   s…  € ØŠ=ØˆEØ××ÐÜ(*¯©¯©°T·\±\À<Ó(PˆDÔ%ðÜ˜$×3Ñ3°S×9Ô9¸RØ "§¡£	§¡Ó 1�IØ&˜K�E÷ :ð �=�=ˆ=ØˆEô —J’JÐ8Ó9ˆEÜ”b—g‘g—l‘l¤9×#5Ñ#5°t·}±}ÓE×FÔFÈ"Û�DØŸ:™: c¨1Ó-¨aÕ0�DØŸ:™:›<�DØ!ŸL™L¨Ó.�EØÔ(ØŸ™ U§[¡[£]Ö3ñ ÷ Gô 	˜Ôä›ˆØ�<�<ˆ<Ø×(Ô(�Ø×!Ñ! #Ö&ñ )à "ˆDÔà�8�8ˆ8ä˜D×-Ñ-¨t×/@Ñ/@ÔAà�9�9ˆ9Ü˜T×.Ñ.Ô/à××ÐÜ% d×&7Ñ&7Ô8ä T§]¡]Ø%2ô4ˆð �}�}ˆ}Ø×1Ð1 × 1Ñ 1ˆHßá-5ó :©X TØ#Ñ8÷ !˜D©X�ð :çÜ.¨xÓ8‘à#‘àˆHà××ÐØ •|ˆHðØ—n‘n X¨a¥[Ó1�Ø(0°qµÕ(9�Ô%ð
 ××ÐðØÐ@˜hŸn™n¨T×-?Ñ-?Ó@Ð@ÐAô
 	�Š�D×$Ñ$Ô%Ø�>�>ˆ>Ü�NŠN˜8Ô$ä% d×&;Ñ&;Ö<ˆMð2Ø—‘ Ô.ð —‘  =Ö1ñ =ô �h“ Ð'Ð'÷g :×9Ð9ûô ô Úðú÷ G×FÐFüòB:øô ô Úðûô ô ÜÐ3°D×4FÑ4FÐ3GÐHÔIÜ—’˜—ðûô ô ÜÐ.¨}¨oð >:ð ;ô <âðús…   Á	O" Á'"OÂ	O" ÄAO4Å
#O4ÊPÊPË,P ÌP ÎQÏO	ÏO" ÏO" Ï"O1Ï0O1Ï4P	ÐPÐPÐ9QÑQÑQ=Ñ<Q=c                ó$   <€ V ^8„  d   QhRS[ RR/# )r1   r©   r    N)r   )r5   r6   s   "€r7   r8   r9     s   ø€ ÷ ñ ™)ð ¨ñ r:   c                ó.   € V  F  p\        V4       K  	  R # r¤   )rÁ   )r©   rÑ   s   & r7   rJ   ÚRegrtest.list_tests  s   € ãˆDÜ�$ŽKó r:   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r1   Úruntestsr    ©r   )r5   r6   s   "€r7   r8   r9     s   ø€ ÷ ñ ©Hð ¹ñ r:   c           
     óä  € V P                   ^ 8X  d   V P                  '       g   ^V n         V P                  P                  4       w  r#VP	                  VRRRRVRR7      pV P
                  P                  V4       R\        V4       R2pV P                  '       g4   V R2pV P                  V4       V P                  WP                   4       V# V P                  V4       V P                  V4       V# )r   TF)r©   rQ   r?   rj   rg   Úmatch_tests_dictrl   zRe-running z failed tests in verbose modez in subprocesses)rd   rb   rE   Úprepare_rerunÚcopyrG   Ú	set_testsÚlenr¥   Ú_run_tests_mpÚrun_tests_sequentially)r˜   rÚ   r©   rÝ   Úmsgs   &&   r7   Ú_rerun_failed_testsÚRegrtest._rerun_failed_tests  sê   € à×Ñ˜qÔ ¨×)<×)<Ð)<ð
  !ˆDÔà"&§,¡,×"<Ñ"<Ó">Ñˆð —=‘=ØØØØØØ-Ø#ð !ó %ˆð 	�‰×Ñ˜hÔ'àœC ›J˜<Ð'DÐEˆØ×"×"Ð"Ø�EÐ)Ð*ˆCØ�H‰H�SŒMØ×Ñ˜x×)9Ñ)9Ô:ð ˆð �H‰H�SŒMØ×'Ñ'¨Ô1Øˆr:   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r1   rÚ   r    NrÛ   )r5   r6   s   "€r7   r8   r9   &  s   ø€ ÷ ,ñ ,©8ð ,¸ñ ,r:   c                óü  € \        4       pVP                  VP                  rCV P                  '       d   V P	                  R 4       R# V P                  4       V n        \        4        V P                  V4      pV P                  P                  '       dY   \        V \        \        V P                  P                  4      R4       RV 24       \        V P                  P                  4       V P                  V4       R# )zJRe-running failed tests is not supported with --python host runner option.NÚtestz failed again:)r   ÚBOLD_REDÚRESETr   r¥   Ú	get_staterF   rÁ   rå   rE   Úbadr"   rá   r$   Údisplay_result)r˜   rÚ   ÚansiÚredÚresetÚrerun_runtestss   &&    r7   Úrerun_failed_testsÚRegrtest.rerun_failed_tests&  sÄ   € Ü‹|ˆØ—]‘] D§J¡JˆUà�?�?ˆ?à�H‰Hð&ôñ àŸ>™>Ó+ˆÔäŒØ×1Ñ1°(Ó;ˆà�<‰<××ÐÜØ�%œœc $§,¡,×"2Ñ"2Ó3°VÓ<Ð=ð > Ø %˜wð(ôô �d—l‘l×&Ñ&Ô'à×Ñ˜NÖ+r:   c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# )r1   rÚ   rê   Úprogressr    )r   r¢   r4   )r5   r6   s   "€r7   r8   r9   @  s)   ø€ ÷ $ñ $¡Hð $±Cð $Á3ð $É4ñ $r:   c                óœ  € \        4        R V 2pV'       d	   V RV R2p\        V4       \        R\        V4      ,          4       \        4        VP                  4       pVP                  . RO4       VP                  VP	                  4       4       VP                  V4       \        R\        P                  ! V4      RR7       \        4        ^ RI	pVP                  WQP                  R7      pVP                  pV R	V 2p\        V4       \        R\        V4      ,          4       \        RR7       V'       d   \        R
V 24       R# R# )zBisect z (Ú)r­   Ú+T©ÚflushN©rm   z: exit code zBisect failed with exit code F)ú-uz-mztest.bisect_cmdz
--max-iterÚ25z-v)rÁ   rá   Úcreate_python_cmdÚextendÚbisect_cmd_argsrº   Úshlexr¯   r   Ú
subprocessÚrunrm   Ú
returncode)	r˜   rÚ   rê   r÷   ÚtitleÚcmdr  ÚprocÚexitcodes	   &&&&     r7   Ú_run_bisectÚRegrtest._run_bisect@  s  € ÜŒØ˜$˜Ð ˆßØ�g˜R ˜z¨Ð+ˆEÜˆeŒÜˆc”C˜“JÕÔÜŒà×(Ñ(Ó*ˆØ�
‰
ò 
ô 	ð 	�
‰
�8×+Ñ+Ó-Ô.Ø�
‰
�4ÔÜˆc”5—:’:˜c“?¨$Õ/äÔãØ�~‰~˜c×+;Ñ+;ˆ~Ó<ˆØ—?‘?ˆà�'˜ h ZÐ0ˆÜˆeŒÜˆc”C˜“JÕÔÜ�DÕçÜÐ1°(°Ð<Ô=Ùár:   c                ó$   <€ V ^8„  d   QhRS[ RR/# rè   rÛ   )r5   r6   s   "€r7   r8   r9   f  s   ø€ ÷ 	ñ 	¡8ð 	°ñ 	r:   c                óè   € V P                   P                  R R7      w  r#\        V^4       FC  w  rE\        V4      ^8”  d   V R\        V4       2pMRpV P	                  WV4      '       d   KB   R# 	  R# )F)ÚclearÚ/Ú N)rE   rÞ   Ú	enumeraterá   r  )r˜   rÚ   r©   Ú_r¾   rÑ   r÷   s   &&     r7   Ú
run_bisectÚRegrtest.run_bisectf  sh   € Ø—<‘<×-Ñ-°EÐ-Ó:‰ˆä$ U¨AÖ.‰KˆEÜ�5‹z˜AŒ~Ø#˜W A¤c¨%£j \Ð2‘à�Ø×#Ñ# H°H×=Ô=Úó /r:   c                ó$   <€ V ^8„  d   QhRS[ RR/# rè   rÛ   )r5   r6   s   "€r7   r8   r9   q  s   ø€ ÷ 
Dñ 
D¡xð 
D°Dñ 
Dr:   c                óö   € VP                   '       d   R # V P                  4       p\        4        \        RV R24       V P                  P	                  VP
                  V P                  V P                  4       R # )Nz== Tests result: z ==)rA   rí   rÁ   rE   rï   r©   r@   r�   )r˜   rÚ   Ústates   && r7   rï   ÚRegrtest.display_resultq  sY   € à�<�<ˆ<Ùà—‘Ó ˆÜŒÜÐ! % ¨Ð,Ô-à�‰×#Ñ# H§N¡NØ$(§J¡J°×0BÑ0Bö	Dr:   c                óT   <€ V ^8„  d   QhRS[ RS[RS[P                  R,          RS[/# )r1   Ú	test_namerÚ   ÚtracerNr    )r   r   r€   ÚTracer   )r5   r6   s   "€r7   r8   r9   }  s6   ø€ ÷ ñ Ù!ðÙ-5ðÙ?D¿{¹{ÈTÕ?Qðá	ñr:   c                ó  € VeV   Rp\        \        4       4      pVP                  V\        4       VR7       VR,          p\	        VP
                  4      Vn        M\        W4      pV P                  P                  Wb4       V# )Nz-result = run_single_test(test_name, runtests))ÚglobalsÚlocalsÚresult)
r{   r   Úrunctxr  ÚlistÚcountsÚcovered_linesr   rE   Úaccumulate_result)r˜   r  rÚ   r  r  Ú	namespacer!  s   &&&&   r7   Úrun_testÚRegrtest.run_test}  sm   € ð Òð CˆCÜœV›X›ˆIØ�M‰M˜#¤w£y¸ˆMÔCØ˜xÕ(ˆFÜ#'¨¯©Ó#6ˆFÕ ä$ YÓ9ˆFà�‰×&Ñ& vÔ8àˆr:   c                ó$   <€ V ^8„  d   QhRS[ RR/# rè   rÛ   )r5   r6   s   "€r7   r8   r9   �  s   ø€ ÷ .ñ .©xð .¸Dñ .r:   c                óÖ  € V P                   '       d   \        P                  ! R RR7      pMRp\        \        P
                  4      pVP                  4       pVe   \        VR4      pMRpRV R2pVP                  '       d$   VR\        VP                  4      ,          ,          pV P                  V4       VP                  4       p\        V^4       EFt  w  r‰\        P                  ! 4       p
V P                  P!                  W‰4       V P#                  W‘V4      p\        P
                   Uu. uF&  pWÃ9  g   K  VP%                  R4      '       g   K$  VNK(  	  ppV FY  p\        P
                  P'                  VR4       VP)                  R	4      w  rïp \+        \        P
                  V,          V4       K[  	  \1        V4      p\        P                  ! 4       V
,
          pV\2        8¼  d   V R
\        V4       2pV P                  P!                  VV4       VP5                  V P6                  V P8                  4      '       g   EKt   R# 	  R# u upi   \,        \.        3 d     EK  i ; i)FT)r€   r"   Nrê   r©   zRun z! sequentially in a single processz (timeout: %s)Ú.z in )ztest.Útest_)r�   r€   r  r¼   rÂ   ÚmodulesÚget_jobsr"   rm   r#   r¥   Ú
iter_testsr  r‘   r’   rG   Údisplay_progressr(  Ú
startswithÚpopÚ
rpartitionÚdelattrÚKeyErrorÚAttributeErrorr¢   r   Ú	must_stoprg   rh   )r˜   rÚ   r  Úsave_modulesÚjobsr©   rä   Ú
tests_iterÚ
test_indexr  r“   r!  ÚmoduleÚnew_modulesÚparentr  rÑ   ÚtextÚ	test_times   &&                 r7   rã   ÚRegrtest.run_tests_sequentially�  sÿ  € Ø�=�=ˆ=Ü—[’[ u°DÔ9‰FàˆFäœ3Ÿ;™;Ó'ˆà× Ñ Ó"ˆØÒÜ˜$ Ó'‰EàˆEØ�U�GÐ<Ð=ˆØ××ÐØÐ#¤o°h×6FÑ6FÓ&GÕGÕGˆCØ�‰�Œà×(Ñ(Ó*ˆ
Ü%.¨z¸1×%=Ñ!ˆJÜ×*Ò*Ó,ˆJà�K‰K×(Ñ(¨Ô?à—]‘] 9¸Ó?ˆFô 14·²ó G± fØ$Ñ8ô "à &× 1Ñ 1Ð2D× E÷ "˜6±ˆKð Gó &�Ü—‘—‘ ¨Ô-à"(×"3Ñ"3°CÓ"8‘�˜4ðÜœCŸK™K¨Õ/°Ö6ñ &ô �v“;ˆDÜ×)Ò)Ó+¨jÕ8ˆIØÔ-Ô-Ø˜˜t¤O°IÓ$>Ð#?Ð@�Ø�K‰K×(Ñ(¨°TÔ:à×Ñ §¡°×0EÑ0E×FÕFÚó7 &>ùòGøô !¤.Ð1ô Ûðús$   Ä,IÄ9IÅIÆ!IÉI(É'I(c                ó    <€ V ^8„  d   QhRS[ /# ©r1   r    r¡   )r5   r6   s   "€r7   r8   r9   ¿  s   ø€ ÷ ñ ™3ñ r:   c                ó–   € V P                   P                  V P                  4      pV P                  '       d   V P                   R V 2pV# )z then )rE   rí   rh   rF   )r˜   r  s   & r7   rí   ÚRegrtest.get_state¿  sD   € Ø—‘×&Ñ& t×'<Ñ'<Ó=ˆØ××ÐØ×'Ñ'Ð(¨¨u¨gÐ6ˆEØˆr:   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r1   rÚ   rd   r    N)r   r>   )r5   r6   s   "€r7   r8   r9   Å  s'   ø€ ÷ Kñ K¡hð K¹Sð KÀTñ Kr:   c                ój   € ^RI Hp V! W!V P                  V P                  4      P	                  4        R# )r®   )Ú
RunWorkersN)Úrun_workersrI  rG   rE   r  )r˜   rÚ   rd   rI  s   &&& r7   râ   ÚRegrtest._run_tests_mpÅ  s"   € Ý+Ù�;¨$¯+©+°t·|±|ÓD×HÑHÖJr:   c                óF   <€ V ^8„  d   QhRS[ P                  R,          RR/# )r1   r�   Nr    )r€   ÚCoverageResults)r5   r6   s   "€r7   r8   r9   É  s&   ø€ ÷ :ñ :¡u×'<Ñ'<¸tÕ'Cð :Èñ :r:   c                ó„  € V P                   '       d}   V P                  '       dK   \        V P                   R 4      ;_uu_ 4       pVP                  V P                  R,           4       RRR4       M \        P
                  ! V P                   4       Ve    VP                  RRV P                  RR7       V P                  '       d1   \        P                  ! R\        P                  ! 4       ,          4       V P                  '       d(   V P                  P                  V P                  4       R# R#   + '       g   i     L°; i)ÚwÚ
NT)Úshow_missingÚsummaryr‚   Úignore_missing_fileszleaks %d)r—   r–   r±   Úwritero   ÚunlinkÚwrite_resultsrƒ   rT   ÚsystemÚgetpidrv   rE   Úwrite_junit)r˜   r�   rÉ   s   && r7   Úfinalize_testsÚRegrtest.finalize_testsÉ  sâ   € Ø×$×$Ð$Ø×$×$Ð$Ü˜$×3Ñ3°S×9Ô9¸RØ—H‘H˜T×2Ñ2°TÕ9Ô:÷ :Ð9ô —	’	˜$×3Ñ3Ô4àÒà×"Ñ"°¸dØ,0×,=Ñ,=Ø8<ð #ô >ð ××ÐÜ�IŠI�j¤2§9¢9£;Õ.Ô/à××ÐØ�L‰L×$Ñ$ T×%8Ñ%8Ö9ñ ÷ :×9ús   Á#D/Ä/D?	c                ó   <€ V ^8„  d   QhRR/# ©r1   r    N© )r5   r6   s   "€r7   r8   r9   Ý  s   ø€ ÷ "ñ " ñ "r:   c                ó”  € V P                   f   \        R4      h\        P                  ! 4       V P                  P
                  ,
          p\        V P                  4      p\        4        \        R\        V4      ,          4       V P                  P                  V P                   V4       V P                  4       p\        RV 24       R # )NzBShould never call `display_summary()` before calling `_run_test()`zTotal duration: %szResult: )rŽ   rÀ   r‘   r’   rG   r“   r4   r[   rÁ   r#   rE   Údisplay_summaryrí   )r˜   ÚdurationÚfilteredr  s   &   r7   r`  ÚRegrtest.display_summaryÝ  sž   € Ø×ÑÒ&ÜØTóð ô ×$Ò$Ó&¨¯©×)?Ñ)?Õ?ˆÜ˜×(Ñ(Ó)ˆô 	ŒÜÐ"¤_°XÓ%>Õ>Ô?à�‰×$Ñ$ T×%8Ñ%8¸(ÔCð —‘Ó ˆÜ�˜˜Ð Ö!r:   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r1   r©   r    )r   r   )r5   r6   s   "€r7   r8   r9   ð  s   ø€ ÷ 
ñ 
¡ið 
±Hñ 
r:   c                óH  € \        V3/ R V P                  bRV P                  bRV P                  bRRbRRbRV P                  bRV P
                  bR	V P                  bR
V P                  bRV P                  bRV P                  bRV P                  bRV P                  bRV P                  bRV P                  RJbRV P                  bRV P                  bRV P                   bRV P"                  bRV P$                  bRV P&                  bRV P(                  bRV P*                  b # )rg   rh   r[   rÝ   NrQ   Frj   rA   rB   rl   rm   r?   r@   rr   rt   Ú	use_junitr�   rx   rz   r|   r   r†   rˆ   r�   )r   rg   rh   r[   rj   rA   rB   rl   rm   r?   r@   rr   rt   rv   r�   rx   rz   r|   r   r†   rˆ   r�   )r˜   r©   s   &&r7   Úcreate_run_testsÚRegrtest.create_run_testsð  se  € ÜØò
à—n’nð
ð "×2Ò2ð
ð ×(Ò(ð	
ñ
 "ð
ñ ð
ð —L’Lð
ð —’ð
ð ×*Ò*ð
ð #×4Ò4ð
ð —L’Lð
ð —L’Lð
ð —*’*ð
ð ×*Ò*ð
ð —]’]ð
ð  ×*Ñ*°$Ñ6ð!
ð" —]’]ð#
ð$ ×*Ò*ð%
ð& ×*Ò*ð'
ð( ×,Ò,ð)
ð* —’ð+
ð, —n’nð-
ð. ×(Ò(ð/
ð0 "×2Ò2ð1
ð 	
r:   c                ó:   <€ V ^8„  d   QhRS[ RS[R,          RS[/# ©r1   rÐ   r©   Nr    ©r   r   r>   )r5   r6   s   "€r7   r8   r9     s&   ø€ ÷ 9:ñ 9:¡9ð 9:±XÀµ_ð 9:Éñ 9:r:   c                óR  € V P                   '       d:   V P                   P                  ^8  d   Rp\        V\        P                  RR7       V P
                  ^ 8  d,   \        P                  ! 4       ;'       g    ^^,           V n        V P                  '       gQ   V P                  '       g_   V P                  '       gM   V P                  '       g;   V'       g3   V P                  '       g!   \        V P                  V P                  4       \        RV P                   4       V P#                  V4      pW@n        V P&                  P)                  V4       VP                   e   V P
                  '       g   RpM\*        pV'       d   V P&                  P-                  4         V P
                  '       d   V P/                  W@P
                  4       MV P1                  V4       V P2                  P5                  4       pV P7                  V4       V P8                  '       d2   V P2                  P;                  4       '       d   V P=                  V4       V P>                  '       d2   V P2                  P;                  4       '       d   V PA                  V4       V'       d   V P&                  PC                  4        T PE                  4        T PG                  T4       T P2                  PI                  T PJ                  T PL                  4      #   T'       d   T P&                  PC                  4        i i ; i)é   zhWARNING: Running tests with --huntrleaks/-R and less than 3 warmup repetitions can give false positives!T)Úfilerü   zUsing random seed:F)'rr   r™   rÁ   rÂ   Ústdoutrd   ro   Úprocess_cpu_countrI   rA   r@   r•   ra   r(   r|   r   rˆ   rg  rŽ   rG   rà   r   Ústart_load_trackerrâ   rã   rE   Úget_coverage_resultsrï   rR   Ú
need_rerunrô   rV   r  Ústop_load_trackerr`  rZ  Úget_exitcoderh   ri   )r˜   rÐ   r©   rä   rÚ   Úuse_load_trackerr�   s   &&&    r7   Ú
_run_testsÚRegrtest._run_tests  s9  € Ø××Ð ×!2Ñ!2×!:Ñ!:¸QÔ!>ðNˆCä�#œCŸJ™J¨dÕ3à×Ñ˜aÔô !#× 4Ò 4Ó 6× ;Ð ;¸!¸qÕ@ˆDÔð ××ÐØ—8—8�8˜tŸzŸz˜z¨T×-A×-AÐ-Aß˜t×0×0Ð0Ü˜4×-Ñ-¨t¯©Ô?äÐ" D×$4Ñ$4Ô5à×(Ñ(¨Ó2ˆØ&ÔØ�‰×Ñ˜hÔ'à×!Ñ!Ò-¸×8H×8HÐ8Hà$Ñô  *ÐçØ�K‰K×*Ñ*Ô,ð	0Ø××ÐØ×"Ñ" 8×-=Ñ-=Õ>à×+Ñ+¨HÔ5à—|‘|×8Ñ8Ó:ˆHØ×Ñ Ô)à��ˆ 4§<¡<×#:Ñ#:×#<Ò#<Ø×'Ñ'¨Ô1à××Ð D§L¡L×$;Ñ$;×$=Ò$=Ø—‘ Ô)çØ—‘×-Ñ-Ô/à×ÑÔØ×Ñ˜HÔ%à�|‰|×(Ñ(¨×)>Ñ)>Ø)-¯©ó:ð 	:ø÷  Ø—‘×-Ñ-Õ/ð  ús+   ÆL Æ0A)L ÈL È:"L ÉL É=L Ì%L&c                ó:   <€ V ^8„  d   QhRS[ RS[R,          RS[/# rj  rk  )r5   r6   s   "€r7   r8   r9   G  s&   ø€ ÷ 8ñ 8¡)ð 8±H¸tµOð 8Éñ 8r:   c           	     ó†  € \         P                  ! V P                  R R7       \        V P                  4      p\	        4       ;_uu_ 4        \
        P                  ! VR R7      ;_uu_ 4        V P                  W4      uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)T)Úexist_ok)r@   N)ro   Úmakedirsr°   r&   r'   r   Útemp_cwdrw  )r˜   rÐ   r©   Úwork_dirs   &&& r7   Ú	run_testsÚRegrtest.run_testsG  su   € Ü
�Š�D—L‘L¨4Õ0Ü §¡Ó-ˆô �^�^ô
 ×#Ò# H°D×9Ö9ð
 —‘ xÓ7÷ :Ñ9÷ Š^÷
 :×9úÐ9÷ �^�^Š^ús$   Á
!B/Á+B	Á<
B/ÂB!ÂB/Â/C 	c                ój  € \        V P                  4      pR p\        4       p\        4       pV'       do   0 Rmp\        P
                  p\        P
                  P                  4        UU	u/ uF&  w  r‰VP                  R4      '       d	   W†9   g   K$  W‰bK(  	  p
pp	W§8w  d   T
pRpV'       dƒ   V'       d{   V P                  ^ 8X  d&   V P                  '       g   VP                  RR.4       V P                  '       g3   \        P                  ! R4      pV RV 2pVP                  RV.4       RpW23# u up	pi )	NTz-jÚ2ÚBUILDPYTHONÚ z--python>   Ú
PYTHONPATHÚ_PYTHON_PROJECT_BASEÚ_PYTHON_HOST_PLATFORMÚ_PYTHON_SYSCONFIGDATA_NAMEÚ_PYTHON_SYSCONFIGDATA_PATH)ÚPYTHONÚ_PYTHON)r4   r   r+   r,   ro   r‡   Úitemsr2  rd   rb   r  Ú	sysconfigÚget_config_var)r˜   Úregrtest_optsÚkeep_environr‡   Úcross_compileÚ
hostrunnerÚkeepÚold_environrÑ   ÚvalueÚnew_environÚbuildpythonr   s   &&           r7   Ú_add_cross_compile_optsÚ Regrtest._add_cross_compile_optsX  s  € ô ˜DŸO™OÓ,ˆØˆô *Ó+ˆô %Ó&ˆ
çòˆDô Ÿ*™*ˆKä/1¯z©z×/?Ñ/?Ô/AôÙ/A¡ Ø—‘Ð'<×=Ò=ÀÁô �’Ñ/Að ñ ð
 Ô)Ø%�ØˆLçŸZØ×Ñ 1Ô$¨T×-@×-@Ð-@ð ×$Ñ$ d¨C [Ô1ð —?—?�?Ü'×6Ò6°}ÓE�Ø *˜|¨1¨[¨MÐ:�
Ø×$Ñ$ j°*Ð%=Ô>Ø#�àÐ&Ð&ùó/s   Á)!D/ÂD/c                ó  € \         P                  P                  '       g'   \         P                  R 8w  d   VP	                  R4       \         P
                   Uu. uF  pVP                  R4      '       d   K  VNK   	  up'       g   VP                  R4       \         P                  P                  ^8  d   VP	                  R4       V'       g6   \         P                  P                  '       g   VP	                  R4       R# R# R# u upi )Úandroidrþ   z::BytesWarningz-bbz-EN)z-WÚerror)rÂ   ro  Úwrite_throughÚplatformrº   ÚwarnoptionsÚendswithr  ÚflagsÚbytes_warningÚignore_environment)r˜   Úpython_optsr�  Úopts   &&& r7   Ú_add_ci_python_optsÚRegrtest._add_ci_python_optsˆ  sÃ   € ô �z‰z×'×'Ð'¬C¯L©L¸IÔ,EØ×Ñ˜tÔ$ô
 Ÿ?š?ó
Ù*�CØ—<‘<Ð 0×1÷ ˆC™?÷
ð 
ð ×Ñ˜Ô/ô �9‰9×"Ñ" QÔ&Ø×Ñ˜uÔ%çä—9‘9×/×/Ð/Ø×"Ñ" 4Ö(ñ 0ñ ùò
s   ÁDÁ7Dc                ó¤  € \         P                  P                  4        \         P                  P                  4        \        P
                  ! V4      p V^ ,          '       g   \        R4      h\        RV 2RR7       \        \        R4      '       d-   \        '       g!   \        P                  ! V^ ,          V4       R# ^ RIpVP                  WR7      ;_uu_ 4       p VP                  4        RRR4       \         P&                  ! XP*                  4       R#   \         dm     TP                  \         R7        LN  TP"                   d?    TP%                  4        TP                  4        \         P&                  ! \(        4         Lœi ; ii ; i  + '       g   i     L¬; i  \,         d   p\/        R	T: R
T 24        Rp?R# Rp?ii ; i)r   zNo Python executable is presentz+ Trû   ÚexecvN)Úenvrý   z!Failed to change Python options: z

Command: )rÂ   ro  rü   Ústderrr  r¯   rÀ   rÁ   Úhasattrro   r   r©  r  ÚPopenrM   ÚKeyboardInterruptr-   ÚTimeoutExpiredÚkillrÃ   r   r  Ú	Exceptionr*   )r˜   r  r‡   Úcmd_textr  r	  Úexcs   &&&    r7   Ú_execute_pythonÚRegrtest._execute_python¥  sT  € ä�
‰
×ÑÔÜ�
‰
×ÑÔä—:’:˜c“?ˆð	2ð �q—6”6Ü Ð!BÓCÐCä�B�x�j�/¨Õ.Ü”r˜7×#Ò#¯J«JÜ—’˜˜Q� Ö%ó "Ø×%Ñ% cÐ%×7Ô7¸4ð
;ØŸ	™	œ÷ 8ô —’˜Ÿ™Ö)øô -ô ;ð;Ø ŸI™I¬l˜IÖ;øØ)×8Ñ8ô ;Ø ŸI™IœKØ ŸI™IœKÜŸHšHÔ%9×:ð;úð;ú÷ 8×7ûô ô 	2ÜÐ=¸c¹Wð E&Ø&. Zð1÷ 2ò 2ûð	2ús   ÁF' Á#<F' Â F' Ã F' ÃFÃ DÃ0(F' ÄFÄ&D>Ä<FÄ>AF	Æ	FÆ
FÆF	ÆFÆFÆF$	ÆF' Æ'GÆ2G
Ç
Gc                ó   <€ V ^8„  d   QhRR/# r]  r^  )r5   r6   s   "€r7   r8   r9   Ë  s   ø€ ÷ +ñ + $ñ +r:   c                óf  € . p. pV P                  V4      w  r4V P                  '       d   V P                  W4       V'       g   V'       g   Vf   R # \        \        P
                  4      pV'       d   WR&   V'       d   VP                  V4       VP                  R4       V P                  WS4       R # )N:r®   r®   Nz--dont-add-python-opts)	r˜  rY   r¦  r#  rÂ   Ú	orig_argvr  rº   r´  )r˜   r¤  r�  r‡   r�  r  s   &     r7   r3   ÚRegrtest._add_python_optsË  s†   € Ø!#ˆØ#%ˆà $× <Ñ <¸]Ó KÑˆØ�<�<ˆ<Ø×$Ñ$ [Ô?ç§m¸'º/áô ”3—=‘=Ó!ˆßØ"�‰HßØ�J‰J�}Ô%Ø�
‰
Ð+Ô,à×Ñ˜SÖ*r:   c                óV  € \        4        V P                  '       d^   \        P                  P	                  V P                  4      '       g/   \        P                  P                  V P                  4      V n        \        V P                  4       \        V P                  4      V n	        R # r¤   )
r   rv   ro   rp   Úisabsrq   r!   ra   r%   r…   ©r˜   s   &r7   Ú_initÚRegrtest._initá  sd   € ÜŒà××Ð¤r§w¡w§}¡}°T×5HÑ5H×'IÒ'IÜ"$§'¡'§/¡/°$×2EÑ2EÓ"FˆDÔä˜×)Ñ)Ô*ä$ T§]¡]Ó3ˆŽr:   c                ó    <€ V ^8„  d   QhRS[ /# rD  )r   )r5   r6   s   "€r7   r8   r9   ì  s   ø€ ÷ ñ ™ñ r:   c                óL   € V P                   f   \        R4      hV P                   # )Nz4Should never use `.tmp_dir` before calling `.main()`)r…   rÀ   r¼  s   &r7   r°   ÚRegrtest.tmp_dirë  s(   € à�=‰=Ò ÜØFóð ð �}‰}Ðr:   c                ó4   <€ V ^8„  d   QhRS[ R,          RS[/# r¨   )r   r   )r5   r6   s   "€r7   r8   r9   ó  s   ø€ ÷ ñ ™( T�/ð ±Xñ r:   c                ór  € V P                   '       d   V P                  4        V P                  4        V P                  '       d,   \	        V P
                  4       \        P                  ! ^ 4       V P                  '       d   \        R4       \        V P                  4       V P                  V4      w  r!^ pV P                  '       d   V P                  V4       MFV P                  '       d$   \!        VV P"                  V P                  R7       MV P%                  W!4      p\        P                  ! V4       R# )r   zPress any key to continue...)r[   rt   N)rZ   r3   r½  rP   r)   r°   rÂ   rÃ   rN   Úinputr   rt   rÔ   rK   rJ   rL   r   r[   r  )r˜   r©   rÐ   r
  s   &&  r7   ÚmainÚRegrtest.mainó  sÓ   € Ø×$×$Ð$Ø×!Ñ!Ô#à�
‰
Œà××ÐÜ˜TŸ\™\Ô*Ü�HŠH�QŒKà�>�>ˆ>ÜÐ0Ô1ä�t—}‘}Ô%ØŸ/™/¨%Ó0‰ˆàˆØ××ÐØ�O‰O˜HÕ%Ø×!×!Ð!Ü�xØ#'×#3Ñ#3Ø $§¡ö/ð —~‘~ hÓ6ˆHä�Š�Ör:   )5r…   rY   ra   r�   rƒ   r\   rh   rg   ri   rŽ   rF   rj   r]   rz   rr   rv   rG   r[   rx   r—   r–   rd   rl   r�   rA   rB   r�   rŒ   r   r@   rˆ   r†   rE   rb   r•   r“   r_   rt   rm   rC   rD   r|   r?   rZ   rV   rP   rI   rL   rK   rR   rT   rN   re   )F)r  r¤   )"Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rœ   r¥   rÔ   ÚstaticmethodrJ   rå   rô   r  r  rï   r(  rã   rí   râ   rZ  r`  rg  rw  r  r˜  r¦  r´  r3   r½  Úpropertyr°   rÅ  Ú__static_attributes__Ú__classdictcell__)r6   s   @r7   r/   r/   !   s  ø‡ € ñ÷,i9ò i9÷Vò ÷Y(ò Y(ðv ÷ó ð÷ð ÷@,ð ,÷4$ð $÷L	ð 	÷
Dð 
D÷ð ÷$.ð .÷`ð ÷Kð K÷:ð :÷("ð "÷&
ð 
÷89:ð 9:÷v8ð 8ò".'ò`)ò:#2÷L+ð +ò,4ð ÷ó ð÷÷ ð r:   r/   c                ó$   € V ^8„  d   QhR\         /# rD  r   )r5   s   "r7   r8   r8     s   € ÷ Fñ F¼(ñ Fr:   c                ó€   € \        \        P                  R,          3/ VB p\        W1R7      P	                  V R7       R# )zRun the Python suite.:r®   NN)r3   )r©   N)r	   rÂ   Úargvr/   rÅ  )r©   r3   Úkwargsr2   s   &&, r7   rÅ  rÅ    s/   € ä	”S—X‘X˜b•\Ñ	, VÑ	,€BÜˆRÔ3×8Ñ8¸uÐ8ÖEr:   )NF)Aro   r‰   rµ   r  rÂ   r�  r‘   r€   Ú	_colorizer   Útypingr   Útest.supportr   r   r   Úcmdliner	   r
   r   r   r   rG   r   rA   r   r!  r   rE   r   r   rÚ   r   r   Úsetupr   r   r”   r   r   rC   r   r   Úutilsr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r/   rÅ  r^  r:   r7   Ú<module>rÚ     s�   ðÛ 	Û Û 	Û Û 
Û Û Û Ý  Ý ç AÑ Aç +ß AÑ AÝ Ý  Ý ß 6ß +ß 0ß 6ß =÷÷ ÷ ÷ ÷ ñ ÷lñ l÷^Fñ Fr:   