+
    BiSY                     
  a  R< tL0 t ^ 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
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIHt ^ RIHt Rt]t]R,           tRtR=t]R>,           t]t]t ]t!]"] R	3,          t#]$] ,          t%]$]"] ]&3,          ,          t']"] R	3,          t(])] ](3,          t*R
 R lt+R R lt,R?R R llt-R R lt.R@R lt/R R lt0Rs1] ^ k R R lt2R R lt3Rs4] ^k R R lt5R R lt6R t7R t8R?R R  llt9RAR" R# llt:]Pv                  R$ 4       t<R% R& lt=R' R( lt>]?! RB4      t@R)R!/R* R+ lltAR, R- ltBR. R/ ltCR0 R1 ltDR2 R3 ltER4 R5 ltFR6 R7 ltG]	P                  ! R84      tIR9 tJR: R; ltKR# )C    N)CallableIterable)support)	os_helper)threading_helpertest_python_worker_g      ^@.c                0    V ^8  d   QhR\         R\        /# )   secondsreturn)floatstr)formats   "-/usr/lib/python3.14/test/libregrtest/utils.py__annotate__r   <   s      U s     c                    \         P                  ! V R ,          4      p\        VR4      w  r\        V ^<4      w  r \        V^<4      w  r2. pV'       d   VP                  RV,          4       V'       d   VP                  RV,          4       V '       dG   V'       d   VP                  RV ,          4       M%VP                  RWR,          ,           ,          4       V'       g
   RV,          # VR,          pRP	                  V4      # )	g     @@i  z%s hourz%s minz%s secz%.1f secz%s ms:Nr   N )mathceildivmodappendjoin)r   msminuteshourspartss   &    r   format_durationr   <   s    	7S=	!BT"KGgr*GGR(NEEY&'X'(LLG+, LLwd':;<|"IE88E?r   c                L    V ^8  d   QhR\         \        ,          R,          RR/# )r   namesNr   )listr   )r   s   "r   r   r   U   s#     " "49t+ " "r   c                     V '       g   R # \        V 4       F3  w  r\        P                  P                  V4      w  r4VR8X  g   K/  W0V&   K5  	  R # )Nz.py)	enumerateospathsplitext)r!   idxnamebasenameexts   &    r   strip_py_suffixr,   U   s=    u%	((.%<!#J &r   c                V    V ^8  d   QhR\         R\        R\        R,          R\        /# )r   nsingularpluralNr   intr   )r   s   "r   r   r   ^   s,      c S #*  r   c                 2    V ^8X  d   V# Ve   V# VR,           # )   s )r.   r/   r0   s   &&&r   r0   r0   ^   s#    Av		#~r   c                <    V ^8  d   QhR\         R\        R\        /# )r   r.   wordr   r1   )r   s   "r   r   r   g   s!      S   r   c                 .    V ^8X  d   V  RV 2# V  RV R2# )r4   r   r5   r6   )r.   r8   s   &&r   countr:   g   s+    AvAdV}AdV1~r   c           
          R V,          p\        \        P                  ! R P                  R \	        V 4       4       4      VWDR7      VR7       R# )r   c              3   8   "   T F  p\        V4      x  K  	  R # 5iNr   ).0elts   & r   	<genexpr>printlist.<locals>.<genexpr>x   s      ?YcSYs   )initial_indentsubsequent_indent)fileN)printtextwrapfillr   sorted)xwidthindentrE   blankss   &&&& r   	printlistrN   n   s>     6\F	(-- ?VAY ??'-Ir   c                (    V ^8  d   QhR\         RR/# )r   msgr   Nr>   )r   s   "r   r   r   }   s      s t r   c                 2    \         P                  ! V 4       R # r=   )r   print_warning)rP   s   &r   rR   rR   }   s    #r   c                    V ^8  d   QhRR/# r   r   Nr6   )r   s   "r   r   r      s        D  r   c                 b   R \         n        \         P                  ! R4       \        P                  p \         P
                  ! 4        \         P                  P                  \        n        \        V 4       \        P                  P                  4        V\        n        R#   T\        n        i ; i)TzUnraisable exceptionN)	r   environment_alteredrR   sysstderrflush_std_streamsorig_stderrorig_unraisablehookflush)
unraisable
old_stderrs   & r   regrtest_unraisable_hookr_      sm    "&G01J !!#**66
J'


Z
s   A!B! !B.c                    V ^8  d   QhRR/# rT   r6   )r   s   "r   r   r      s     2 2t 2r   c                  D    \         P                  s\        \         n        R # r=   )rW   unraisablehookr[   r_   r6   r   r   setup_unraisable_hookrc      s    ,,1Cr   c                    V ^8  d   QhRR/# rT   r6   )r   s   "r   r   r      s        4  r   c                    R \         n        \         P                  ! RV P                  P                   24       \
        P                  p \         P                  ! 4        \         P                  P                  \
        n        \        V 4       \
        P                  P                  4        V\
        n        R#   T\
        n        i ; i)TzUncaught thread exception: N)r   rV   rR   exc_type__name__rW   rX   rY   rZ   orig_threading_excepthookr\   )argsr^   s   & r   regrtest_threading_excepthookrj      s    "&G78N8N7OPQJ !!#**66
!$'


Z
s   
A!B8 8Cc                    V ^8  d   QhRR/# rT   r6   )r   s   "r   r   r      s     9 9D 9r   c                  <    ^ RI p V P                  s\        V n        R# )r   N)	threading
excepthookrh   rj   )rm   s    r   setup_threading_excepthookro      s     ) 4 48Ir   c                  B	   \         P                  P                  4        F  p \        V R 4      '       g   K  V =K  	  \         P
                  \         P                  \         P                  \         P                  3 F  pVf   K	  VP                  4        K  	   \         P                  R,          pVP                  ! 4         \         P                  R,          pVP                  P                  4         \         P                  R,          pVP                  4         \         P                  R,          pVP                  4         \         P                  R,          pVP!                  4         \         P                  R,          pVP#                  4         \         P                  R,          pVP$                  P                  4         \         P                  R	,          p	V	P'                  4         \         P                  R
,          p
RV
n         \         P                  R,          pVP+                  4         \         P                  R,          pVP,                   F
  pV! 4        K  	  ^ RIp\1        VP2                  VP4                  P                  4       4      pV F2  pVP7                  4       V.,            F  pVP9                  4        K  	  K4  	   \         P                  R,          pVP:                  P=                  4         \         P                  R,          pVP>                  P=                  4        VP@                  P                  4        VPB                  P                  4         \         P                  R,          pVPD                  PF                  P=                  4        R#   \         d     ELi ; i  \         d     ELi ; i  \         d     ELi ; i  \         d     ELi ; i  \         d     ELi ; i  \         d     EL{i ; i  \         d     EL[i ; i  \         d     ELEi ; i  \         d     EL8i ; i  \         d     EL"i ; i  \         d     ELi ; i  \         d     ELxi ; i  \         d     EL$i ; i  \         d     R# i ; i)__warningregistry__Nre	_strptimezurllib.parsezurllib.request	linecache	mimetypesfilecmpstructdoctestctypestyping	fractionsinspectzimportlib.metadata)$rW   modulesvalueshasattrrq   stdoutrX   
__stdout__
__stderr__r\   purgeKeyError_regex_cacheclearclear_cache
urlcleanup
clearcache_default_mime_types_cache_clearcachemaster_reset_cache	_cleanupsr|   filter
isabstract__dict____subclasses___abc_caches_clear_hash_algorithmcache_clear%_shadowed_dict_from_weakref_mro_tuple_filesbymodnamemodulesbyfileFastPath__new__)modstreamrr   rs   urllib_parseurllib_requestrt   ru   rv   rw   rx   ry   rz   fr|   abs_classesabcobjr{   importlib_metadatas                       r   clear_cachesr      s   {{!!#3-..' $ ::szz3>>3>>JLLN K[[ 	
'KK,	 	$$&#{{>2 	  "$%56 	!!#KK,	 	(KK,	 	%%'++i( 	X& 	++i( X& 	(X& !!AC " 	W//1G1G1IJC))+se33%%' 4 0KK,	 	!!--/&++i( 	55AAC%%'##%: [[)=> 	##++779O                            s   N% N7 3O	 O O- +O? P P# -P5 Q 4Q Q+ Q= (R %N43N47OO	OOO*)O*-O<;O<?PPP P #P21P25QQQQQ('Q(+Q:9Q:=RRRRc                  	   \         P                  ! R 4      ;'       g    Rp \         P                  ! R4      ;'       g    RpTR\         P                  ! R4      ;'       g    R,           ,          p\         P                  ! R4      ;'       g    Rp. p\         P                  ! R4      '       dx   \        P                  P                  '       g/   \
        P                  P                  RR4      pV'       d   VR	8H  pMRpR
pVe   V R\        V4       2pVP                  V4       \        \        R4      '       d+   VP                  R4       RV9   d   VP                  R4       MBVP                  R4       RV 9   d   VP                  R4       MRV9  d   VP                  R4       \        P                  P                  4       '       dH   \        P                  P                  4       '       d   VP                  R4       MVP                  R4       \         P                  ! R4      pV'       d   VP                  RV 24       \        \         P                  ! R4      ;'       g    R4      pV'       d   VP                  R4       . pRV9   d   VP                  R4       MRV9   d   VP                  R4       \        P                  ! 4       '       d   VP                  R4       \        P                   ! 4       '       d   VP                  R4       V'       d!   VP                  R P#                  V4      4       . p	\        P$                  ! R!R"7      '       d   V	P                  R#4       \        P$                  ! R!R$7      '       d   V	P                  R%4       \        P$                  ! R!R&7      '       d   V	P                  R'4       \        P$                  ! R!R(7      '       d   V	P                  R)4       V	'       d!   VP                  R P#                  V	4      4       \        \        R*4      '       d   VP                  R+4       \        \        R,4      '       d   VP                  R-4       \         P                  ! R.4      '       d   VP                  R/4       \         P                  ! R04      '       d   VP                  R14       V# )2CONFIG_ARGS 	PY_CFLAGSr   PY_CFLAGS_NODISTPY_LDFLAGS_NODISTPy_GIL_DISABLED
PYTHON_GILN1free_threadingz GIL=gettotalrefcountdebugz-DNDEBUGwithout_assertreleasez--with-assertionswith_assertJITzJIT (disabled)PYTHONFRAMEWORKz
framework=PY_ENABLE_SHARED0sharedz
-flto=thinThinLTOz-fltoLTOPGOBOLT+TaddressASANmemoryMSANubUBSANthreadTSAN
getobjects	TraceRefs	_stats_onpystatsWITH_VALGRINDvalgrindWITH_DTRACEdtrace)	sysconfigget_config_varrW   flagsignore_environmentr%   environgetr2   r   r   _jitis_available
is_enabledr   check_cflags_pgocheck_bolt_optimizedr   check_sanitizer)
config_argscflagsldflags_nodistbuildr   r   	frameworkr   optimizations
sanitizerss
             r   get_build_infor   *  s}    **=9??RK%%k288bF
cY--.@AGGRHHF--.ABHHbNE  122yy+++d;J(C/
J)! ./uS_4EFN^$s&''WLL)*Y+-LL'v%LL' xx88  LLLL)* (():;Iz)-. ))*<=DDEFX M~%Y'	N	"U#!!U###%%V$SXXm,- Jt,,&!d++&!$'''"d++&!SXXj)* sL!![!sK  Y00Z ..XLr   c                >    V ^8  d   QhR\         R,          R\         /# )r   tmp_dirNr   StrPath)r   s   "r   r   r     s     )$ )$'D. )$G )$r   c                    V '       d"   \         P                  P                  V 4      p EM0\        P                  ! 4       '       Ed    \
        P                  '       g   \        P                  ! R 4      p V fH   \        P                  ! R4      p V '       g*   \        P                  ! R4      p V '       g   \        R4      h\         P                  P                  V R4      p M|\        P                  ! R4      p V '       g   \        RV : R24      h\         P                  P                  V R4      p \         P                  ! V RR	7       M\        P                  ! 4       p \         P                  P                  V 4      # )
abs_builddir
abs_srcdirsrcdirz1Could not determine the correct value for tmp_dirr   projectbasez>sysconfig.get_config_var('projectbase') unexpectedly returned z on WASIT)exist_ok)r%   r&   
expanduserr   is_python_buildr   is_wasir   RuntimeErrorr   makedirstempfile
gettempdirabspath)r   s   &r   get_temp_dirr     s   ''$$W-
 $$&&???#22>B?'66|DG"
 #,":":8"D&". S#  '',,w8 $22=A&1188E  '',,w8 Gd3))+G77??7##r   Fc                <    V ^8  d   QhR\         R\        R\         /# )r   
parent_dirworkerr   )r   bool)r   s   "r   r   r     s!      W d w r   c                    \         P                  '       g   \         P                  '       d   \        P                  ! ^ R4      pM\
        P                  ! 4       pV'       d   \        \        V4      ,           pM\        \        V4      ,           pV\        P                  ,          p\
        P                  P                  W4      pV# )r   i@B )r   is_emscriptenr   randomrandintr%   getpidWORK_DIR_PREFIXr   WORKER_WORK_DIR_PREFIXr   FS_NONASCIIr&   r   )r   r   nouncework_dirs   &&  r   get_work_dirr    sy     9-"S[0)CK7	%%%Hww||J1HOr   c               #      "    R x  R #   \          d^   p \        P                  '       d   \        P                  ! \
        RR7       \        P                  ! T P                  4        R p ? R # R p ? ii ; i5i)NT)exit)	
SystemExitr   can_start_threadfaulthandlerdump_traceback_laterEXIT_TIMEOUTrW   r
  code)excs    r   exit_timeoutr    sM       ,,,--lFs+   A5
 A5A2AA-'A5-A22A5c                4    V ^8  d   QhR\         R\        RR/# )r   	test_nameverboser   N)TestNamer2   )r   s   "r   r   r     s!     "< "<X "< "< "<r   c           
         \         P                  p\        P                  P	                  V4      '       g   R # \        P                  P                  V4      '       d   ^ R IpRVP                  rTMG\        P                  P                  V4      '       d   R\        P                  rTM\        RV: R24      hV'       d    \        V  RV RV: 24       R\        n         ^ R Ip\        P                  ! W&P                   VP"                  ,          VP$                  ,          4       V! V4       R #   \&         d#   p\        T  RT RT: RT 24        R p?R # R p?ii ; i)	N	directoryrE   zos.path says z) exists but is neither directory nor filez left behind r   Tz and it couldn't be removed: )r   TESTFNr%   r&   existsisdirshutilrmtreeisfileunlinkr   rR   r   rV   statchmodS_IRWXUS_IRWXGS_IRWXO	Exception)r  r  r)   r  kindnukerr   r  s   &&      r   remove_testfnr(    s    D77>>$ 
ww}}T!6==e			biie]4( 30 1 2 	2 =ax@A&*#<
||dll2T\\ABd <=ax @558E; 	< 	<<s   AD. .E9EEc                J    V ^8  d   QhR\         R\        R,          R\         /# )r   r  test_dirNr   )r  r   )r   s   "r   r   r     s%     # #x #7T> #h #r   c                 V    V P                  R 4      '       g	   V'       d   V # R V ,           # )ztest.)
startswith)r  r*  s   &&r   abs_module_namer-    s(    G$$ ""r   is_errorc                J    V ^8  d   QhR\         R\        R\         R,          /# )r   test_full_namer.  r   N)r   r   )r   s   "r   r   r     s'       "&36:r   c                   V P                  R 4      ^ ,          pV'       dh   V\        9   d]   V P                  R4      '       d   R# V P                  R4      pV P                  R4      pW^,           V P                  R4      R,          # V# )r   N().)zsetUpModule (ztearDownModule ()split_TEST_LIFECYCLE_HOOKSr,  index)r0  r.  
short_namelparrpars   &$   r   normalize_test_namer<    s    %%c*1-JJ"77$$%JKK  ##C(##C(Qh-33C8<<r   c                    V ^8  d   QhRR/# rT   r6   )r   s   "r   r   r   +  s     5 5d 5r   c            
      n    ^ RI p T P                  T P                  4      w  rRpY8  dE   Y8  d=   \	        Y24      p T P                  T P                  YB34       \        RT RT 24       R# R# R#   \         d     R# i ; i  \        \        3 d!   p\        RT RT RT R24        Rp?R# Rp?ii ; i)	r   Ni   zRaised RLIMIT_NOFILE: z -> z#Unable to raise RLIMIT_NOFILE from z to z: r4  )
resourceImportError	getrlimitRLIMIT_NOFILEmin	setrlimitrF   
ValueErrorOSErrorrR   )r?  fd_limitmax_fdsdesired_fdsnew_fd_limiterrs         r   adjust_rlimit_nofilerL  +  s     !**8+A+ABHK("4;0	5x55 ,68*8*DGH #5   G$ 	5?z)N"SE4 5 5	5s(   A1 .B 1B ?B B4B//B4c                $    V ^8  d   QhR\         /# r   r   r>   )r   s   "r   r   r   E  s       r   c                  x    \         P                  P                  R 4      ;p f   \        P                  ! R4      p V # )_PYTHON_HOSTRUNNER
HOSTRUNNER)r%   r   r   r   r   )
hostrunners    r   get_host_runnerrS  E  s1    jjnn%9::
C--l;
r   c                $    V ^8  d   QhR\         /# rN  )r   )r   s   "r   r   r   K  s     3 34 3r   c                  (    R \         P                  9   # )_PYTHON_HOST_PLATFORM)r%   r   r6   r   r   is_cross_compiledrW  K  s    #rzz12r   c                F    V ^8  d   QhR\         \        ,          R\        /# )r   use_resourcesr   )r   r   )r   s   "r   r   r   O  s      HSM c r   c                    \        V 4      p \        \        4      pR .p\        W,
          4       F  pVP                  RV 24       K  	  \        W,
          4       F  pVP                  V 4       K  	  RP	                  V4      pRV 2pRP	                  \        V 4      4      pR\        V 4       RV 2p\        V4      \        V4      8:  d   V# V# )all-,zresources: zresources (z): )setALL_RESOURCESrI   r   r   len)rY  all_resourcesrelative_allr)   all_texttexts   &     r   format_resourcesre  O  s    &M&M 7L}45avJ' 6}45tf& 6xx%HXJ'H 88F=)*D]+,Cv6D 8}D	!r   c                v    V ^8  d   QhR\         \        R3,          R\         \        R3,          R,          RR/# )r   rY  .
python_cmdNr   )tupler   )r   s   "r   r   r   g  s=     L L%S/ L$S#X5L:>Lr   c                    \        R \        P                  ! 4       .\        P                  P                  4       O5!   \        R \        P                  ! RR7      R\        P                  ,          4       \        RRP                  \        4       4      4       \        R\        P                  ! 4       4       \        P                  ! 4       pV'       d8   \        P                  ! 4       pV'       d   W28w  d	   V RV R2p\        R	V4       \        R
\        P                  ! 4       : R\        P                  ! 4       : 24       V '       d   \!        V 4      p\        RV 24       M\        R4       \#        4       pV'       d   \        R4       V'       d   \$        P                  ! V4      p\        RV 24       . VORNRNp\&        P(                  ! V\&        P*                  R\,        P.                  R7      pVP0                  P3                  RR4      P5                  4       p	V	'       d   \        RV	 24       MLVP6                  '       d   \        RVP6                   R24       M \9        4       p
V
'       d   \        RV
 24       \:        P<                  ! RR7      p\:        P<                  ! RR7      p\:        P<                  ! RR7      p\:        P<                  ! RR7      p. pV'       d   VP?                  R4       V'       d   VP?                  R4       V'       d   VP?                  R4       V'       d   VP?                  R4       V'       dw   \        R R!P                  V4       24       VR"3VR#3VR$3VR%33 FG  w  pp\        P@                  PC                  V4      pV'       g   K/  Vf   K5  \        RV R'V: 24       KI  	  \        RR(7       R&# ))z==T)aliasedz	%s-endianz== Python build:r   z== cwd:z (process) / z	 (system)z== CPU count:z== encodings: locale=z FS=z== zL== resources: all test resources are disabled, use -u option to unskip testsz== cross compiled: Yesz== host python: z-mplatform)r   rd  cwd
z== host platform: z1== host platform: <command failed with exit code >z== host runner: r   r   r   r   r   r   zundefined behaviorr   z== sanitizers: z, ASAN_OPTIONSMSAN_OPTIONSUBSAN_OPTIONSTSAN_OPTIONSN=)r\   )"rF   rk  python_implementationrW   versionr6  	byteorderr   r   r%   getcwd	cpu_countprocess_cpu_countlocalegetencodinggetfilesystemencodingre  rW  shlex
subprocessrunPIPEr   SAVEDCWDr   replacestrip
returncoderS  r   r   r   r   r   )rY  rg  rx  ry  rd  cross_compilecmdget_cmdprocr   rR  asanmsanubsantsanr   	sanitizerenv_varoptionss   &&                 r   display_headerr  g  s    
$..0G3;;3D3D3FG	$!!$/-/	
chh~'789	)RYY[!I002!2!?,-]9+YOIoy)	!3#<#<#>@ A .D6l . 	/ &'M&'jj$ &'1J11j1~~??""	$
 $$T3/557&vh/0___EdooEVVWXY$&
$ZL12 ""40D""$/D##t,E""$/DJ)$(#./(#		* 5678>">"O$>"	#
Iw ZZ^^G,GyW0G9Ag[12#
 
r   c                (    V ^8  d   QhR\         RR/# )r   r   r   Nr   )r   s   "r   r   r     s     # #g #$ #r   c                    ^ RI p\        P                  P                  VP	                  V 4      \
        R,           4      p\        RV ,          4       VP                  V4       Fz  p\        P                  P                  V4      '       d+   \        RV,          4       \        P                  ! V4       KR  \        RV,          4       \        P                  ! V4       K|  	  R# )r   N*zCleanup %s directoryzRemove directory: %szRemove file: %s)globr%   r&   r   escape
TMP_PREFIXrF   r  r   r  r  )r   r  r&   r)   s   &   r   cleanup_temp_dirr    s    77<<G,j3.>?D	
 7
*+		$77==(4/0T"#d*+T"  r   u   [ ---￾￿]+c                 D    V ^ ,          pRP                  R V 4       4      # )r   r   c              3   j   "   T F)  pVR 8:  d   R\        V4      R 2M\        V4      ^R x  K+  	  R# 5i)   ÿz\x02xNr5  )ordascii)r?   chs   & r   rA   (_sanitize_xml_replace.<locals>.<genexpr>  s9      #!r +-,SR&E"IaOK!s   13)r   )regsrd  s   & r   _sanitize_xml_replacer    s)    7D77 #!# # #r   c                0    V ^8  d   QhR\         R\         /# )r   rd  r   r>   )r   s   "r   r   r     s     A As As Ar   c                 6    \         P                  \        V 4      # r=   )ILLEGAL_XML_CHARS_REsubr  )rd  s   &r   sanitize_xmlr    s    ##$94@@r   c                    V ^8  d   Qh/ ^ \         9   d   \        R,          R,          ;R&   ^\         9   d   \        R,          R,          ;R&   # )r   Nr[   rh   ).N)__conditional_annotations__r   )r   s   "r   r   r      sD      @ 7 6Xi(4/ 6A p = <8I.5 <q r   )audioconsolecurses	largefilenetworkdecimalcpur~  urlfetchguiwalltime)extralargefiletzdatar=   )F      N)F)
setUpClasstearDownClasssetUpModuletearDownModule)Mr  
contextlibr  rz  r   os.pathr%   rk  r   rr   r}  r~  rW   r   r   rG   collections.abcr   r   testr   test.supportr   r   r  r  r  r  r_  RESOURCE_NAMESr   r   r  StrJSONrh  	TestTupler"   TestListr   
TestFilterFilterTupledict
FilterDictr   r,   r0   r:   rN   rR   r[   r_   rc   rh   rj   ro   r   r   r   r  contextmanagerr  r(  r-  	frozensetr7  r<  rL  rS  rW  re  r  r  compiler  r  r  r   )r  s   @r   <module>r     s           	   
    .  " )
 
(94 
 P !== 
(C- 	> %$'(
HcM"(K'(
2" 37  6 2 9=  < 9u:pgT)$X(  "<J# " #  
).,5430L^# zz		

 #
Ar   