+
    BiZ                       ^ 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t^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt  ^ RIHt ^ RI!t!^ RIt^ RI"t"R t#Rt$ ! R R]PJ                  4      t& ! R R]PJ                  4      t' ! R R]PJ                  4      t( ! R R]PJ                  4      t)]P&                  PT                   ! R R]PJ                  4      4       t+]P&                  PT                   ! R R]PJ                  4      4       t,]P&                  PZ                  ]P&                  PT                   ! R R]PJ                  4      4       4       t. ! R R]PJ                  4      t/]0R8X  d   ]Pb                  ! 4        R# R#   ]  d    Rt ELEi ; i)     N)StringIO)mock)support)	os_helper)assert_python_okassert_python_failure)find_unused_port)threading_helper)import_helper)force_not_colorized)SHORT_TIMEOUT)interpretersc                 H    \         P                  ! \        R J R4      ! V 4      # )Nzsubinterpreters required)unittestskipIfr   )meths   &$/usr/lib/python3.14/test/test_sys.pyrequires_subinterpretersr   #   s%    ??<4/577;= =    n2BI2nc                   8   a  ] tR t^+t o R tR tR tR tRtV t	R# )DisplayHookTestc                   \         P                  p\        P                  ! 4       ;_uu_ 4       pV! ^*4       RRR4       V P	                  XP                  4       R4       V P	                  \        P                  ^*4       \        =\        P                  ! 4       ;_uu_ 4       pV! R4       RRR4       V P	                  VP                  4       R4       V P                  \        R4       V P                  \        V4       \         P                  p \         =V P                  \        V^*4       V\         n        R#   + '       g   i     EL; i  + '       g   i     L; i  T\         n        i ; i)*   Nz42
 _)sys__displayhook__r   captured_stdoutassertEqualgetvaluebuiltinsr   assertNotHasAttrassertRaises	TypeErrorstdoutRuntimeError)selfdhoutr&   s   &   r   test_original_displayhook)DisplayHookTest.test_original_displayhook-   s      $$&&#rF ' 	0R(J$$&&#tH ' 	,h, 	)R(	 
lB3CJ- '&& '&  CJs#   	D:"	EE! :E	E	!E.c                    \         P                  p \         =\        R RR4      pV P                  \        \
        V4       V\         n        R#   T\         n        i ; i)42<string>singleN)r   displayhookcompiler$   r'   eval)r(   r1   codes   &  r   test_lost_displayhook%DisplayHookTest.test_lost_displayhookH   sD    oo	*4X6DlD$7)COkCOs   .A Ac                    R  p\         P                  ! \        RV4      ;_uu_ 4        \        RRR4      pV P	                  \
        \        V4       RRR4       R#   + '       g   i     R# ; i)c                     \         hN
ValueError)objs   &r   baddisplayhook?DisplayHookTest.test_custom_displayhook.<locals>.baddisplayhookR       r   r1   r.   r/   r0   N)r   	swap_attrr   r2   r$   r;   r3   )r(   r=   r4   s   &  r   test_custom_displayhook'DisplayHookTest.test_custom_displayhookQ   sN    	 sM>BB4X6Dj$5 CBBBs   )AA,	c                    ! R  R4      p\         P                  ! \        RR4      ;_uu_ 4        \        P                  ! 4       \        n        \        P                  ! V! 4       4       RRR4       R#   + '       g   i     R# ; i)c                   &   a  ] tR t^Zt o R tRtV tR# )(DisplayHookTest.test_gh130163.<locals>.Xc                l    \         P                  ! 4       \        n        \        P
                  ! 4        R # )foo)ior   r   r&   r   
gc_collectr(   s   &r   __repr__1DisplayHookTest.test_gh130163.<locals>.X.__repr__[   s    [[]
""$r    N)__name__
__module____qualname____firstlineno__rK   __static_attributes____classdictcell____classdict__s   @r   XrE   Z   s      r   rV   r&   N)r   r@   r   rH   r   r&   r1   )r(   rV   s   & r   test_gh130163DisplayHookTest.test_gh130163Y   sM    	 	 sHd33CJOOAC  4333s   :A33B	rM   N)
rN   rO   rP   rQ   r+   r5   rA   rW   rR   rS   rT   s   @r   r   r   +   s      6*6	! 	!r   r   c                   D   a  ] tR t^et o R tR tR tR tR tR t	Rt
V tR# )	ActiveExceptionTestsc                P    V P                  \        P                  ! 4       R4       R # )N)NNN)r    r   exc_inforJ   s   &r   test_exc_info_no_exception/ActiveExceptionTests.test_exc_info_no_exceptionf   s    );<r   c                P    V P                  \        P                  ! 4       R 4       R # r9   )r    r   	exceptionrJ   s   &r   test_sys_exception_no_exception4ActiveExceptionTests.test_sys_exception_no_exceptioni   s    $/r   c                X   R  p V! 4        V P                  X\        4       V P                  X^ ,          \        4       V P                  V^,          V4       V P                  V^,          VP                  4       R#   \          d"   pTp\        P                  ! 4       p Rp?LRp?ii ; i)c                      \        ^*4      hr   r:   rM   r   r   fEActiveExceptionTests.test_exc_info_with_exception_instance.<locals>.fm       R. r   N	Exceptionr   r\   assertIsInstancer;   assertIs__traceback__r(   rf   e_er\   s   &    r   %test_exc_info_with_exception_instance:ActiveExceptionTests.test_exc_info_with_exception_instancel   s    	!	&C
 	a,hqk:.hqk1%hqk1??3  	&A||~H	&   A= =B)B$$B)c                X   R  p V! 4        V P                  X\        4       V P                  X^ ,          \        4       V P                  V^,          V4       V P                  V^,          VP                  4       R#   \          d"   pTp\        P                  ! 4       p Rp?LRp?ii ; i)c                      \         hr9   r:   rM   r   r   rf   AActiveExceptionTests.test_exc_info_with_exception_type.<locals>.f|   r?   r   Nri   rn   s   &    r   !test_exc_info_with_exception_type6ActiveExceptionTests.test_exc_info_with_exception_type{   s    		&C
 	a,hqk:.hqk1%hqk1??3  	&A||~H	&rs   c                    R  p V! 4        V P                  X\        4       V P                  XV4       R#   \          d"   pTp\        P                  ! 4       p Rp?LQRp?ii ; i)c                      \        ^*4      hre   r:   rM   r   r   rf   JActiveExceptionTests.test_sys_exception_with_exception_instance.<locals>.f   rh   r   Nrj   r   r`   rk   r;   rl   r(   rf   ro   rp   excs   &    r   *test_sys_exception_with_exception_instance?ActiveExceptionTests.test_sys_exception_with_exception_instance   sS    	!	"C
 	a,c1  	"A--/C	"   6 A"AA"c                    R  p V! 4        V P                  X\        4       V P                  XV4       R#   \          d"   pTp\        P                  ! 4       p Rp?LQRp?ii ; i)c                      \         hr9   r:   rM   r   r   rf   FActiveExceptionTests.test_sys_exception_with_exception_type.<locals>.f   r?   r   Nr|   r}   s   &    r   &test_sys_exception_with_exception_type;ActiveExceptionTests.test_sys_exception_with_exception_type   sS    		"C
 	a,c1  	"A--/C	"r   rM   N)rN   rO   rP   rQ   r]   ra   rq   rw   r   r   rR   rS   rT   s   @r   rZ   rZ   e   s(     =044 r   rZ   c                   F   a  ] tR t^t o ]R 4       t]R 4       tR tRtV t	R# )ExceptHookTestc                    \        ^*4      h  \          do   p\        P                  ! 4       ;_uu_ 4       p\        P                  ! \        P
                  ! 4       !   RRR4        Rp?M  + '       g   i      Rp?M; iRp?ii ; iT P                  XP                  4       R4       T P                  \        \        P                  4       R# )r   NzValueError: 42
)
r;   r   captured_stderrr   __excepthook__r\   assertEndsWithr!   r$   r%   r(   r~   errs   &  r   test_original_excepthook'ExceptHookTest.test_original_excepthook   s    	4R.  	4((**c""CLLN3 +****	4 	CLLN,>?)S%7%78s1    BB(A*B*A>5B>BBc           
     N   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4        \	        RR4      h  \         do   p\
        P                  ! 4       ;_uu_ 4       p\        P                  ! \        P                  ! 4       !   RRR4        Rp?M  + '       g   i      Rp?M; iRp?ii ; iRRR4       M  + '       g   i     M; iXP                  4       pT P                  RT4       T P                  RT4       T P                  TR4       R# )ignoremsgNz%  File "b'bytes_filename'", line 123
z	    text
zSyntaxError: msg
)s   bytes_filename{   r   text)warningscatch_warningssimplefilterBytesWarningSyntaxErrorr   r   r   r   r\   r!   assertInr   r   s   &  r   test_excepthook_bytes_filename-ExceptHookTest.test_excepthook_bytes_filename   s     $$&&!!(L98!%)LMM 8,,..#&&7 /....8 '&&& llnBCH&,C!56sR   CAC B;/(B$B;C$B8/B;3C8B;;C  CC	c           	        \         P                  P                  R 4      ;_uu_ 4       p\         P                  P                  4       ;_uu_ 4        \        P
                  ! ^R^4       RRR4       RRR4       V P                  RXP                  4       9   4       R#   + '       g   i     L<; i  + '       g   i     LG; i)stderr1NzETypeError: print_exception(): Exception expected for value, str found)testr   captured_outputcatch_unraisable_exceptionr   
excepthook
assertTruer!   )r(   r   s   & r   test_excepthookExceptHookTest.test_excepthook   s|    \\))(33v88::q#q) ; 4 	 ,/5/@A 	B ;: 43s#   'B/B	(B/B,'B//B?	rM   N)
rN   rO   rP   rQ   r   r   r   r   rR   rS   rT   s   @r   r   r      s7     	9 	9 7 7"B Br   r   c                     a  ] tR t^t o R tR t]P                  ! 4       R 4       tR t	R t
R tR tR t]P                  P                  R	 4       tR
 tR t]P(                  ! ]! ]R4      R4      R 4       t]P                  P0                  R 4       tR tR t]P:                  ]P<                  ! 4       R 4       4       t]P:                  ]P<                  ! 4       R 4       4       t R t!R t"]P(                  ! ]PF                  R4      R 4       t$R t%R t&]P                  ]'R 4       4       t(]P                  ]'R 4       4       t)]P                  ]'R 4       4       t*R t+R t,R t-R  t.R! t/]P                  P                  R" 4       t0]1]P                  ! 4       R# 4       4       t2]P(                  ! ]3Ph                  R$4      ]P(                  ! ]Pj                  ! 4       ]6Pn                  ! R%4      8H  R&4      ]P                  ! 4       R' 4       4       4       t8]Pr                  ! ]Pt                  ]Pv                  8g  R(4      ]P                  ! 4       R) 4       4       t<ROR+ lt=R, t>RPR- lt?R. t@]P                  ! 4       R/ 4       tA]P                  ! 4       R0 4       tBR1 tC]P                  P                  R2 4       tD]P(                  ! ]! ]R34      R44      R5 4       tER6 tFR7 tGR8 tHR9 tI]P(                  ! ]P                  R:8H  R;4      R< 4       tK]1]P                  ! 4       R= 4       4       tLR> tM]P(                  ! ]! ]R?4      R@4      RA 4       tN]P                  ! 4       RB 4       tORC tPRD tQ]P(                  ! ]! ]RE4      RF4      RG 4       tR]P(                  ! ]! ]RH4      RI4      RJ 4       tS]P                  P                  ]P(                  ! ]! ]RK4      RL4      RM 4       4       tTRNtUV tVR*# )QSysModuleTestc                B    \         P                  P                  4        R # r9   r   r   reap_childrenrJ   s   &r   tearDownSysModuleTest.tearDown       ""$r   c                X  a  S P                  \        \        P                  ^*^*4       S P                  \        4      ;_uu_ 4       p\        P                  ! 4        RRR4       S P                  XP                  P                  4       \        RR4      w  r#pS P                  V^ 4       S P                  VR4       S P                  VR4       \        RR4      w  r#pS P                  VR4       S P                  VR4       S P                  VR4       \        RR4      w  r#pS P                  VR4       S P                  VR4       S P                  VR4       S P                  \        4      ;_uu_ 4       p\        P                  ! ^*4       RRR4       S P                  VP                  P                  ^*4       S P                  \        4      ;_uu_ 4       p\        P                  ! R4       RRR4       S P                  VP                  P                  ^*4       S P                  \        4      ;_uu_ 4       p\        P                  ! R4       RRR4       S P                  VP                  P                  R4       S P                  \        4      ;_uu_ 4       p\        P                  ! R4       RRR4       S P                  VP                  P                  R4       \        RR4      w  r#pS P                  V^/4       S P                  VR4       S P                  VR4       V 3R	 lpV! R
R4       V! RR4       V! RRRR7       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL?; i  + '       g   i     L; i)r   N-czimport sys; sys.exit()r   z!import sys; sys.exit(0xffff_ffff)zimport sys; sys.exit(2**128)exitzraise SystemExit(47)c                    < \        R V 3/ VB w  r4pSP                  V^4       SP                  VR4       SP                  WQ4       R# )r   r   N)r   r    assertStartsWith)r4   expectedenv_varsrcr*   r   r(   s   &&,   r   check_exit_message3SysModuleTest.test_exit.<locals>.check_exit_message  sF    0tHxHLBSR#S#&!!#0r   z?import sys; sys.stderr.write("unflushed,"); sys.exit("message")s   unflushed,messagez)import sys; sys.exit("surrogates:\uDCFF")s   surrogates:\udcffzimport sys; sys.exit("h\xe9")s   hzlatin-1)PYTHONIOENCODING)   l    re   )      )r$   r%   r   r   
SystemExitassertIsNoner`   r4   r   r    r   r   )r(   cmr   r*   r   r   s   f     r   	test_exitSysModuleTest.test_exit   s   )SXXr26 z**bHHJ +",,++,'.FGQc"c" -T3VWb12c"c" -T3QRb12c"c" z**bHHRL +**B/ z**bHHUO +**B/ z**bHHV +**F3 z**bHHX +**H5 -T3IJR c"c"	1 	N 	" 	8!	# 	,y	2M +**0 +** +**
 +**
 +*s<   M	4MM18NN	M	M.	1N	N	N)	c                   ^ RI p. ROpV F  pR F  pV P                  W4R7      ;_uu_ 4        VP                  R4      ;_uu_ 4       pVP                  V RV R24       VP	                  ^ 4       \
        P                  ! \        P                  .VR7      pV P                  VP                  V4       RRR4       RRR4       K  	  K  	  R#   + '       g   i     L"; i  + '       g   i     K  ; i)	r   N)exitfuncreturn_codezw+(z)
)stdin)r   z__import__('sys').exitzraise SystemExit)r   r   )tempfilesubTestTemporaryFilewriteseek
subprocessrunr   
executabler    
returncode)r(   r   	exit_waysr   r   r   procs   &      r   test_exit_codes_under_repl(SysModuleTest.test_exit_codes_under_repl$  s     	
	 "H'\\8\MM!//55xj+c$BC

1)~~s~~.>eL((+F	 6 NM  ( " 65 NMMs$   C 	A,C3C 	CC 	 C1c                    V P                  \        \        P                  ^*4       V P	                  \        P                  ! 4       \
        4       R# )r   N)r$   r%   r   getdefaultencodingrk   strrJ   s   &r   test_getdefaultencoding%SysModuleTest.test_getdefaultencoding9  s3    )S%;%;R@c446<r   c                t   V P                  \        \        P                  4       V P                  \        \        P                  R 4       V P                  \        \        P                  R4       V P                  \        \        P                  R4       \        P
                  ! 4       pV P                  VR8  V4        RRRV3 F>  p\        P                  ! V4       V P                  \        P
                  ! 4       V4       K@  	  \        P                  ! V4       R#   \        P                  ! T4       i ; i)ag        g      ?gh㈵>g?g      @Ng      )r$   r%   r   setswitchintervalr;   getswitchintervalr   assertAlmostEqual)r(   origns   &  r   test_switchinterval!SysModuleTest.test_switchintervalA  s    )S%:%:;)S%:%:C@*c&;&;TB*c&;&;SA$$&s
D)	(dC-%%a(&&s'<'<'>B . !!$'C!!$'s   ?AD D7c                    \         P                  ! 4       pV P                  V\        4       V P	                  V^4       V P                  \        \         P                  ^*4       R#    N)r   getrecursionlimitrk   intassertGreaterr$   r%   )r(   limits   & r   test_getrecursionlimit$SysModuleTest.test_getrecursionlimitP  sH    %%'eS)5!$)S%:%:B?r   c                   \         P                  ! 4       p \         P                  ! R 4       V P                  \         P                  ! 4       R 4       V P	                  \
        \         P                  4       V P	                  \        \         P                  R4       \         P                  ! V4       R#   \         P                  ! T4       i ; i)i'  Ni)r   r   setrecursionlimitr    r$   r%   r;   )r(   	old_limits   & r   test_setrecursionlimit$SysModuleTest.test_setrecursionlimitW  s    ))+		-!!&)S224f=i)>)>?j#*?*?E!!),C!!),s   BB3 3Cc                  a \        \        R 4      '       d-   \        P                  ! 4       '       d   V P                  R4       \        P                  ! 4       pV3R lo R Ft  p \        P
                  ! V4       T P                  \        4      ;_uu_ 4        S! 4        RRR4       T P                  \        4      ;_uu_ 4        S! 4        RRR4       Kv  	  \        P
                  ! V4       R#   \         d     K  i ; i  + '       g   i     Lk; i  + '       g   i     K  ; i  \        P
                  ! T4       i ; i)gettracez(fatal error if run with a trace functionc                     < S ! 4        R # r9   rM   )rf   s   r   rf   5SysModuleTest.test_recursionlimit_recovery.<locals>.fg  s    Cr   N)2   K   d        )hasattrr   r   skipTestr   r   RecursionErrorr$   )r(   r   depthrf   s   &  @r   test_recursionlimit_recovery*SysModuleTest.test_recursionlimit_recoveryb  s    3
##MMDE))+			-1))%0 &&~66C 7&&~66C 76 2 !!), &   76666 !!),s`    D+ &C2<D+ D!%D+ DD+ 2D=D+  DD+ DD+ D("	D+ +Ec           	        \         P                  ! 4       p \        P                  ! 4       pV P	                  \         P                  ! 4       VR 7      ;_uu_ 4        \         P
                  ! V^,           4       \         P
                  ! V4       V P                  \        4      ;_uu_ 4       p\         P
                  ! V4       RRR4       RRR4       V P                  \        XP                  4      R4       \         P
                  ! V4       R#   + '       g   i     LU; i  + '       g   i     L`; i  \         P
                  ! T4       i ; i))r   r   Nz\cannot set the recursion limit to [0-9]+ at the recursion depth [0-9]+: the limit is too low)r   r   r   get_recursion_depthr   r   r$   r   assertRegexr   r`   )r(   r   r   r   s   &   r   test_setrecursionlimit_to_depth-SysModuleTest.test_setrecursionlimit_to_depth{  s    
 ))+		-//1EC$9$9$;5II%%eai0 %%i0&&~66"))%0 7 J S.45
 !!), 76 JI !!),s=   AD5 AD"+D	D"
-D5 DD""D2	-D5 5Ec                   \         P                  P                  \        R 4       \        P                  ! 4       pV P                  \        V4      ^4       V P                  V^ ,          \        4       V P                  V^,          \        4       V P                  V^,          \        4       V P                  V^,          \        4       V P                  V^,          \        4       V P                  \        \        P                  V^4       V P                  VP                  \        4       V P                  VP                  \        4       V P                  VP                   \        4       V P                  VP"                  \        4       V P                  VP$                  \        4       V P                  VP&                  \        4       V P                  VP(                  \        4       V P                  VP*                  \        4       V P                  VP,                  \        4       V P                  V^ ,          VP                  4       V P                  V^,          VP                  4       V P                  V^,          VP                   4       V P                  V^,          VP"                  4       V P                  V^,          VP$                  4       \        P                  ! 4       w  r#rEpR# getwindowsversionN)r   r   get_attributer   r  r    lenrk   r   r   r$   
IndexErroroperatorgetitemmajorminorbuildplatformservice_packservice_pack_minorservice_pack_major
suite_maskproduct_type)r(   vmajminbuildnoplatcsds   &      r   test_getwindowsversion$SysModuleTest.test_getwindowsversion  s   ""3(;<!!#Q#adC(adC(adC(adC(adC(*h&6&61=aggs+aggs+aggs+ajj#.annc2a22C8a22C8allC0annc21qww'1qww'1qww'1qzz*1q~~. (+'<'<'>$'r   c                Z    V P                  \        \        P                  \        ^4       R# )   N)r$   r%   r   call_tracingtyperJ   s   &r   test_call_tracingSysModuleTest.test_call_tracing  s    )S%5%5tQ?r   setdlopenflagsztest needs sys.setdlopenflags()c                   V P                  \        R 4       V P                  \        \        P                  ^*4       \        P                  ! 4       pV P                  \        \        P
                  4       \        P
                  ! V^,           4       V P                  \        P                  ! 4       V^,           4       \        P
                  ! V4       R# )getdlopenflagsN)assertHasAttrr   r$   r%   r'  r%  r    )r(   oldflagss   & r   test_dlopenflagsSysModuleTest.test_dlopenflags  s     	3 01)S%7%7<%%')S%7%788A:&++-xz:8$r   c                   V P                  \        \        P                  4       \        P                  ! R 4      pR sV P                  \        P                  ! R 4      V4       @V P                  \        P                  ! R 4      V4       \        \        R4      '       d,   V P                  \        P                  ! 4       \        4       R # R # )Ngettotalrefcount)
r$   r%   r   getrefcountr   r    r   rk   r-  r   )r(   cs   & r   test_refcountSysModuleTest.test_refcount  s     	)S__5OOD!.2.23*++!!#"6"6"8#> ,r   c                ,   V P                  \        \        P                  ^*^*4       V P                  \        \        P                  R4       V P                  \        P                  P                  \        P                  ! 4       P                  J 4       R# )r   i 5wN)
r$   r%   r   	_getframer;   r   r   test_getframe__code__f_coderJ   s   &r   r4  SysModuleTest.test_getframe  s_    )S]]B;*cmmZ@''00}}%%&	
r   c                R   V P                  \        \        P                  ! 4       4       V P                  R \        P                  ! ^4      4       ^ p\        P                  ! V4      pV'       d   T P                  VP
                  R,          \        P                  ! V4      ;'       g    R4       V^,          pVP                  p \        P                  ! V4      pT P                  Y#4       K  V P                  \        P                  ! V4      4       R#   \         d     K5  i ; i)zunittest.caserN   __main__N)
r    rN   r   _getframemodulenamer3  	f_globalsf_backr;   rl   r   )r(   irf   f2s   &   r   test_getframemodulename%SysModuleTest.test_getframemodulename  s    3#:#:#<=#*A*A!*DEMM!J'''*88j FABMM!$ MM! #11!45  s   D D&%D&c                V  aaaaa ^ RI o^ RIpSP                  4       oSP                  4       o. oV3R lpVVVV3R loSP                  VR7      pVP	                  4        SP                  4         V P                  \        S4      ^4       S^ ,          p\        P                  ! 4       pV F+  pV P                  V\        4       V P                  V^ 4       K-  	  SP                  4       pV P                  Wu4       V P                  WE4       VP                  V4      pV P!                  V\        P"                  ! 4       J 4       VP                  V4      pVP%                  V4      p	\'        V	4       F  w  p
w  rrVR8X  g   K   M	  V P)                  R4       V P                  XR4       V	X
^,           ,          w  rrV P                  VR4       V P                  VR	R
.4       SP+                  4        VP-                  4        R#   SP+                  4        TP-                  4        i ; i)r   Nc                     < S ! 4        R # r9   rM   g456s   r   f123/SysModuleTest.test_current_frames.<locals>.f123      Fr   c                     < SP                  SP                  4       4       S P                  4        SP                  4        R # r9   )append	get_identsetwait)	entered_gleave_gthread_info	threadings   r   rD  /SysModuleTest.test_current_frames.<locals>.g456  s,    y2245MMOLLNr   targetrE  )didn't find f123() on thread's call stackg456()rD  zleave_g.wait()zentered_g.set())rP  	tracebackEventThreadstartrL  r    r
  r   _current_framesrk   r   r   rJ  r   popr   r3  extract_stack	enumeratefailrK  join)r(   rV  rE  t	thread_iddtidmain_idframestackr=  filenamelinenofuncname
sourcelinerM  rD  rN  rO  rP  s   &              @@@@@r   test_current_frames!SysModuleTest.test_current_frames  s    	
 OO%	//#		 	
 D)		(	 S-q1#AI##%A%%c3/""3*   ))+GMM'%MM)' EE'NEOOES]]_45
 EE)$E++E2E?H?O;;Hhv% @P 		EFZ2 6;1Q3Z2HhXv.MM*'79J&KL KKMFFH KKMFFHs   2DH A H "H(c                n  aaaaa ^ RI o^ RIpSP                  4       oSP                  4       o. oV3R lpVVVV3R loSP                  VR7      pVP	                  4        SP                  \        P                  R7        V P                  \        S4      ^4       S^ ,          p\        P                  ! 4       pV F+  pV P                  V\        4       V P                  V^ 4       K-  	  SP                  4       pV P!                  Wu4       V P!                  WE4       V P                  RVP#                  V4      4       VP#                  V4      pVP%                  VP&                  P(                  4      p	\+        V	4       F  w  p
w  rrVR8X  g   K   M	  V P-                  R4       V P                  XR4       V	X
^,           ,          w  rrV P                  VR	4       V P/                  VR
4       SP1                  4        VP3                  4        R#   SP1                  4        TP3                  4        i ; i)r   Nc                     < S ! 4        R # r9   rM   rC  s   r   rE  3SysModuleTest.test_current_exceptions.<locals>.f123B  rG  r   c                     < SP                  SP                  4       4         \        R4      h  \         d>    S P                  4        SP	                  \
        P                  R7      '       d    R#  KT  i ; i)ToopstimeoutN)rI  rJ  r;   rK  rL  r   LONG_TIMEOUT)g_raisedrN  rO  rP  s   r   rD  3SysModuleTest.test_current_exceptions.<locals>.g456E  se    y2245$V,,! LLN||G,@,@|AA Bs   . A A65A6rR  rr  rE  rT  rU  rD  )zif leave_g.wait(zg_raised.set())rP  rV  rW  rX  rY  rL  r   rt  r    r
  r   _current_exceptionsrk   r   r   rJ  r   r[  r\  rm   tb_framer]  r^  r   rK  r_  )r(   rV  rE  r`  ra  rb  rc  rd  	exc_valuerf  r=  rg  rh  ri  rj  rD  ru  rN  rO  rP  s   &              @@@@@r   test_current_exceptions%SysModuleTest.test_current_exceptions5  s    	
 ??$//#		 	 D)		g223"	S-q1#AI'')A%%c3/""3*   ))+GMM'%MM)'T155>2
 i(I++I,C,C,L,LME?H?O;;Hhv% @P 		EFZ2 6;1Q3Z2HhXv.!!*.TU KKMFFH KKMFFHs   DH AH "H4c                x   V P                  \        P                  \        4       V P                  \        P                  \
        4       \        P                   F  pV P                  V\        4       K  	  V P                  \        P                  \
        4       \        P                   F  pV P                  V\        4       K  	  V P                  \        P                  R4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P!                  \#        \        P$                  4      ^4       V P!                  \        P$                  P&                  ^4       V P!                  \#        \        P(                  4      ^4       V P+                  \        P(                  P,                  ^,          ^ 8H  4       V P+                  \        P(                  P.                  ^8  4       V P1                  \        P(                  P2                  R4       V P1                  \        P(                  P4                  ^d4       V P7                  \        P(                  P2                  \        P(                  P4                  4       V P!                  \9        \        P(                  P,                  4      \        4       V P!                  \9        \        P(                  P.                  4      \        4       V P                  \        P(                  P2                  \        4       V P                  \        P(                  P4                  \        4       V P                  \        P:                  \        4       V P!                  \#        \        P<                  4      ^	4       V P?                  \        P<                  P@                  ^\        P<                  PB                  ,          4       \E        ^^d4       F  pV P!                  \G        V\        P<                  P@                  ^,
          \        P<                  P@                  4      ^RPI                  \        P<                  P@                  4      4       K  	  V P                  \        P<                  PJ                  \        4       V P                  \        P<                  PL                  \        4       V P                  \        P<                  PN                  \        4       \P        PR                  ! R4      p\        P<                  PT                  R9   Ed   V P                  \        P<                  PV                  ^ ^@04       V P                  \        P<                  PX                  0 Rm4       V^8X  d,   V P!                  \        P<                  PT                  R4       MV^8X  d,   V P!                  \        P<                  PT                  R4       MqV^8X  d,   V P!                  \        P<                  PT                  R4       M?V P                  \        P<                  PT                  0 Rm4       MV P!                  V^ 4       V P1                  \        P<                  PZ                  ^ 4       V P?                  \        P<                  PZ                  ^4       V P                  \        P\                  \        4       V P                  \        P^                  \        4       V P!                  \        P^                  R4       V P                  \        P`                  \        4       V P                  \        Pb                  \        4       V P                  \        Pd                  \        4       V P                  \        Pf                  \        4       V P                  \        Ph                  \        4       \        Pj                  pV P                  VR,          \        4       V P!                  \#        V4      ^4       V P                  V^ ,          \        4       V P                  V^,          \        4       V P                  V^,          \        4       V P                  V^,          R4       V P                  V^,          \        4       V P                  VPl                  \        4       V P                  VPn                  \        4       V P                  VPp                  \        4       V P                  VPr                  R4       V P                  VPt                  \        4       V P!                  V^ ,          VPl                  4       V P!                  V^,          VPn                  4       V P!                  V^,          VPp                  4       V P!                  V^,          VPr                  4       V P!                  V^,          VPt                  4       V P+                  VR8  4       V P                  \        Pv                  \        4       V P                  \        Pv                  R4       \        P`                  Py                  R	4      '       g'   V P                  \        Pz                  \        4       R# V P}                  \        \        R
4      4       R# )littlei  z'sys.hash_info.modulus {} is a non-primePy_HASH_ALGORITHMfnv	siphash13	siphash24i :NNNwinabiflagsN)r}  big>   r  r  r  >       @      )alphabeta	candidatefinal)r   r   r   )shortlegacy)@rk   r   api_versionr   argvlistr   	orig_argvr   	byteorderbuiltin_module_namestuple	copyrightexec_prefixbase_exec_prefixr   r    r
  
float_inforadixint_infor   bits_per_digitsizeof_digitassertGreaterEqualdefault_max_str_digitsstr_digits_check_thresholdr   r"  
hexversion	hash_info
assertLessmoduluswidthrangepowformatinfnanimag	sysconfigget_config_var	algorithm	hash_bits	seed_bitscutoffmaxsize
maxunicoder  prefixbase_prefix
platlibdirversionversion_infor  r  microreleaselevelserialfloat_repr_style
startswithr  assertFalser   )r(   argxalgovis   &    r   test_attributesSysModuleTest.test_attributesw  s   coos3chh-88C!!#s+ cmmT2==C!!#s+ !cmm%67c66>cmmS1coos3c22C8cnnc2S^^,b1--q1S\\*A.33a71<=11Q67 C CSI G GM3<<>><<BB	Dcll99:C@cll778#>cllAA3GcllEEsKcnnc2S]]+Q/--q#--2E2E/EF q#AAs}},,Q.0E0EF9@@MM))+  	cmm//5cmm//5cmm00#6''(;<==""&GGMM#--11B8<MM#--11=Aqy  !8!8+F  !8!8%@  !8!8+Fcmm557XY T1% 4 4a8,,a0ckk3/cnnc22cllC0cjj#.coos3cnnc2ckk3/beU+R!$beS)beS)beS)beDEbeS)bhh,bhh,bhh,boo'NObii-A)A)A)A0A		*W%c22C8c**,?@||&&u--!!#,,4WS*56r   c                   \         P                  pV P                  \        V4      ^4       V P	                  VP
                  R4       V P	                  VP                  R	4       \         P                  P                  R
4      '       d   V P                  VP
                  R4       R# \         P                  R8X  d   V P                  VP
                  R4       R# \         P                  R8X  d!   V P	                  VP
                  RR04       R# \         P                  R8X  d   V P                  VP
                  R4       R# R# )   ntpthreadpthread-stubsNwin32
emscriptenwasi)r  r  r  solarisN)	semaphorez
mutex+condN)linuxandroidfreebsd)	r   rO  r    r
  r   namelockr  r  )r(   infos   & r   test_thread_infoSysModuleTest.test_thread_info  s    TA&dii!TUdii!BC<<""#BCCTYY	2\\W$TYY-\\\)MM$))i%AB\\V#TYY8 $r   zonly available on Emscriptenc                   V P                  \        \        P                  4      ^4       V P	                  \        P                  P
                  \        4       V P	                  \        P                  P                  \        \        R4      34       V P	                  \        P                  P                  \        4       V P	                  \        P                  P                  \        4       R# )   N)r    r
  r   _emscripten_infork   emscripten_versionr  runtimer   r"  pthreadsboolshared_memoryrJ   s   &r   test_emscripten_info"SysModuleTest.test_emscripten_info  s    S112A6c22EEuMc22::S$t*<MNc22;;TBc22@@$Gr   c                    V P                  \        P                  P                  \        P                  P                  4       R # r9   )r    r   
__stdout__encoding
__stderr__rJ   s   &r   
test_43581SysModuleTest.test_43581  s(     	00#..2I2IJr   c                   \         P                  P                  R R7      ;'       g    \        \        R4      pV P                  \        \        P                  4       V P                  \        \        P                  R4       V'       dJ   V P                  \        \        P                  4       V P                  \        \        P                  R4       R\        \        P                  ! ^ R
4      4      ,           pV P                  \        P                  ! V4      VJ 4       V'       d'   V P                  \        P                  ! V4      R 4       VP                  4       P                  4       pV'       d'   V P                  \        P                  ! V4      R4       V P                  \        P                  ! V4      VJ 4       V'       d'   V P                  \        P                  ! V4      R4        ! R R\        4      pV P                  \        \        P                  V! R4      4       V'       d/   V P                  \        P                  ! V! R4      4      R4       R	# R	# )Tcpython_is_interneds   abcnever interned beforeFc                   &   a  ] tR tRt o R tRtV tR# )$SysModuleTest.test_intern.<locals>.Si  c                    ^{# )r   rM   rJ   s   &r   __hash__-SysModuleTest.test_intern.<locals>.S.__hash__      r   rM   N)rN   rO   rP   rQ   r  rR   rS   rT   s   @r   Sr          r   r  abcN ʚ;)r   r   check_impl_detailr   r   r$   r%   internr  r   random	randranger   rl   swapcase)r(   has_is_internedss2r  s   &    r   test_internSysModuleTest.test_intern  s   <<99$9G ; ;%c>: 	)SZZ0)SZZ8i)9)9:i)9)96B#c&*:*:1e*D&EE

1*+MM#**1-t4ZZ\""$MM#**2.6

2!+,MM#**2.6	 	 	)SZZ5:MM#**1U84e< r   c                   R \        \        P                  ! ^ R4      4      ,           p\        P                  ! V4      pV P                  W!4       \        P                  ! 4       pVP                  \        P                  ! RVP                  4       : R\        V4       R\        V4       R\        V4       R\        V4       R24      4       R# )r  zn
            import sys

            # set `s`, avoid parser interning & constant folding
            s = str(zG, 'utf-8')

            t = sys.intern(s)

            assert id(t) != 
, (id(t), z)
            assert id(t) != z)
            Nr  )r   r  r  r   r  rl   r   createexectextwrapdedentencodeidr(   r  r`  interps   &   r   +test_subinterp_intern_dynamically_allocated9SysModuleTest.test_subinterp_intern_dynamically_allocated  s    
 $c&*:*:1e*D&EEJJqMa$$&HOO ) XXZN #  UG:beW 5UG:beW 5
% 
 
	r   c                |   R F  pV P                  VR7      ;_uu_ 4        \        P                  ! V4      p\        P                  ! 4       pVP                  \        P                  ! RVP                  4       : R\        V4       R\        V4       R24      4       RRR4       K  	  R#   + '       g   i     K  ; i)__init__r  
                    import sys

                    # set `s`, avoid parser interning & constant folding
                    s = str(zV, 'utf-8')

                    t = sys.intern(s)
                    assert id(t) == r   z)
                    N)r  	CANCELLEDz<module>utf-8z{{r   
r   r      ¸   ÿ)
r   r   r  r   r  r  r  r  r  r  r  s   &   r   *test_subinterp_intern_statically_allocated8SysModuleTest.test_subinterp_intern_statically_allocated)  s    A ""JJqM%,,.HOO 1 XXZN +% &(UG:beW =-  	 #" #""s   A<B**B;c                   R F  pV P                  VR7      ;_uu_ 4        \        P                  ! 4       pVP                  \        P
                  ! RVP                  4       : R\        V4       R24      4       V P                  \        P                  ! V4      4       RRR4       K  	  R#   + '       g   i     K  ; i)r   r  r  z0, 'utf-8')

                    assert id(s) == z;
                    t = sys.intern(s)
                    N)r   r  r   r  r  r  r  )r   r   r  r  r  r  r  r  r   r   r  )r(   r  r  s   &  r   test_subinterp_intern_singleton-SysModuleTest.test_subinterp_intern_singletonA  s    
 AA""%,,.HOO 1 XXZN +%%'UG ,-    0 0 34 #" A"""s   A?B--B>c           	     2   V P                  \        P                  4       RpV Fi  pV P                  \        P                  V4       VR9   d   \        M\
        pV P                  \        \        \        P                  V4      4      W24       Kk  	  V P                  \        \        P                  4      4       V P                  \        \        P                  4      \        V4      4       V P                  \        P                  P                  0 Rm4       R# )debugN)r  inspectinteractiveoptimizedont_write_bytecodeno_user_siteno_siteignore_environmentverbosebytes_warningquiethash_randomizationisolateddev_mode	utf8_modewarn_default_encoding	safe_pathint_max_str_digits)r(  r+  >   r   r   r   )r   r   flagsr(  r  r   r    r"  getattrreprr
  r   r)  )r(   attrsattr	attr_types   &   r   test_sys_flagsSysModuleTest.test_sys_flagsT  s    		"M Dsyy$/ $(A AsIT'#))T":;YM  	SYY(SYYU4cii))95r   c                H    \         P                  ! V \        V4      V4       R # r9   )r   check_disallow_instantiationr"  )r(   sys_attrs   &&r   assert_raise_on_new_sys_type*SysModuleTest.assert_raise_on_new_sys_typee  s     	,,T4>8Lr   c                D    V P                  \        P                  4       R # r9   )r8  r   r-  rJ   s   &r   test_sys_flags_no_instantiation-SysModuleTest.test_sys_flags_no_instantiationj  s    ))#))4r   c                D    V P                  \        P                  4       R # r9   )r8  r   r  rJ   s   &r   &test_sys_version_info_no_instantiation4SysModuleTest.test_sys_version_info_no_instantiationm  s    ))#*:*:;r   c                    \         P                  P                  \        R 4       V P	                  \        P
                  ! 4       4       R# r  )r   r   r	  r   r8  r  rJ   s   &r   +test_sys_getwindowsversion_no_instantiation9SysModuleTest.test_sys_getwindowsversion_no_instantiationp  s.    ""3(;<))#*?*?*ABr   c                    V P                  \        R 4      ;_uu_ 4        \        P                  ! 4        RRR4       R#   + '       g   i     R# ; i)z*sys\._clear_type_cache\(\) is deprecated.*N)assertWarnsRegexDeprecationWarningr   _clear_type_cacherJ   s   &r   test_clear_type_cache#SysModuleTest.test_clear_type_cacheu  sB    ""#5#PR R!!#R R R Rs	   ?A	c                   \        \        P                  4      pR VR&   \        P                  ! \
        P                  RR.\        P                  VR7      pVP                  4       ^ ,          P                  4       pR\        P                  ,           P                  R 4      pV P                  W44       RVR&   \        P                  ! \
        P                  RR.\        P                  VR7      pVP                  4       ^ ,          P                  4       pV P                  VR4       RVR&   \        P                  ! \
        P                  RR.\        P                  \        P                  VR	7      pVP                  4       w  r5V P                  VR
4       V P                  RV4       V P                  RV4       RVR&   \        P                  ! \
        P                  RR.\        P                  \        P                  VR	7      pVP                  4       w  r5V P                  VR
4       V P                  RV4       V P                  RV4       RVR&   \        P                  ! \
        P                  RR.\        P                  VR7      pVP                  4       ^ ,          P                  4       pV P                  VR4       R# )cp424r   r   zprint(chr(0xa2))r&   env   ¢zascii:replace   ?asciir&   r   rL  r   s   UnicodeEncodeError:s   '\xa2'zascii:z:surrogateescapezprint(chr(0xdcbd))   N)dictosenvironr   Popenr   r   PIPEcommunicatestriplinesepr  r    r   )r(   rL  pr*   r   r   s   &     r   test_ioencodingSysModuleTest.test_ioencoding{  s(    2::
 #*cnnd4FG&0oo3@mmoa &&(RZZ'//8'"1cnnd4FG&0oo3@mmoa &&(d#")cnnd4FG$.OOJOO!$& ==?c",c2j#&"*cnnd4FG$.OOJOO!$& ==?c",c2j#&"4cnnd4HI$.OO>mmoa &&(g&r   z*requires OS support of non-ASCII encodingsFz$requires FS encoding to match localec                   \        \        P                  4      pR VR&   \        P                  ! \
        P                  RR\        P                  ,          .\        P                  VR7      pVP                  4       ^ ,          P                  4       pV P                  V\        P                  ! \        P                  4      4       R# )r   r   r   z	print(%a)rK  N)rR  rS  rT  r   rU  r   r   r   FS_NONASCIIrV  rW  rX  r    fsencode)r(   rL  rZ  r*   s   &   r   test_ioencoding_nonascii&SysModuleTest.test_ioencoding_nonascii  s     2::"$cnnd +i.C.C CE'1CA mmoa &&(bkk)*?*?@Ar   zTest is not venv-compatiblec           
        V P                  \        P                  P                  \        P
                  4      \        P
                  4       \        P                  P                  \        P                  P                  \        P
                  4      4      p\        P                  ! . RO\        P
                  \        P                  VR7      pVP                  4       ^ ,          pVP                  4       P                  R4      pVP                  4        V P                  VR\!        \        P
                  P#                  RR4      4      .4       R# )nonexistent)r   r&   cwdASCIIzb''rO  backslashreplaceN)rc  r   zEimport sys; print(sys.executable.encode("ascii", "backslashreplace")))r    rS  pathabspathr   r   dirnamerealpathr   rU  rV  rW  rX  decoderL  r   r/  r  )r(   
python_dirrZ  r&   r   s   &    r   test_executableSysModuleTest.test_executable  s    
 	8#..I WW__RWW%5%5cnn%EF
V~~joo:O #\\^**73
	j5$s~~/D/DWN`/a*b"cdr   Nc                    V P                  V4       \        P                  ! V4       V'       d   V P                  W4       R # R # r9   )assertIsNotNonecodecslookupr    r(   fs_encodingr   s   &&&r   check_fsencodingSysModuleTest.check_fsencoding  s2    [)k"[3 r   c                    \         P                  ! 4       p\         P                  R 8X  d   RpMRpV P                  W4       R# )darwinr  N)r   getfilesystemencodingr  ru  rs  s   &  r   test_getfilesystemencoding(SysModuleTest.test_getfilesystemencoding  s4    //1<<8#HHk4r   c                   \         P                  P                  4       pWR &   RVR&   RP                  R4      p\        P
                  RRRV.pV'       d   VP                  R4       Ve   W4R	&   MVP                  R	R4       \        P                  ! V\        P                  \        P                  VR
R7      pVP                  4       w  rV# )LC_ALL0PYTHONCOERCECLOCALEr  -Xzutf8=0r   -INr   T)r&   r   rL  universal_newlines)
import syszdef dump(name):z    std = getattr(sys, name)z(    print("%s: %s" % (name, std.errors))zdump("stdin")zdump("stdout")zdump("stderr"))rS  rT  copyr_  r   r   rI  r[  r   rU  rV  STDOUTrW  )
r(   localer'  r  rL  r4   argsrZ  r&   r   s
   &&&&      r   c_locale_get_error_handler(SysModuleTest.c_locale_get_error_handler  s    jjooH%(!"yy 
  hd;KK&."#GG&-T%/__%/%6%6"%15	7
 r   c                   V P                  VR R7      pV P                  VR4       V P                  VRR7      pV P                  VR4       V P                  VRR7      pV P                  VR4       V P                  VRR7      pV P                  VR4       V P                  VR	R7      pV P                  VR4       V P                  VR
R7      pV P                  VR4       R# )T)r'  zHstdin: surrogateescape
stdout: surrogateescape
stderr: backslashreplace
z:ignore)r  z6stdin: ignore
stdout: ignore
stderr: backslashreplace
z	iso8859-1z6stdin: strict
stdout: strict
stderr: backslashreplace
z
iso8859-1::r   N)r  r    )r(   r  r*   s   && r   check_locale_surrogateescape*SysModuleTest.check_locale_surrogateescape  s   --ft-D6	7 --fy-I6	7 --f{-K6	7 --f|-L6	7 --fs-C6	7 --fr-B6	7r   c                (    V P                  R 4       R# )CNr  rJ   s   &r   test_c_locale_surrogateescape+SysModuleTest.test_c_locale_surrogateescape  s    ))#.r   c                (    V P                  R 4       R# )POSIXNr  rJ   s   &r   !test_posix_locale_surrogateescape/SysModuleTest.test_posix_locale_surrogateescape#  s    ))'2r   c                J   R ^
R^R^R^/pV P                  \        P                  R4       V P                  \        P                  R4       V P                  \        P                  R4       V P                  \        P                  R4       V P                  \        P                  R4       \        P                  P                  pV P	                  VR	,          VP
                  VP                  34       VP
                  ^,          VP                  ^,          ,          VP                  ^,          ,          WP                  ,          ^,          ,          VP                  ^ ,          ,          pV P	                  \        P                  P                  V4       V P	                  \        P                  P                  \        P                  P                  P                  4       4       \        P                  P                  pV P                  V\        4       \         P"                  P%                  R
R7      '       dg   \         P"                  P&                  '       g!   \         P"                  P(                  '       d   V P+                  V4       R# V P-                  V4       R# R# )r  r  r  r  r  r  r  	cache_tagsupports_isolated_interpreters:Nr   NTr  N)r(  r   implementationr  r    r  r  r  r  r  r  r  lowerr  rk   r  r   r   r  is_emscriptenis_wasir  r   )r(   levelsr  r  siis   &    r   test_implementation!SysModuleTest.test_implementation'  s    3[#wL3--v63--y93--|<3--{;3--/OP$$,,w}}gmm&DEmmr)GMMR,??mmq()+12F2F+G1+LMnn)*
 	++66
C 	++00++00668	:   ??c4(<<))$)77||)))T\\-A-A-A  %$	 8r   c                $   ^ RI Hp RR.pV! V!  w  r4p\        P                  R8w  dC   \        P
                  ! R4      pV P                  RV4       V'       d   V P                  RV4       V P                  \        \        P                  R4       R	# )
r   )r   r   z#import sys; sys._debugmallocstats()r  WITH_PYMALLOCs   free PyDictObjectss   Small block thresholdTN)
test.support.script_helperr   r   r  r  r  r   r$   r%   _debugmallocstats)r(   r   r  retr*   r   with_pymallocs   &      r   test_debugmallocstats#SysModuleTest.test_debugmallocstatsG  sz     	@;<($/# <<7"%44_EMMM/56< 	)S%:%:DAr   getallocatedblocksz0sys.getallocatedblocks unavailable on this buildc                H    ^ RI p VP                  4       pVR9   p\        P                  ! 4       pT P                  \        T4      \        4       T'       d   T P                  T^ 4       MT P                  T^ 4       \        P                  ! 4        \        P                  ! 4       pT P                  Ye4        \        P                   ! RR7      pT P#                  YW,
          \        P$                  ! 4       4       \        P                  ! 4        \        P                  ! 4       pT P)                  T\+        T^2,
          T^2,           4      4       R#   \         d   pRp Rp?ELHRp?ii ; i  \         d    \        P
                  ! 4       p ELsi ; i  \&         d     Li ; i)r   NT)_only_immortal)pymallocpymalloc_debug)_testinternalcapipymem_getallocatorsnamer'   ImportErrorr   r  r   r  rl   r"  r   r   r  gccollectassertLessEqualgetunicodeinternedsizer  r-  AttributeErrorr   r  )	r(   r  
alloc_namer  r~   r   binterned_immortalr/  s	   &        r   test_getallocatedblocks%SysModuleTest.test_getallocatedblocksY  sH   	O$O.FFH

 ",/M!M ""$d1gs#q!$
 ##Aq)


""$Q"		
 !$ : :$ OOOA133G3G3IJ 	

""$aq2vq2v./?   % $%  	4#113M	4>  		s;   E, E 9AF E)E$$E), FFF! F!c                    \         P                  '       d5   V P                  \        \        P
                  ! 4       4      \        4       R # V P                  \        P
                  ! 4       4       R # r9   )r   Py_GIL_DISABLEDrl   r"  r   _is_gil_enabledr  r   rJ   s   &r   test_is_gil_enabled!SysModuleTest.test_is_gil_enabled  s?    """MM$s2245t<OOC//12r   c                    V P                  \        P                  ! 4       R 4       Rp\        RV4      w  r#pV P	                  VP                  4       R4       R# )Fa  if 1:
            import sys

            class AtExit:
                is_finalizing = sys.is_finalizing
                print = print

                def __del__(self):
                    self.print(self.is_finalizing(), flush=True)

            # Keep a reference in the __main__ module namespace, so the
            # AtExit destructor will be called at Python exit
            ref = AtExit()
        r   s   TrueN)rl   r   is_finalizingr   r    rstripr(   r4   r   r&   r   s   &    r   test_is_finalizing SysModuleTest.test_is_finalizing  sI    c'')51 .dD9F'2r   c                    R p\        RV4      w  r#pVP                  4       pV P                  RV^ ,          4       V P                  RV^,          4       R# )zif 1:
            import sys
            class A:
                def __del__(self, sys=sys):
                    print(sys.flags)
                    print(sys.float_info)
            a = A()
            r   s	   sys.flagss   sys.float_infoN)r   
splitlinesr   r(   r4   r   r*   r   s   &    r   test_issue20602SysModuleTest.test_issue20602  sL     (d3nnlCF+'Q0r   c                    R p\        RV4      w  r#pV P                  V^ 4       V P                  VP                  4       R4       V P                  VP                  4       R4       R# )zif 1:
            import struct, sys

            class C:
                def __init__(self):
                    self.pack = struct.pack
                def __del__(self):
                    self.pack('I', -42)

            sys.x = C()
            r   r   N)r   r    r  r  s   &    r   &test_sys_ignores_cleaning_up_user_data4SysModuleTest.test_sys_ignores_cleaning_up_user_data  sX    
 .dD9FQ#.#.r   r  zAndroid onlyc                    \         P                  ! 4       pV P                  V\        4       V P	                  V^ 4       R# r   N)r   getandroidapilevelrk   r   r   )r(   levels   & r   test_getandroidapilevel%SysModuleTest.test_getandroidapilevel  s0    &&(eS)5!$r   c                f  a a R oVV 3R lp. ROpV! ^
V4       V! ^V4       V! ^VR,          VR,          ,           4       V! ^VR,          VR,          ,           4       V! ^ VR,          .4       V! RVR,          .4       V! ^R,          V4       V! RR,          VR,          .4       V! RV4       R# )	zif 1:
            import sys
            def f1():
                1 / 0
            def f2():
                f1()
            sys.tracebacklimit = %r
            f2()
        c                    < \         P                  ! \        P                  R SV ,          .\         P                  R7      pVP                  4       ^,          pSP                  VP                  4       V4       R# )r   )r   N)r   rU  r   r   rV  rW  r    r  )tracebacklimitr   rZ  r*   r4   r(   s   &&  r   check4SysModuleTest.test_sys_tracebacklimit.<locals>.check  sS      #..$~8M!N(29A--/!$CS^^-x8r   :Nr   N:r  NN:   NNr   N)s"   Traceback (most recent call last):s&     File "<string>", line 8, in <module>s       f2()       ~~^^s      File "<string>", line 6, in f2s       f1()r  s      File "<string>", line 4, in f1s	       1 / 0s	       ~~^~~s#   ZeroDivisionError: division by zeror   rM   )r(   r  rV  r4   s   f  @r   test_sys_tracebacklimit%SysModuleTest.test_sys_tracebacklimit  s    	9
	 	b)aa22./a22./a)B-!b9R=/"agy!b$h2(dIr   c                    V P                  \        \        P                  4      \        \	        \        P                  4      4      4       R # r9   )r    r
  r   	meta_pathrK  rJ   s   &r   test_no_duplicates_in_meta_path-SysModuleTest.test_no_duplicates_in_meta_path  s)    S]]+SS]]1C-DEr   _enablelegacywindowsfsencodingz*needs sys._enablelegacywindowsfsencoding()c                    Rp\        RRP                  V4      4      w  r#pVP                  RR4      P                  4       pV P	                  VR4       R# )r  r   z; rO  replacezmbcs replaceN)r  z$sys._enablelegacywindowsfsencoding()zCprint(sys.getfilesystemencoding(), sys.getfilesystemencodeerrors()))r   r_  rk  r  r    r  s   &    r   #test__enablelegacywindowsfsencoding1SysModuleTest.test__enablelegacywindowsfsencoding  sM    W (diio>jj),335n-r   c                6   \         P                  ! R 4      p\        P                  RRRRVR.p\        P
                  ! VRRRR7      p\        RR.4      \        V4      .pV P                  VP                  P                  4       P                  4       VV4       R# )	z]
            import sys
            print(sys.argv)
            print(sys.orig_argv)
        r  r  utf8r   r  T)r  capture_outputr   N)r  r  r   r   r   r   r/  r    r&   r  r  )r(   r4   r  r   r   s   &    r   test_orig_argvSysModuleTest.test_orig_argv  s       
 dFD$F~~d$t$O$J
 	++-88:H	r   c                    V P                  \        P                  \        4       \        P                   F  pV P                  V\        4       K  	  R # r9   )rk   r   stdlib_module_names	frozensetr   )r(   r  s   & r   test_module_namesSysModuleTest.test_module_names  s8    c55yA++D!!$, ,r   c                   \         P                  ! R 4      p\        VRR4      pV'       d$   VP                  P	                  V4      '       g   RpV'       d   VP                  P                  V4      MRpV P                  VP                  P                  \        P                  4      VP                  P                  V4      4       R# )rS  __file__N)
r   import_fresh_moduler.  rg  existsri  r    normpathr   _stdlib_dir)r(   rS  markerr   s   &   r   test_stdlib_dirSysModuleTest.test_stdlib_dir  s    ..t4Z."''..00F.4277??6*$))#//:))(3	5r   
getobjectszneed sys.getobjects()c                   \         P                  ! ^ 4      pV P                  V\        4       V P	                  \        V4      ^ 4        ! R R4      p^dp\        V4       Uu. uF	  qB! 4       NK  	  pp\         P                  ! ^ V4      pV P                  \        V4      V4       V F  pV P                  Wr4       K  	  \         P                  ! ^V4      pV P                  \        V4      ^4       R# u upi )r   c                       ] tR tRtRtR# )-SysModuleTest.test_getobjects.<locals>.MyTypei!  rM   NrN   rO   rP   rQ   rR   rM   r   r   MyTyper  !  s    r   r  N)r   r  rk   r  r   r
  r  r    )r(   all_objectsr  sizer   
my_objectsget_objectsr<   s   &       r   test_getobjectsSysModuleTest.test_getobjects  s     nnQ'k403{+Q/	 	(-d41fh
4nnQ/[)40C!!#.  nnQ/[)1- 5s   !C2	_stats_onzneed Py_STATS buildc                    \         P                  ! 4        \         P                  ! 4        \         P                  ! 4        \         P                  ! 4        R # r9   )r   r  
_stats_off_stats_clear_stats_dumprJ   s   &r   test_pystatsSysModuleTest.test_pystats.  s-     	r   r  zneed sys.abiflagsc                h    V P                  R \        P                  9   \        P                  4       R# )r`  N)r    r   r  r   r  rJ   s   &r   test_disable_gil_abi"SysModuleTest.test_disable_gil_abi7  s#     	,g.E.EFr   rM   r9   )FN)WrN   rO   rP   rQ   r   r   r   requires_subprocessr   r   r   r   r   r   r   cpython_onlyr  r  r#  r   
skipUnlessr   r   r*  refcount_testr0  r4  r?  r
   reap_threadsrequires_working_threadingrk  rz  r  r  r  r  r  r  r   r	  r  r  r3  r8  r;  r>  rA  rG  r   r[  r   r^  ry  r  getpreferredencodingr`  r   r  r  rm  ru  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rR   rS   rT   s   @r   r   r      s    %M2^   "G #G(=(@	--2 
\\- -.?<@ &67:<%<% 
\\?  ?*
6* ""002? 3 #?B ""002> 3 #>@_7B9 ..0NOH PHK
=@   (   , 5  5"6"M
5<C
 
\\$ $
   ")' # )'V ..EG2248S8STY8ZZ?A  "B #AG
B __S__

224  "e #4e(45:$7L   "/ #/   "3 #3%@ 
\\B B" &:;KM'0M'0R33*1/" 2NC% D%
   "% # %NF &FGEG.G.   " #-
5 l35LM. N.( k24IJ K 
\\j13FGG H Gr   r   c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
UnraisableHookTesti=  c           	     B   \         P                  ! R 4      p^ RIHpHp \
        p\        P                  ! \        R\        P                  4      ;_uu_ 4        \        P                  ! 4       ;_uu_ 4       pV! \        ^*4      V4       RRR4       XP                  4       P                  4       pV P                  V^ ,          RV: 24       V P                  V^,          R4       V P                  VR
,          R4       \        P                  ! 4       ;_uu_ 4       pV! \        ^*4      R4       RRR4       VP                  4       P                  4       pV P                  V^ ,          R4       V P                  VR
,          R4       \        P                  ! 4       ;_uu_ 4       pV! \        ^*4      RV4       RRR4       VP                  4       P                  4       pV P                  V^ ,          RV: R	24       V P                  V^,          R4       V P                  VR
,          R4       \        P                  ! 4       ;_uu_ 4       pV! \        ^*4      R4       RRR4       VP                  4       P                  4       pV P                  V^ ,          R4       V P                  VR
,          R4       RRR4       R#   + '       g   i     EL?; i  + '       g   i     EL; i  + '       g   i     EL9; i  + '       g   i     L; i  + '       g   i     R# ; i)	_testcapierr_writeunraisableerr_formatunraisableunraisablehookNzException ignored in: z"Traceback (most recent call last):zValueError: 42zError in %Rz	Error in r  r   )r   import_moduler  r  r  hexr   r@   r   __unraisablehook__r   r;   r!   r  r    )r(   r  r  r  r<   r   liness   &      r   test_original_unraisablehook/UnraisableHookTest.test_original_unraisablehook?  sG   !//<	Gs$4$'$:$:< <((**f#JrNC8 +OO%002EU1X)?w'GHU1X'KLU2Y(89((**f#JrND9 +OO%002EU1X'KLU2Y(89((**f$Z^]CH +OO%002EU1X3'';<U1X'KLU2Y(89((**f$Z^T: +OO%002EU1X'KLU2Y(895< <*** +** +** +*-< < <sp   L5J>	BLK	-A5L"K&	6BL	K:	AL>K		LK#	L&K71	L:L
LL	c                  a  ! R  R4      p ! R R\         4      o ! V3R lR4      pW3 EFm  pV P                  V4      ;_uu_ 4        V! 4       p\        P                  P	                  4       ;_uu_ 4       p\        P                  P                  \        R\        P                  4      ;_uu_ 4        ?RRR4       RRR4       XP                  4       pV P                  RV4       V P                  VP                  P                  V4       V P                  R	V4       V P                  R
V4       W2J d&   V P                  RV4       V P                  RV4       M$V P                  RV4       V P                  RV4       V P                  VR4       RRR4       EKp  	  R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     EK  ; i)c                   &   a  ] tR tRt o R tRtV tR# )FUnraisableHookTest.test_original_unraisablehook_err.<locals>.BrokenDelib  c                    \        R 4      pVh)del is brokenr:   r(   r~   s   & r   __del__NUnraisableHookTest.test_original_unraisablehook_err.<locals>.BrokenDel.__del__c  s     1	r   rM   NrN   rO   rP   rQ   r+  rR   rS   rT   s   @r   	BrokenDelr'  b  s      r   r.  c                   &   a  ] tR tRt o R tRtV tR# )OUnraisableHookTest.test_original_unraisablehook_err.<locals>.BrokenStrExceptionih  c                    \        R 4      h)zstr() is brokenrj   rJ   s   &r   __str__WUnraisableHookTest.test_original_unraisablehook_err.<locals>.BrokenStrException.__str__i  s     122r   rM   N)rN   rO   rP   rQ   r3  rR   rS   rT   s   @r   BrokenStrExceptionr0  h  s     3 3r   r5  c                   .   <a  ] tR tRt o V3R ltRtV tR# )OUnraisableHookTest.test_original_unraisablehook_err.<locals>.BrokenExceptionDelil  c                   < S! 4       pVhr9   rM   )r(   r~   r5  s   & r   r+  WUnraisableHookTest.test_original_unraisablehook_err.<locals>.BrokenExceptionDel.__del__m  s    (*	r   rM   Nr-  )rU   r5  s   @r   BrokenExceptionDelr7  l  s      r   r:  r  NzException ignoredztest_sys.pyz	raise excz<exception str() failed>r;   r)  r  )rj   r   r   r   r   r@   r   r!  r!   r   r+  rP   r   )r(   r.  r:  
test_classr<   r   reportr5  s   &      @r    test_original_unraisablehook_err3UnraisableHookTest.test_original_unraisablehook_err`  sa   	 		3 	3	 	 %9Jj)) l\\1133v\\++C1A,/,B,BD D D 4  *16:j00==vFmV4k623MM"6?MM"<fEMM,7MM/6:##FD1' *) :D D 43 *))s=   .G6<F22F4F2<CGF/*F22G=GGc                t   \         P                  ! R 4      p^ RIHp  ! R R4      pR	 EFO  pV P	                  VR7      ;_uu_ 4        WCP
                  P                  n        \        P                  P                  4       ;_uu_ 4       p\        P                  P                  \        R\        P                  4      ;_uu_ 4        V! VP
                  P                  4       R4       RRR4       RRR4       XP                  4       pV P                  VP
                  P                  P                   V4       VR
9   d   V P#                  VR,           V4       MV P                  VR,           V4       RRR4       EKR  	  R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     EK  ; i)r  r  c                   *    ] tR tRt ! R R4      tRtR# )MUnraisableHookTest.test_original_unraisablehook_exception_qualname.<locals>.Ai  c                   ,    ] tR tRt ! R R]4      tRtR# )OUnraisableHookTest.test_original_unraisablehook_exception_qualname.<locals>.A.Bi  c                       ] tR tRtRtR# )QUnraisableHookTest.test_original_unraisablehook_exception_qualname.<locals>.A.B.Xi  rM   Nr  rM   r   r   rV   rF    s    r   rV   rM   N)rN   rO   rP   rQ   rj   rV   rR   rM   r   r   BrD    s    	  r   rG  rM   N)rN   rO   rP   rQ   rG  rR   rM   r   r   ArB    s     r   rH  )
moduleNamer  r<   N.)r"   r9  some_module)r"   r9  )r   r  r  r  r   rG  rV   rO   r   r   r   r@   r   r!  r!   r   rP   assertNotIn)r(   r  r  rH  rI  r   r<  s   &      r   /test_original_unraisablehook_exception_qualnameBUnraisableHookTest.test_original_unraisablehook_exception_qualname  s+   
 "//<	1	 	
 @J44#- \\1133vt||?U?U)3+A+A@ @ (7@3  *accee00&9!99$$Z#%5v>MM*s"2F; 54 @@ @33 544s>   AF%<F"E?&F.BF%?F
FF"F%%F7c           	     j   \        ^*4      p\        P                  P                  \        R\        P
                  4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \        P                  ! V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r  N)	r;   r   r   r@   r   r!  r$   r%   r  r*  s   & r   'test_original_unraisablehook_wrong_type:UnraisableHookTest.test_original_unraisablehook_wrong_type  su    n\\##C)9$'$:$:< <""9--""3' .< <--< < <s$   B!%B	<B!BB!!B2	c                  a \         P                  ! R 4      p^ RIHpHp RoV3R lp\
        p \        P                  P                  \        RV4      ;_uu_ 4        \        ^*4      pV! We4       V P                  SP                  \        V4      4       V P                  SP                  V4       V P                  SP                  VP                   4       V P#                  SP$                  4       V P'                  SP(                  V4       V! VRV4       V P                  SP                  \        V4      4       V P                  SP                  V4       V P                  SP                  VP                   4       V P'                  SP$                  RV: 24       V P#                  SP(                  4       RRR4       RpRoR#   + '       g   i     L; i  RpRoi ; i)r  r  Nc                    < V oR # r9   rM   )r  	hook_argss   &r   	hook_func@UnraisableHookTest.test_custom_unraisablehook.<locals>.hook_func  s    Ir   r  zcustom hook %Rzcustom hook )r   r  r  r  r  r   r   r   r@   r   r;   rl   exc_typer"  ry  exc_tracebackrm   r   err_msgr    object)	r(   r  r  r  rU  r<   r~   r   rT  s	   &       @r   test_custom_unraisablehook-UnraisableHookTest.test_custom_unraisablehook  st   !//<	G		 	''-=yII n#C-i00$s)<i1137i55s7H7HI!!)"3"34  !1!137$S*:C@i00$s)<i1137i55s7H7HI  !2!2l3'4JK!!)"2"23 J" HI% JI" HIs$   -G EG:G G	G G!c           	        \         P                  ! R 4      p^ RIHp R p\        P
                  P                  R4      ;_uu_ 4       p\        P
                  P                  \        RV4      ;_uu_ 4        V! \        ^*4      R4       RRR4       RRR4       XP                  4       pV P                  RV: R2V4       V P                  R	V4       V P                  R
V4       R#   + '       g   i     Le; i  + '       g   i     Lp; i)r  r@  c                      \        R 4      h)zhook_func failedr2  )r  s   *r   rU  EUnraisableHookTest.test_custom_unraisablehook_fail.<locals>.hook_func  s    .//r   r   r  zcustom hook failNz)Exception ignored in sys.unraisablehook: r  z#Traceback (most recent call last):
zException: hook_func failed
)r   r  r  r  r   r   r   r@   r   r;   r!   r   )r(   r  r  rU  r   r   s   &     r   test_custom_unraisablehook_fail2UnraisableHookTest.test_custom_unraisablehook_fail  s    !//<	1	0 \\))(33v''-=yII#JrN4FG J 4 ooA"R)	 	<cB5s; JI 43s$   .C85C%	C8%C50C88D	rM   N)rN   rO   rP   rQ   r#  r=  rM  rP  r[  r`  rR   rS   rT   s   @r   r  r  =  s*     :B&2P<4(>< <r   r  c                      a a ] tR tRt oR t]P                  P                  tR tR t	R t
V 3R ltR tR tR	 tR
 tR tRtVtV ;t# )
SizeofTesti  c                    \         P                  ! R 4      V n        \        P                  P
                  V n        \        P                  ! R4      pVP                  V n
        VP                  V n        R# )Pr  N)structcalcsizere  r   r  r  	longdigitr   r  SIZEOF_PYGC_HEADgc_headsizeSIZEOF_MANAGED_PRE_HEADERmanaged_pre_header_size)r(   r  s   & r   setUpSizeofTest.setUp  sQ    %22)778KL,=='8'R'R$r   c                2   \         P                  P                  pV P                  pV P	                  \
        P                  ! R 4      V! R4      V P                  ,           4       V P	                  \
        P                  ! . 4      V! R4      V,           4       R# )Tr   PnN)r   r   calcvobjsizerj  r    r   	getsizeofrh  )r(   vsizegc_header_sizes   &  r   test_gc_head_sizeSizeofTest.test_gc_head_size  sd    ))))t,eBi$...HIr*E$K.,HIr   c                H    ! R  R4      pV P                  \        \        P                  V! 4       4        ! R R4      pV P                  \        \        P                  V! 4       4       R.pV P                  \        P                  ! V! 4       V4      V4        ! R R4      pV P                  \        \        P                  V! 4       4       V P                  \        P                  ! V! 4       V4      V4        ! R R\        4      pV P                  \        P                  ! V! \        P                  4      4      \        P                  V P                  ,           V P                  ,           4       V P                  \        4      ;_uu_ 4        \        P                  ! V! \        P                  ^,           4      4       R	R	R	4       V P                  \        4      ;_uu_ 4        \        P                  ! V! R
4      4       R	R	R	4       V P                  \        \        34      ;_uu_ 4        \        P                  ! V! \        P                  ) ^,
          4      4       R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R	# ; i)c                   &   a  ] tR tRt o R tRtV tR# ))SizeofTest.test_errors.<locals>.BadSizeofi  c                    \         hr9   r:   rJ   s   &r   
__sizeof__4SizeofTest.test_errors.<locals>.BadSizeof.__sizeof__  s      r   rM   NrN   rO   rP   rQ   r{  rR   rS   rT   s   @r   	BadSizeofry         ! !r   r~  c                   &   a  ] tR tRt o R tRtV tR# )-SizeofTest.test_errors.<locals>.InvalidSizeofi  c                    R # r9   rM   rJ   s   &r   r{  8SizeofTest.test_errors.<locals>.InvalidSizeof.__sizeof__  s    r   rM   Nr}  rT   s   @r   InvalidSizeofr    s      r   r  sentinelc                   &   a  ] tR tRt o R tRtV tR# )+SizeofTest.test_errors.<locals>.FloatSizeofi  c                    R # )g      @rM   rJ   s   &r   r{  6SizeofTest.test_errors.<locals>.FloatSizeof.__sizeof__  r  r   rM   Nr}  rT   s   @r   FloatSizeofr    r  r   r  c                   &   a  ] tR tRt o R tRtV tR# ).SizeofTest.test_errors.<locals>.OverflowSizeofi  c                    \        V 4      # r9   )r   rJ   s   &r   r{  9SizeofTest.test_errors.<locals>.OverflowSizeof.__sizeof__  s    4y r   rM   Nr}  rT   s   @r   OverflowSizeofr    r  r   r  Nr   )r$   r;   r   rr  r%   rl   r   r    r  rj  rl  OverflowError)r(   r~  r  r  r  r  s   &     r   test_errorsSizeofTest.test_errors  s   	! 	! 	*cmmY[A	 	 	)S]]MOD<cmmMOX>I	 	 	)S]]KMBcmmKM8<hG	!S 	! 	~ckk'BCt'7'77$:V:VV	X}--MM.q9: .z**MM.,- +
M:;;MM.#++)9:; <;	 .-**;;;s$   2I*%I=-3J*I:	=J	J!	c                0   \         P                  P                  pV P                  \        P
                  ! R 4      V! R4      V P                  ,           4       V P                  \        P
                  ! R R4      V! R4      V P                  ,           4       R# )Tr   Nr   )r   r   rq  r    r   rr  rh  )r(   r  s   & r   test_defaultSizeofTest.test_default  s_    ||((t,d2h.GHtR0$r(T^^2KLr   c                  <a a'a( \         P                  p\        P                  P                  o(\        P                  P
                  pS P                  o'S'! R V! R4      S P                  ,           4       S'! RV! R4      S P                  ,           4       S'! \        S(! R4      4       RRR,          .pV F1  p\        V4      pS'! WR! R4      VP                  4       ,           4       K3  	  S'! \        \        4       4      S(! R4      4       S'! RV! R	4      ^,           4       S'! RDV! R	4      ^,           4       R
 pS'! V! 4       P                  ^ ,          S(! R4      4       V 3R lpV! V! 4       P                  S(! R4      4       V! VP                  S(! R4      4       R pV! VP                  S(! R4      V! R	4      ,           4       S'! \        ^ ^4      S(! R4      4       S'! \        P                   S(! R4      4       ^ RIp	S'! V	P$                  P&                  S(! R4      4       ^ RIp
S'! V
P*                  P,                  S(! R4      4       S'! \.        P0                  S(! R4      4       S'! / P2                  S(! R4      4       S'! / S(! R4      4       S'! R^/S(! R4      V! \4        4      ,           ^,           ^V! R4      ,          ,           4       \7        ^4       Uu/ uF  p\        V4      VbK  	  ppS'! VS(! R4      V! \4        4      ,           ^,           ^
V! R4      ,          ,           4       S'! ^^/S(! R4      V! \4        4      ,           ^,           ^V! R4      ,          ,           4       ^^^^^^^^^^^^^^^^/pS'! VS(! R4      V! \4        4      ,           ^,           ^
V! R4      ,          ,           4       S'! / P9                  4       S(! R4      4       S'! / P;                  4       S(! R4      4       S'! / P=                  4       S(! R4      4       S'! \        / 4      S(! R4      4       S'! \        / P9                  4       4      S(! R4      4       S'! \        / P;                  4       4      S(! R4      4       S'! \        / P=                  4       4      S(! R4      4        ! R R\>        4      pS'! VP@                  S(! R4      4       S'! \C        4       S(! R4      4       S'! \E        RR^ ^ R4      S(! R4      4       S'! \G        RR^ ^ R4      S(! R4      4       S'! \I        R^ ^R4      S(! R4      4       S'! \J        S(! R4      4       ^ RI&p^ RI'pVPP                  ! VPR                  PT                  4      pS'! VS(! R4      4       S'! \W        . 4      S(! R4      4       S'! \Y        R4      S(! R4      4       S'! \[        ^ 4      S(! R4      4       S'! \\        P^                  S P`                  V! R4      ,           S P`                  \        \\        P^                  4      ,          ,           4       R  pV! 4       p\        Pb                  '       d   R!pMR"pS'! VS(! R#V,           R,           4      4       R$ pS'! VS(! R%4      4        ! V'V(3R& lR'4      pR( pS'! V! 4       S(! R)V,           R,           4      4       S'! \        R*4      S(! R+4      4       ^ RI2pS'! VPg                  RR4      S(! R4      4       S'! \i        . 4      V! R,4      4       S'! \i        ^.4      V! R,4      ^S P`                  ,          ,           4       S'! \i        ^^.4      V! R,4      ^S P`                  ,          ,           4       S'! \i        . REO4      V! R,4      ^S P`                  ,          ,           4       S'! \        . 4      S(! R+4      4       S'! \Y        . 4      S(! R4      4       S'! ^ V! R4      S P                  ,           4       S'! ^V! R4      S P                  ,           4       S'! RFV! R4      S P                  ,           4       ^\\        Pj                  Pl                  ,          pS'! \/        V4      V! R4      ^S P                  ,          ,           4       S'! \/        V^,          ^,
          4      V! R4      ^S P                  ,          ,           4       S'! \/        V^,          4      V! R4      ^S P                  ,          ,           4       \        Pb                  '       d   S'! \n        S(! R-4      4       MS'! \n        S(! R.4      4       S'! RS(! R4      4       S'! \p        S(! R4      4       S'! \?        4       S(! R4      4        ! V'V(3R/ lR\>        4      pS'! \r        Pt                  S(! R04      4       S'! \        \7        ^4      4      S(! R14      4       S'! \        \7        ^^A,          4      4      S(! R24      4       S'! \Y        R4      S(! R4      4       S'! \7        ^4      S(! R34      4       S'! \7        R44      S(! R34      4       ^p. \7        ^
4      \7        ^24      .pS(! R5VR,          ,           R6,           4      pV F  p\        V4      pV^ 8X  d   ^pV^,          pTpVV8:  d   V^,          pK  V^8:  d'   S'! \w        V4      V4       S'! \y        V4      V4       Ka  S'! \w        V4      VVV! R4      ,          ,           4       S'! \y        V4      VVV! R4      ,          ,           4       K  	  S'! \        \w        4       4      S(! R74      4       S'! \{        ^ 4      S(! R24      4       S'! \}        \.        4      S(! R24      4       S'! RGV! R4      S P`                  ,           4       S'! REV! R4      S P`                  ,           ^S P`                  ,          ,           4       R8pV! V4      pS'! \.        V4       \        Pb                  '       d   R	MRpV! VR9,           V,           4      p ! R: R;\>        4      pS'! VVV! \4        4      ,           ^@,           ^*V! R4      ,          ,           4       \7        ^d4       Uu. uF
  pV! 4       NK  	   pS'! V! 4       P@                  S(! R4      S P`                  ,           4       V! 4       p^;Vn?        ;Vn@        ;VnA        ;VnB        ;VnC        ;VnD        ;VnE        VnF        S'! VVV! \4        4      ,           ^@,           ^*V! R4      ,          ,           4       S'! V! 4       P@                  S(! R4      S P`                  ,           4       . RHOpR<p V R,           p!V!R,           p"V F  p\        \        V4      4      p#V#^8  d!   S(! V 4      \        V4      ,           ^,           p$M{V#R=8  d!   S(! V!4      \        V4      ,           ^,           p$MTV#R>8  d(   S(! V!4      ^\        V4      ^,           ,          ,           p$M&S(! V!4      ^\        V4      ^,           ,          ,           p$S'! VV$4       K  	  \        R?4      pS'! VS(! V!4      ^,           4       \        VR@RA4       S'! VS(! V!4      ^,           ^,           4       ^ RIKp%\        Pb                  '       d
   S(! RB4      p&MS(! RC4      p&S'! V%P                  \.        4      V&4       S'! V%P                  \.        4      V&4       R# u upi u upi )ITr   F5Pr      ui n2PinPr   c                     a ^*oV3R lp V # )r   c                     < S # r9   rM   r  s   r   inner<SizeofTest.test_objecttypes.<locals>.get_cell.<locals>.inner-      r   rM   )r  r  s    @r   get_cell-SizeofTest.test_objecttypes.<locals>.get_cell+  s    ALr   re  c                 T   < SP                  \        P                  ! V 4      V4       R # r9   )r  r   rr  )r   expected_sizer(   s   &&r   check_code_size4SizeofTest.test_objecttypes.<locals>.check_code_size2  s    ##CMM!$4mDr   6i13Pc                    a  V 3R  lpV# )c                     < S # r9   rM   r  s   r   r  =SizeofTest.test_objecttypes.<locals>.get_cell2.<locals>.inner7  r  r   rM   )r  r  s   f r   	get_cell2.SizeofTest.test_objecttypes.<locals>.get_cell26  s    Lr   2d3PPPN3PP3P2P2PnQ2Pr   n2PP2nPnc                       ] tR tRtRtR# )&SizeofTest.test_objecttypes.<locals>.Cid  rM   Nr  rM   r   r   r  r  d  s    r   r  6Pbz	6Pb 2P2nP32B2iBn4Prb  c                  ,    \         P                  ! 4       # r9   )r   r3  rM   r   r   func)SizeofTest.test_objecttypes.<locals>.func}  s    ==?"r   9PihcP9PhcP3PiccPPPc                      R # r9   rM   rM   r   r   r  r    s    Dr   16Pic                      <a  ] tR tRt o ]R 4       t]R 4       t Z! ] Z! R4      4        Z! ] Z! R4      4       RtV t	R# )&SizeofTest.test_objecttypes.<locals>.ci  c                     R # r9   rM   rM   r   r   rG   *SizeofTest.test_objecttypes.<locals>.c.foo      r   c                    R # r9   rM   )clss   &r   bar*SizeofTest.test_objecttypes.<locals>.c.bar  r  r   PPrM   N)
rN   rO   rP   rQ   staticmethodrG   classmethodr  rR   rS   rU   r  r  s   @r   r/  r    sJ        #tDz"#tDz""r   r/  c               3      "   ^x  R# 5ir   rM   rM   r   r   get_gen,SizeofTest.test_objecttypes.<locals>.get_gen  s	     Qws   	6P4cr  lPrp  PPPPPPPPPPPc                   l   <a  ] tR tRt o R tR tR t]! ]]]R4      t Z! ] Z! R4      4       Rt	V t
R# )	r  i  c                    V P                   # r9   _C__xrJ   s   &r   getx+SizeofTest.test_objecttypes.<locals>.C.getx  s
    488Or   c                    Wn         R # r9   r  )r(   values   &&r   setx+SizeofTest.test_objecttypes.<locals>.C.setx  s    e8r   c                
    V = R # r9   r  rJ   s   &r   delx+SizeofTest.test_objecttypes.<locals>.C.delx  s    r   r   5Pi)__xN)rN   rO   rP   rQ   r  r  r  propertyr  rR   rS   r  s   @r   r  r    s/     +3(tT2.A!T%[!!r   6P3l3P4Pi 3nP2nPP3nP2nPI13Pl4Pn9Pn12PIPc4P36P3P10P2P7P1PIPc                       ] tR tRtRtR# )2SizeofTest.test_objecttypes.<locals>.newstyleclassi  rM   Nr  rM   r   r   newstyleclassr    s    Tr   r  nnb   i   i @  z<stdin>r3   2Pn4P2Pn3Ps
   xxxxxxxxxx)r   r   r  r   rM   )d1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111ud   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿuP   ĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀu,  ￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿ux   𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀u  􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿􏿿)Nrf  rg  r   r   calcobjsizerq  check_sizeofrh  r
  	bytearray	__alloc__iter__closure__r5  complexr   r  datetime	timedeltadayscollectionsdefaultdictdefault_factoryr   __add____iter__DICT_KEY_STRUCT_FORMATr  keysvaluesitemsrZ  __dict__BaseExceptionUnicodeEncodeErrorUnicodeDecodeErrorUnicodeTranslateErrorEllipsisrq  encodings.iso8859_3charmap_build	iso8859_3decoding_tabler]  reversedfloatr   r  re  r  refinditerr  r  r  r   NotImplemented	_datetimedatetime_CAPIrK  r  slicesuperr   r  r/  rb  rp   rf   ghordmaxchrr2   weakrefrefproxy)*r(   rg  rs  samplessampler  r  r  r  r  r  r=  longdictr  rq  	encodingsr  INTERPRETER_FRAMEr/  r  r  PyLong_BASEPySet_MINSIZEr  minusedtmpnewsizefmttypeidr  r   oasciifieldscompactfieldsunicodefieldsmaxcharLr"  r   r  r  	__class__s*   f                                      @@r   test_objecttypesSizeofTest.test_objecttypes  s   ??||''))!!dE"I./eU2Y/0 	c4:V$F&!A!U6]Q[[]23  	d9;d,c5:>"isb)	
 	hj$$Q'c3	E
++T'];))4=9	 		**DMHSM,IJgalDJ'ciif& 	h  %%tE{3k%%55tE{Cckk4<(bkk4:&b$v,sAhVx0F'GG!KvW_`dWeNeef',Qx0x!CFAIx0hVx0F'GG"LPWYabfYgOgghq!fd6lX.D%EEIVU]^cUdLddea1a1Q!Qq!Aq;hVx0F'GG"LPWYabgYhOhhibggic#biik49%bhhj$s)$d2hW&d2779otG}-d299;g/d288:W.ajj$s)$motE{+ RAr2D4EF S!Q3T+5FG#B1b143DEhR!*  !4!4!C!CDah imT%[)hrlDJ'eAhS	"cnndffuRy0466C<O3OOP	#F""" ( 'aj#44s:;<dDL!
	# 
	# 	gif'883>?@d5k4:&bkk"R $t*-d2hd$dA3itqx/0dAq6lE$K!DFF(23d9ouT{QtvvX56 	d2hT
#hrlDJ'arT^^+,arT^^+,b%)dnn,-444c+b	Adnn,< <=c+q."#U2Y4>>1A%ABc+q.!59q/?#?@"""(DN+(DM*dDHnd2h'fhR!	" 	" 	" 	i%%tDz2d58nd4j)d5B< $t*-hrlDJ'eAhT
#eElDJ' uRy%),t++e34F&kG!|1S aiG#GW$!Q,!|c&k1%i'+c&k1wx~'=#=>i'WXd^-C)CD   	d35k4;'eAhT
#eCj$t*%b%)dff$%guRy466)AdffH45 &#Jc1///R#  	 	*F)mQ*@!AABFHUYNIZZ["'*-*Q*-mo&&Vtvv(=>O8999ac9AC9!#99ac9AC!#mQ*@!AABFHUYNIZZ[mo&&Vtvv(=>
6 #d*%+A#a&kG}%A.23'#a&0145'!SVaZ.8'!SVaZ.8!QK  Kam$q() 	9f%am$q(1,- 	"""G}HG}Hgkk#) 	gmmC (+A 1^ 	.s   z8z=c                H   \         P                  ! V4      \        P                  ! V4      ,           p\        P
                  ! V4      '       d/   \        P
                  ! V4      '       g   W@P                  ,          pV P                  \         P                  ! V4      V4       R # r9   )r   rr  rf  rg  r  
is_trackedrj  r    )r(   r<   baseextrar   s   &&&& r   check_slotsSizeofTest.check_slots1  sb    ==&)??==bmmD&9&9(((Hs+X6r   c                   V P                   p ! R  R\        4      pV! V! 4       \        4       R4        ! R R\        4      pV! V! . R7      R. /R4        ! R R\        4      pV! V! 4       . R4        ! R	 R
\        4      pV! V! 4       \	        4       R4        ! R R\
        4      pV! V! 4       \        4       R4       ^ RIHp  ! R RV4      pV! V! . R7      V! . R7      R4       R# )c                       ] tR tRtRtRtR# )!SizeofTest.test_slots.<locals>.BAi;  rM   Nr   r  r/  rN   rO   rP   rQ   	__slots__rR   rM   r   r   BArB  ;      %Ir   rF  r  c                       ] tR tRtRtRtR# ) SizeofTest.test_slots.<locals>.Di>  rM   NrC  rD  rM   r   r   DrI  >  rG  r   rJ  r  r  c                       ] tR tRtRtRtR# ) SizeofTest.test_slots.<locals>.LiA  rM   NrC  rD  rM   r   r   r6  rL  A  rG  r   r6  c                       ] tR tRtRtRtR# ) SizeofTest.test_slots.<locals>.SiD  rM   NrC  rD  rM   r   r   r  rN  D  rG  r   r  c                       ] tR tRtRtRtR# )!SizeofTest.test_slots.<locals>.FSiG  rM   NrC  rD  rM   r   r   FSrP  G  rG  r   rQ  )OrderedDictc                       ] tR tRtRtRtR# )!SizeofTest.test_slots.<locals>.ODiK  rM   NrC  rD  rM   r   r   ODrT  K  rG  r   rU  N)r>  r  rR  r  rK  r  r  rR  )	r(   r  rF  rJ  r6  r  rQ  rR  rU  s	   &        r   
test_slotsSizeofTest.test_slots7  s       	& 	&bdIK&	& 	&a"gRy$'	& 	&ac2t	& 	&ac35$	& 	&bdIK&+	& 	&b2hb)40r   c           	     
   \         P                  P                  p\         P                  P                  pV P                  p^ RIpV! VP                  4       V! R4      4        \        h  \         d)   pTP                  pTe   T! Ya! R4      4        Rp?MRp?ii ; iT! \        P                  T! R4      T P                  ,           T P                  ^\        \        P                  4      ,           ,          ,           4       R# )r   Nre  2P2ir   )r   r   r  rq  r  _astASTr%   rm   r   r-  re  r
  )r(   r  rs  r  rZ  rp   tbs   &      r   test_pythontypesSizeofTest.test_pythontypesO  s    ||''))!!dhhj$s)$	(O 	(B~b$v,'		( 	ciirTVV+dffC		N8J.KKLs   #A) )B4BBc                2   \         P                  ! 4       pV P                  VP                  4       V P                  VP                  4       R  pR pV P                  \        4      ;_uu_ 4        \         P                  ! VRR7       RRR4       \         P                  ! 4       pV P                  VP                  4       V P                  VP                  4       V P                  \        4      ;_uu_ 4        \         P                  ! RVR7       RRR4       \         P                  ! 4       pV P                  VP                  4       V P                  VP                  4       \         P                  ! VR7       \         P                  ! 4       pV P                  VP                  V4       V P                  V^ ,          V4       V P                  VP                  R4       V P                  V^,          R4       \         P                  ! VR7       \         P                  ! 4       pV P                  VP                  V4       V P                  V^ ,          V4       V P                  VP                  V4       V P                  V^,          V4       \         P                  ! V!   \         P                  ! 4       pV P                  VP                  4       V P                  VP                  4       R#   + '       g   i     ELr; i  + '       g   i     EL; i)c                      R # r9   rM   r   s   *r   <lambda>0SizeofTest.test_asyncgen_hooks.<locals>.<lambda>k      tr   c                      R # r9   rM   ra  s   *r   rb  rc  l  rd  r   invalid)	firstiter	finalizerN)rg  )rh  )	r   get_asyncgen_hooksr   rg  rh  r$   r%   set_asyncgen_hooksrl   )r(   oldrg  rh  curhookss   &     r   test_asyncgen_hooksSizeofTest.test_asyncgen_hooksf  s   $$&#--(#--(#	#	y))""Y)L *$$&#--(#--( y))""Y)L *$$&#--(#--(3&&(eooy1eAh	*eoot,eAh%3&&(eooy1eAh	*eooy1eAh	*$$$&#--(#--(= *)) *))s   /K18L1L	L	c                    \         P                  ! R 4      p\        RV4      w  r#pV P                  VR4       V P                  VR4       R# )z
            import sys
            class MyStderr:
                def write(self, s):
                    sys.stderr = None
            sys.stderr = MyStderr()
            1/0
        r   r   N)r  r  r   r    r  s   &    r   /test_changing_sys_stderr_and_removing_reference:SizeofTest.test_changing_sys_stderr_and_removing_reference  sI         -T48c"c"r   )re  rj  rh  rl  )rN   rO   rP   rQ   rm  r   r   r  ru  r  r  r8  r>  rV  r]  rn  rq  rR   rS   __classcell__)r7  rU   s   @@r   rc  rc    sT     S <<,,LJ<>M
\,|710M.&)P# #r   rc  c                   :  a  ] tR tRt o R tRRR]P                  R,           3R ltR tR t	]
P                  ! ]P                  R	4      ]
P                  ! ]P                  R
8H  R4      R 4       4       tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestRemoteExeci  c                B    \         P                  P                  4        R # r9   r   rJ   s   &r   r   TestRemoteExec.tearDown  r   r   Nr   
_remote.pyc           	        V P                  \        P                  V4       \        VR 4      ;_uu_ 4       pVP	                  V4       RRR4       \        P
                  R,           pV P                  \        P                  V4       \        4       p\        VR 4      ;_uu_ 4       pVP	                  RV RV R24       RRR4       \        P                  .p	V'       d   V	P                  V4       V	P                  V4       \        P                  ! \        P                  \        P                  4      p
V
P                  RV34       V
P                  \         4       V
P#                  ^4       \$        P&                  ! V	\$        P(                  \$        P(                  VR7      ;_uu_ 4       pRp V
P+                  4       w  rV
P-                  4        VP/                  R4      pV P1                  VR	4       \        P2                  ! VP4                  V4       VP7                  R
4       VP/                  R4      pV P1                  VR4       VP9                  RR7      w  ppVP:                  VV3Ve   VP-                  4        VP=                  4        VP?                  4        VPA                  \         R7       uuRRR4       #   + '       g   i     EL; i  + '       g   i     EL ; i  \B         d    T PE                  R4        Mi ; i Te   TP-                  4        TP=                  4        TP?                  4        TPA                  \         R7       MO  Te   TP-                  4        TP=                  4        TP?                  4        TPA                  \         R7       i ; i RRR4       R#   + '       g   i     R# ; i)wNz
_target.pyz
import sys
import time
import socket

# Connect to the test process
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('localhost', z))

a  

# Signal that the process is ready
sock.sendall(b"ready")

print("Target process running...")

# Wait for remote script to be executed
# (the execution will happen as the following
# code is processed as soon as the recv call
# unblocks)
sock.recv(1024)

# Do a bunch of work to give the remote script time to run
x = 0
for i in range(100):
    x += i

# Write confirmation back
sock.sendall(b"executed")
sock.close()
	localhostrP  i   s   readys   continues   executedg      $@rr  z:Insufficient permissions to execute code in remote process)#
addCleanupr   unlinkopenr   TESTFNr	   r   r   extendrI  socketAF_INETSOCK_STREAMbind
settimeoutr   listenr   rU  rV  acceptcloserecvr    remote_execpidsendallrW  r   kill	terminaterL  PermissionErrorr   )r(   script_codepython_argsrL  prologuescript_pathrf   rS  portcmdserver_socketr   client_socketr   responser&   r   s   &&&&&&           r   _run_remote_exec_test$TestRemoteExec._run_remote_exec_test  s    		((+6+s##qGGK  $ !!L0	((&1!&#!GG  !6 "	
   D ~~JJ{#

6 fnnf6H6HIK./  /Qc%/__%/__"%    $( M1#0#7#7#9 ##%(--d3  84 +6 %%k2 )--d3  ;7 "&!1!1$!1!?6 !,!'')		 		-	0E   m $## P # \Z[\[ ,!'')		 		-	0	 !,!'')		 		-	00E       s]   K $K*N0.B=K(+A
N0 K	K%	(LMLMAN0AN""N00O	c                z    R pV P                  V4      w  r#pV P                  RV4       V P                  VR4       R# )-print("Remote script executed successfully!")$   Remote script executed successfully!r   N)r  r   r    r(   scriptr   r&   r   s   &    r   test_remote_execTestRemoteExec.test_remote_exec  s;    @%)%?%?%G"
F=vF%r   c                    R p\         P                  ! \        P                  4      R,           pV P	                  VVR7      w  r4pV P                  RV4       V P                  VR4       R# )r  s   _bytes_remote.pyr  r  r   N)rS  r_  r   r  r  r   r    r(   r  r  r   r&   r   s   &     r   test_remote_exec_bytes%TestRemoteExec.test_remote_exec_bytes  sa    @kk)"2"236II%)%?%?@K &@ &M"
F=vF%r   zrequires undecodable pathrx  z,undecodable paths are not supported on macOSc                    R p\         P                  R,           pV\        P                  ! V4      3 F=  pV P	                  VVR7      w  r4pV P                  RV4       V P                  VR4       K?  	  R# )r  s   _undecodable_remote.pyr  r  r   N)r   TESTFN_UNDECODABLErS  fsdecoder  r   r    r  s   &     r   test_remote_exec_undecodable+TestRemoteExec.test_remote_exec_undecodable  st     A225NN'[)ABK)-)C)CFDO *D *Q&JMMA6JVS)	 Cr   c           
     "   R p\         P                  R,           p\        VR4      ;_uu_ 4       pVP                  V4       RRR4       V P	                  \         P
                  V4       \        P                  ! R\        R7      ;_uu_ 4       p\        P                  ! R\        R7      ;_uu_ 4       p\        P                  ! \        P                  ! 4       \        P                  P                  V4      4       \        R4       V P!                  VP#                  4       R4       V P!                  VP#                  4       R	4       RRR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L.; i  + '       g   i     R# ; i)
zIimport sys;print("Remote script executed successfully!", file=sys.stderr)z_remote_self.pyrz  Nz
sys.stderr)new_callablez
sys.stdoutDonez%Remote script executed successfully!
zDone
)r   r  r~  r   r|  r}  r   patchr   r   r  rS  getpidrg  rh  printr    r!   )r(   r4   filerf   mock_stderrmock_stdouts   &     r   "test_remote_exec_with_self_process1TestRemoteExec.test_remote_exec_with_self_process   s     ["33$__GGDM 	(($/ZZ8<<Lx@@K		RWW__T-BCf  !5!5!79ab  !5!5!7B	 A =< __ A@ =<<s0   E%E=1BE*	E=E'	*E:5E==F	c                    R pRpV P                  W!R7      w  r4pV P                  V^ 4       V P                  RV4       V P                  RV4       V P                  VR4       R# )zimport sys
def audit_hook(event, arg):
    print(f"Audit event: {event}, arg: {arg}".encode("ascii", errors="replace"))
sys.addaudithook(audit_hook)
z/
print("Remote script executed successfully!")
)r  r  s2   Audit event: cpython.remote_debugger_script, arg: r   N)r  r    r   )r(   r  r  r   r&   r   s   &     r   #test_remote_exec_raises_audit_event2TestRemoteExec.test_remote_exec_raises_audit_event/  sh     &*%?%?%?%Z"
FQ'=vFKVT%r   c                    R pV P                  V4      w  r#pV P                  V^ 4       V P                  RV4       V P                  VP                  4       R4       R# )z,
raise Exception("Remote script exception")
s   Remote script exception   Target process running...Nr  r    r   rX  r  s   &    r   test_remote_exec_with_exception.TestRemoteExec.test_remote_exec_with_exception@  sV     &*%?%?%G"
FQ'0&9)EFr   c                    \         P                  ! R 4      pV P                  V4      w  r#pV P                  V^ 4       V P                  VR4       V P	                  RV4       R# )z
            assert globals() is not __import__("__main__").__dict__
            print("Remote script executed successfully!")
            r   s#   Remote script executed successfullyN)r  r  r  r    r   r  s   &    r   'test_new_namespace_for_each_remote_exec6TestRemoteExec.test_new_namespace_for_each_remote_execN  s[    
 &*%?%?%G"
FQ'%<fEr   c                    \         P                  P                  4       pR VR&   V P                  \        R4      ;_uu_ 4        V P                  RVR7       RRR4       R#   + '       g   i     R# ; i)r   PYTHON_DISABLE_REMOTE_DEBUG5Remote debugging is not enabled in the remote processprint('should not run'))rL  N)rS  rT  r  assertRaisesRegexr'   r  )r(   rL  s   & r    test_remote_exec_disabled_by_env/TestRemoteExec.test_remote_exec_disabled_by_env[  sU    jjoo-0)*##L2ijj&&'@c&J kjjjs   A  A1	c                    V P                  \        R 4      ;_uu_ 4        V P                  RR.R7       RRR4       R#   + '       g   i     R# ; i)r  r  -Xdisable-remote-debug)r  N)r  r'   r  rJ   s   &r   $test_remote_exec_disabled_by_xoption3TestRemoteExec.test_remote_exec_disabled_by_xoptionb  s>    ##L2ijj&&'@OgNh&i kjjjs	   >A	c                    V P                  \        4      ;_uu_ 4        \        P                  ! R R4       RRR4       R#   + '       g   i     R# ; i)i r  N)r$   OSErrorr   r  rJ   s   &r   test_remote_exec_invalid_pid+TestRemoteExec.test_remote_exec_invalid_pidg  s1    w''OOE#<= ('''s   A  A	c                H   V P                  \        4      ;_uu_ 4        \        P                  ! ^ R4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! ^ ^{4       RRR4       R#   + '       g   i     LO; i  + '       g   i     R# ; ir  )r$   r%   r   r  rJ   s   &r   test_remote_exec_invalid_script.TestRemoteExec.test_remote_exec_invalid_scriptl  s`    y))OOAt$ *y))OOAs# *) *))))s   A=B=B	B!	c                    R pV P                  V4      w  r#pV P                  V^ 4       V P                  RV4       V P                  VP                  4       R4       R# )z
this is invalid python code
s   SyntaxErrorr  Nr  r  s   &    r   test_remote_exec_syntax_error,TestRemoteExec.test_remote_exec_syntax_errors  sU     &*%?%?%G"
FQ'nf-)EFr   c                    V P                  \        4      ;_uu_ 4        \        P                  ! \        P
                  ! 4       R 4       RRR4       R#   + '       g   i     R# ; i)invalid_script_pathN)r$   r  r   r  rS  r  rJ   s   &r   $test_remote_exec_invalid_script_path3TestRemoteExec.test_remote_exec_invalid_script_path}  s7    w''OOBIIK)>? ('''s   +AA$	c                   \         P                  R ,           pV P                  \         P                  V4       \	        VR4      ;_uu_ 4       pVP                  R4       RRR4       \        P                  P                  4       pRVR&   \        RRV R23/ VB w  rEpV P                  R	V4       V P                  VR
4       R#   + '       g   i     Lm; i)rx  rz  r  Nr   r  r   .import os, sys; sys.remote_exec(os.getpid(), "")   Remote debugging is not enabledr   )r   r  r|  r}  r~  r   rS  rT  r  r   r   r    )r(   r  rf   rL  r   r*   r   s   &      r   6test_remote_exec_in_process_without_debug_fails_envvarETestRemoteExec.test_remote_exec_in_process_without_debug_fails_envvar  s    !!L0	((&1&#!GGCD jjoo-0)*+D4bcibjjl2muqtu8#>c" s   CC	c                f   \         P                  R ,           pV P                  \         P                  V4       \	        VR4      ;_uu_ 4       pVP                  R4       RRR4       \        RRRV R24      w  r4pV P                  RV4       V P                  VR	4       R#   + '       g   i     LJ; i)
rx  rz  r  Nr  r   r  r  r  r   )	r   r  r|  r}  r~  r   r   r   r    )r(   r  rf   r   r*   r   s   &     r   7test_remote_exec_in_process_without_debug_fails_xoptionFTestRemoteExec.test_remote_exec_in_process_without_debug_fails_xoption  s    !!L0	((&1&#!GGCD  ,,DdN|  ~D  }E  EG  MH  I8#>c" s   B  B0	rM   )rN   rO   rP   rQ   r   r   r  r  r  r  r   r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  rR   rS   rT   s   @r   ru  ru    s     % >Bt')*3*:*:\*I^1@&& 557RS__S\\X-CE*E T*C&"GFKj
>
$G@
#	# 	#r   ru  c                   2   a  ] tR tRt o R tR tR tRtV tR# )
TestSysJITi  c                    \         P                  P                  4       pR V 2p\        RVRR7       \        RVRR7       R# )z.import sys; assert sys._jit.is_available() is r   r~  
PYTHON_JITr   N)r   _jitis_availabler   r(   	availabler  s   &  r   test_jit_is_available TestSysJIT.test_jit_is_available  s8    HH))+	A)Mv#6v#6r   c                    \         P                  P                  4       pR p\        RVP	                  RR7      RR7       \        RVP	                  VR7      RR7       R# )z5import sys; assert sys._jit.is_enabled() is {enabled}r   Fenabledr~  r  r   N)r   r  r  r   r  r  s   &  r   test_jit_is_enabledTestSysJIT.test_jit_is_enabled  sG    HH))+	Hv}}U};Lv}}Y}?CPr   c                    \         P                  P                  4       p\        P                  ! R 4      p\        RVP                  RR7      RR7       \        RVP                  VR7      RR7       R# )a  
            import _testcapi
            import _testinternalcapi
            import sys

            def frame_0_interpreter() -> None:
                assert sys._jit.is_active() is False

            def frame_1_interpreter() -> None:
                assert sys._jit.is_active() is False
                frame_0_interpreter()
                assert sys._jit.is_active() is False

            def frame_2_jit(expected: bool) -> None:
                # Inlined into the last loop of frame_3_jit:
                assert sys._jit.is_active() is expected
                # Insert C frame:
                _testcapi.pyobject_vectorcall(frame_1_interpreter, None, None)
                assert sys._jit.is_active() is expected

            def frame_3_jit() -> None:
                # JITs just before the last loop:
                for i in range(_testinternalcapi.TIER2_THRESHOLD + 1):
                    # Careful, doing this in the reverse order breaks tracing:
                    expected = {enabled} and i == _testinternalcapi.TIER2_THRESHOLD
                    assert sys._jit.is_active() is expected
                    frame_2_jit(expected)
                    assert sys._jit.is_active() is expected

            def frame_4_interpreter() -> None:
                assert sys._jit.is_active() is False
                frame_3_jit()
                assert sys._jit.is_active() is False

            assert sys._jit.is_active() is False
            frame_4_interpreter()
            assert sys._jit.is_active() is False
            r   Fr  r~  r  r   N)r   r  r  r  r  r   r  r  s   &  r   test_jit_is_activeTestSysJIT.test_jit_is_active  sX    HH))+	%'
P 	v}}U};Lv}}Y}?CPr   rM   N)	rN   rO   rP   rQ   r  r  r  rR   rS   rT   s   @r   r  r    s     7Q+Q +Qr   r  r9  )2r"   rq  r  r  rH   r  r  rS  r  r  rf  r   r   r  test.supportr   r   r   r   r   r   r  r   r   test.support.socket_helperr	   r
   r   r   r   
concurrentr   r  r  r   r   r  TestCaser   rZ   r   r   r  r  rc  support_remote_exec_onlyru  r  rN   mainrM   r   r   <module>r     s      	 	   	     
      " N 7 ) & , &'   = " 7!h'' 7!t=8,, =@%BX&& %BVjGH%% jGZ# Y<** Y< Y<x A#"" A# A#F &&x#X&& x#  'x#t9Q"" 9Qx zMMO uE  Ls   <F; ;	GG