
    /hh<;                        S SK r S SKrS SKr " S S5      rS rS rS rS r\ R                  S 5       r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$\%S$:X  a7  S S%K&J'r'  \'" 5         \RP                  S&   r)\*" 5       \)   " \RP                  S'S 6   gg)(    Nc                   J    \ rS rSrS\4S jrS rS rS r\	S 5       r
S rS	rg)
TestHook   Nc                 L    U=(       d    SU l         X l        / U l        SU l        g )N F)raise_on_eventsexc_typeseenclosed)selfr   r	   s      9/opt/python-3.13.8/usr/lib/python3.13/test/audit-tests.py__init__TestHook.__init__   s"    .4" 	    c                 2    [         R                  " U 5        U $ N)sysaddaudithookr   as     r   	__enter__TestHook.__enter__   s    r   c                 $    U R                  5         g r   )closer   s     r   __exit__TestHook.__exit__   s    

r   c                     SU l         g )NT)r   r   s    r   r   TestHook.close!   s	    r   c                 J    U R                    Vs/ s H  oS   PM	     sn$ s  snf )Nr   )r
   )r   is     r   seen_eventsTestHook.seen_events$   s     "ii(i!i(((s    c                     U R                   (       a  g U R                  R                  X45        XR                  ;   a  U R	                  SU-   5      eg )Nz
saw event )r   r
   appendr   r	   )r   eventargss      r   __call__TestHook.__call__(   sE    ;;		%'(((--u 455 )r   )r   r	   r   r
   )__name__
__module____qualname____firstlineno__RuntimeErrorr   r   r   r   propertyr"   r(   __static_attributes__r   r   r   r   r      s6     (,l  ) )6r   r   c                 2    X:w  a  [        U < SU< 35      eg )N should equal AssertionErrorxys     r   assertEqualr8   1   s"    vuN1%899 r   c                 2    X;  a  [        U < SU< 35      eg )Nz should be in r3   elseriess     r   assertInr=   6   s#    	v^F:>?? r   c                 2    X;   a  [        U < SU< 35      eg )Nz should not be in r3   r:   s     r   assertNotInr?   ;   s#    	|v%7zBCC r   c                     [        U 5      [        U5      :w  a  [        U < SU< 35      e[        S [        X5       5       5      (       a  [        U < SU< 35      eg )Nr2   c              3   .   #    U  H  u  pX:g  v   M     g 7fr   r   ).0ixiys      r   	<genexpr>&assertSequenceEqual.<locals>.<genexpr>C   s     
,)28)s   )lenr4   anyzipr5   s     r   assertSequenceEqualrJ   @   sX    
1vQuN1%899

,#a)
,,,uN1%899 -r   c              #   p   #     S v   g ! [          a   n[        U[        5      (       a  e  S nAg S nAff = f7fr   )BaseException
isinstancer4   )ex_typeexs     r   assertRaisesrP   G   s4     @ @b.)) *@s    6	 6
3.636c                      [        5        n [        R                  " SSSS5        [        U R                  S   S   S5        [        U R                  S   S   S5        S S S 5        g ! , (       d  f       g = f)N
test_event         r   )rS   rT   rU   )r   r   auditr8   r
   )hooks    r   
test_basicrX   R   sQ    	t		,1a(DIIaLO\2DIIaLOY/ 
s   AA&&
A4c                     [        SS9 n [        5        n[        R                  " S5        [        SU R                  5        [        SUR                  5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nsys.addaudithookr   rR   )r   r   rV   r=   r"   r?   hook1hook2s     r   test_block_add_hookr_   Y   s^     
"4	5Z5IIl#\5#4#45e&7&78  
6	5Z 
6	5s#   A:AA)A:)
A7	3A::
Bc                      [        [        5         [        S[        S9 n [        5        n S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)NrZ   )r   r	   )rP   rL   r   r\   s     r   !test_block_add_hook_baseexceptionra   c   sR    	m	$.
u 	
 
%	$
 	
 
 
%	$s7   A'AAAA'
AA
A$	 A''
A5c            	         SS K n SnU R                  U5      n[        5        n[        XR	                  U R                  U5      5      5         [        SS5       nU R                  X5        S S S 5        [        SS5       n[        XR                  U5      5        S S S 5        [        R                  " S5         S S S 5        WR                   VVs/ s H  u  pVUS:X  d  M  US   US   4PM     nnn[        XqU R                  4/S-  5        UR                   VVs/ s H  u  pVUS	:X  d  M  US   PM     nnn[        Xr/5        UR                   VVs/ s H  u  pVUS
:X  d  M  UPM     nnn[        US
/5        g ! , (       d  f       GN= f! , (       d  f       N= f! [        R                  " S5        f = f! , (       d  f       GN= fs  snnf s  snnf s  snnf )Nr   r   bcrS   rT   rU   ztest-marshal.binwbrbzmarshal.dumpsrS   rT   zmarshal.loadszmarshal.load)marshaldumpsr   r8   loadsopendumploadosunlinkr
   rJ   version)rh   opayloadrW   fer   actuals           r   test_marshalrv   n   ss    AmmAG	tA}}W]]1%567	*($/1Q" 0($/1A||A/ 0 II() 
 (,yyIytqA4HlqtQqTlyFIW__!5 6 :;#yyAytqA,@dadyFA	* II=IDAn)<aIF= 01 0/// II() 
 J B >sw   *F7FE9+F?FF"F7G	 G	G+	GG"G9
F	F
F	FF44F77
Gc                     SS K n  " S S5      nU R                  U" 5       5      nU R                  S5      n[        SU R                  U5      5        [	        SS9 n[        [        5         U R                  U5        S S S 5        U R                  U5        S S S 5        g ! , (       d  f       N(= f! , (       d  f       g = f)Nr   c                       \ rS rSrS rSrg) test_pickle.<locals>.PicklePrint   c                     [         S4$ )N)Pwned!)str)r   ps     r   __reduce_ex__.test_pickle.<locals>.PicklePrint.__reduce_ex__   s    ##r   r   N)r*   r+   r,   r-   r   r0   r   r   r   PicklePrintry      s    	$r   r   rc   r|   zpickle.find_classr[   )pickleri   r8   rj   r   rP   r.   )r   r   	payload_1	payload_2rW   s        r   test_pickler      s    $ $ []+I56I &,,y12	"5	6$,'LL# ( 	Y 
7	6'' 
7	6s$   B/*B<B/
B,	(B//
B=c                      " S S5      n  " S S5      n " S SU 5      nU " 5       n[        5        nSUl        U4Ul        [        R                  S   R                  X!45        UR                  Ul        S	Ul        Xl        S S S 5        WR                   VVs/ s H  u  pSUS
:X  d  M  US   US   4PM     nnn[        US4US4US4WS4/U5        g ! , (       d  f       NW= fs  snnf )Nc                       \ rS rSrSrg)test_monkeypatch.<locals>.A   r   Nr*   r+   r,   r-   r0   r   r   r   Ar          r   r   c                       \ rS rSrSrg)test_monkeypatch.<locals>.B   r   Nr   r   r   r   Br      r   r   r   c                       \ rS rSrSrg)test_monkeypatch.<locals>.C   r   Nr   r   r   r   Cr      r   r   r   X	__bases__{   zobject.__setattr__r   rS   r*   	__class__)r   r*   r   type__dict____set__r   new_attrr   r
   rJ   )r   r   r   r   rW   rt   ru   s          r   test_monkeypatchr      s      A  	
A	t
dk"**1d3ZZ

 
 (,yyNytqA9M4MlqtQqTlyFN
Z1k*Q,<q+>NOQW 
 Os   ACC$)C$
C!c                     SS K nUR                  5       R                  n[	        S1S9 n[
        U S4[
        [        R                  S4[
        SS4[
        U SS	S S S S
S 4	X 44 H,  tpEU(       d  M  [        [        5          U" U6    S S S 5        M.     S S S 5        WR                   VVs/ s H#  u  pgUS:X  d  M  US   (       d  M  US   US   4PM%     nnnUR                   VVs/ s H#  u  pgUS:X  d  M  US   (       a  M  US   US   4PM%     n	nn[        U S4[        R                  S4SU S4U(       a  U S4OS 4 V
s/ s H
  n
U
c  M  U
PM     sn
U5        [        / U	5        g ! [         a    S n GNVf = f! [         a    XB:X  a  S n[        ee f = f! , (       d  f       GMB  = f! , (       d  f       GN= fs  snnf s  snnf s  sn
f )Nr   rk   r[   rrg   rU   rf   wFc                      g)NrS   r   r   s    r   <lambda>test_open.<locals>.<lambda>   s    r   rS   rT   )rU   r   )sslcreate_default_contextload_dh_paramsImportErrorr   rk   r   
executablerP   r.   NotImplementedErrorr
   rJ   )testfnr   r   rW   fnr'   rt   r   actual_modeactual_flagr!   s              r   	test_openr      s   335DD 
6(	+t633>>4(1dO63D$e\J$
IB l+I ,+
 
,* -1IINIDAf<1<AaD!A$<IKN,0IIRIDAf<QqT<AaD!A$<IKR %"0d
	
  
	
 	 K(U  $ + +)-** ,+ 
,	+* OR
	
sw   E' AF) FE:F)+F;;F;F;'G7GGGG'E76E7:F	F
F& 	F))
F8c                    ^ / mU4S jn [         R                  " U 5      n [        5        n[        S5        SUl        [        S5        SUl        [        S5        SUl        [        S5        S	Ul        S S S 5        [         R                  " U5        [        S
/S-  T5        g ! , (       d  f       N5= f! [         R                  " U5        f = f)Nc                 z   > U R                   [        R                  R                  :X  a  TR	                  U5        g g r   )f_coder   r(   __code__r%   )framer&   r'   traceds      r   tracetest_cantrace.<locals>.trace   s,    <<8,,555MM%  6r   1F2T3rS   4r   call   )r   settracer   eval__cantrace__rJ   )r   oldrW   r   s      @r   test_cantracer      s    F! ,,u
CZ4I !&DI !%DI !"DI !"D# & 	S1f-+ Z& 	Ss#   
B4 A	B#4B4 #
B1-B4 4Cc                      SS K n [        5        nU R                  SS5        [        UR                  S   S   S S S5        S S S 5        g ! , (       d  f       g = f)Nr   r      rS   rT   )r   r   )mmapr   r8   r
   )r   rW   s     r   	test_mmapr     sA    	t		"aDIIaLOBQ'1 
s   2A


Ac                  n   ^ S mU4S jn [         R                  " U 5        T[         l        [        S5      e)Nc                 F    U [         La  [        R                  " XU5        g g r   )r.   r   __excepthook__)r	   	exc_valueexc_tbs      r   
excepthook#test_excepthook.<locals>.excepthook  s    <'xF; (r   c                    > U S:X  ag  [        US   US   5      (       d  [        SUS   < SUS   < S35      eUS   T:w  a  [        SUS    S	T 35      e[        U [	        US   5      5        g g )
Nzsys.excepthookrT   rS   zExpected isinstance(z, )r   	Expected  == )rM   	TypeError
ValueErrorprintrepr)r&   r'   r   s     r   rW   test_excepthook.<locals>.hook  s    $$d1gtAw//"6tAwkQ{RS TUUAw*$ 9T!WIT*!FGG%d1g' %r   zfatal-error)r   r   r   r.   )rW   r   s    @r   test_excepthookr     s/    <( TCN
}
%%r   c                     ^ SSK Jn   S mU4S jn[        R                  " U5        T[        l        U " [        S5      S5        g )Nr   )err_formatunraisablec                     g r   r   )hookargss    r   unraisablehook+test_unraisablehook.<locals>.unraisablehook.  s    r   c                    > U S:X  aN  US   T:w  a  [        SUS    ST 35      e[        U [        US   R                  5      US   R                  5        g g )Nzsys.unraisablehookr   r   r   rS   )r   r   r   r   err_msg)r&   r'   r   s     r   rW   !test_unraisablehook.<locals>.hook1  s]    ((Aw.( 9T!WIT.9I!JKK%d1g//0$q'//B )r   znonfatal-errorz%Exception ignored for audit hook test)	_testcapir   r   r   r   r.   )r   rW   r   s     @r   test_unraisablehookr   +  s=    .C T'C&67@Br   c                      SSK Jn JnJnJn  S n[
        R                  " U5        U " US5      nU" US5         U" US5        [        S5      e! [         a     Of = fUR                  5       nU" U5        g )Nr   )OpenKeyEnumKeyCloseKeyHKEY_LOCAL_MACHINEc                 J    U R                  S5      (       d  g [        U /UQ76   g )Nzwinreg.
startswithr   r&   r'   s     r   rW   test_winreg.<locals>.hook@  s#    	**edr   Softwarei'  z%Expected EnumKey(HKLM, 10000) to fail)
winregr   r   r   r   r   r   r.   OSErrorDetach)r   r   r   r   rW   kkvs          r   test_winregr   =  sy    EE
 T"J/AAqMD5 BCC  
 
BRLs   	A 
AAc                  8   SS K n S n[        R                  " U5        U R                  5         U R                  U R                  U R
                  5      n UR                  S5        UR                  5         g ! [         a     Nf = f! UR                  5         f = f)Nr   c                 J    U R                  S5      (       a  [        U /UQ76   g g )Nzsocket.r   r   s     r   rW   test_socket.<locals>.hookW  %    I&&%$ 'r   )z	127.0.0.1i  )	socketr   r   gethostnameAF_INETSOCK_STREAMbind	Exceptionr   )r   rW   socks      r   test_socketr   T  s      T
 ==););<D		%& 	

   	

s$   A7 7
BB BB Bc                      SS K n S n[        R                  " U5        U R                  SS9  [	        5       nU/nU R                  U5        U R                  U5        g )Nr   c                 J    U R                  S5      (       a  [        U /UQ76   g g )Nzgc.r   r   s     r   rW   test_gc.<locals>.hookm  s%    E""%$ #r   rS   )
generation)gcr   r   get_objectsobjectget_referrersget_referents)r  rW   r6   r7   s       r   test_gcr
  j  sR      TNNaN A	
AQQr   c                     SS K n S n[        R                  " U5        U R                  R	                  S5      n UR                  SS5        UR                  5         g ! [         a    [        SS5         N)f = f! UR                  5         f = f)Nr   c                 P    U R                  S5      (       a  [        U /USS  Q76   g g )Nzhttp.client.rS   r   r   s     r   rW   test_http_client.<locals>.hook  s+    N++%#$qr(# ,r   zwww.python.orgGET/zhttp.client.sendz[cannot send])	http.clientr   r   clientHTTPConnectionrequestr   r   r   )httprW   conns      r   test_http_clientr  |  su    $ T;;%%&67DUC  	

  3 /23 	

s#   A A63A9 5A66A9 9Bc                     SS K n S n[        R                  " U5        U R                  S5      nU R	                  S5      n [        U R                  S5      (       a.  UR                  S5         UR                  S5        [        S5      eUR                  5         UR                  5         g ! U R                   a     N3f = f! UR                  5         UR                  5         f = f)Nr   c                 J    U R                  S5      (       a  [        U /UQ76   g g )Nzsqlite3.r   r   s     r   rW   test_sqlite3.<locals>.hook  s%    J''%$ (r   z:memory:enable_load_extensionFtestz'Expected sqlite3.load_extension to fail)sqlite3r   r   connect
Connectionhasattrr  load_extensionr.   OperationalErrorr   )r  rW   cx1cx2s       r   test_sqlite3r$    s      T
//*
%C


Z
(C7%%'>??%%e,N""6* ##LMM				 ++ 
 					s0   ,C .B+ ?C +B>;C =B>>C "C#c                  X    SS K n S nU R                  " U5        U R                  " 5         g )Nr   c                 v    U R                  S5      (       a#  [        XS   R                  R                  5        g g )Nsys.r   )r   r   r   co_namer   s     r   rW   test_sys_getframe.<locals>.hook  s.    F##%a//0 $r   )r   r   	_getframer   rW   s     r   test_sys_getframer,    s#    1 TMMOr   c                  X    SS K n S nU R                  " U5        U R                  " 5         g )Nr   c                 J    U R                  S5      (       a  [        U /UQ76   g g )Nr'  r   r   s     r   rW   )test_sys_getframemodulename.<locals>.hook  s%    F##%$ $r   )r   r   _getframemodulenamer+  s     r   test_sys_getframemodulenamer1    s&      Tr   c                  4  ^ SS K n S n[        R                  " U5        U R                  5       mTR	                  5          " U4S jS5      nU R                  U" 5       S5      nTR	                  5         U R                  U" 5       5      nUR                  5         g )Nr   c                 H    U R                  S5      (       a  [        X5        g g )N)z_thread.zcpython.PyThreadStateztest.r   r   s     r   rW   test_threading.<locals>.hook  s"    JKK% Lr   c                   (   > \ rS rSrS rU 4S jrSrg)!test_threading.<locals>.test_funci  c                     g)Nz<test_func>r   r   s    r   __repr__*test_threading.<locals>.test_func.__repr__  s    =r   c                 R   > [         R                  " S5        TR                  5         g )Nztest.test_func)r   rV   release)r   locks    r   r(   *test_threading.<locals>.test_func.__call__  s    II&'LLNr   r   N)r*   r+   r,   r-   r8  r(   r0   )r<  s   r   	test_funcr6    s    0	 	r   r>  r   )_threadr   r   allocate_lockacquirestart_new_threadstart_joinable_threadjoin)r?  rW   r>  r!   handler<  s        @r   test_threadingrF    sv     T  "DLLN  	  b1ALLN**9;7F
KKMr   c                     ^ SS K n  " S S[        5      mU4S jn[        R                  " U5         U R	                  S S5        g ! T a     g f = f)Nr   c                       \ rS rSrSrg)1test_threading_abort.<locals>.ThreadNewAbortErrori  r   Nr   r   r   r   ThreadNewAbortErrorrI    r   r   rJ  c                     > U S:X  a  T" 5       eg )Nzcpython.PyThreadState_Newr   )r&   r'   rJ  s     r   rW   "test_threading_abort.<locals>.hook  s    //%'' 0r   c                      g r   r   r   r   r   r   &test_threading_abort.<locals>.<lambda>  s    r   r   )r?  r   r   r   rB  )r?  rW   rJ  s     @r   test_threading_abortrO    sN    i ( T  r2 s   A AAc                      SS K n S n[        R                  " U5         U R                  S5        g ! [         a  nUR
                  S:w  a  e  S nAg S nAff = f)Nr   c                 N    U R                  S5      (       a  [        XS   5        g g )Nz_wmi.r   r   r   s     r   rW   !test_wmi_exec_query.<locals>.hook  s$    G$$%a! %r   z#SELECT * FROM Win32_OperatingSystemi  )_wmir   r   
exec_queryWindowsErrorwinerror)rS  rW   rt   s      r   test_wmi_exec_queryrW    sR    " T=>  :: s   1 
AAAc                     SS K n S n[        R                  " U5        U R                  S5        U R                  S5        U R	                  U R
                  5        U R                  5         U R                  S5        U R                  U R                  U R                  S9  S [        l	        U R                  5         U R                  5         g )Nr   c                 J    U R                  S5      (       a  [        U /UQ76   g g )Nzsyslog.r   r   s     r   rW   test_syslog.<locals>.hook  r   r   pythonr  test2)	logoptionfacility)
syslogr   r   openlog
setlogmask	LOG_DEBUGcloselog
LOG_NDELAY
LOG_LOCAL0argv)r_  rW   s     r   test_syslogrg    s      T
NN8
MM&
f&&'
OO
MM'
NNV..9J9JNKCH
NN
OOr   c                      SS K n S n[        R                  " U5        U R                  5        H  n[	        U[
        5      (       d  M  M     g )Nr   c                      g r   r   r   s    r   r    test_not_in_gc.<locals>.<lambda>  s    dr   )r  r   r   r  rM   list)r  rW   rq   s      r   test_not_in_gcrl    s6    DT^^a r   c                    ^  SS K nU 4S jn[        R                  " U5        UR                  S5        UR                  S5         UR                  S5        g ! [         a     g f = f)Nr   c                 |   > U R                  S5      (       a%  TS:X  a  [        U /UQ76   g TS:X  a  [        S5      eg g )Nztime.r   failzhook failed)r   r   r4   )r&   r'   modes     r   rW   test_time.<locals>.hook  sD    G$$we#d#$]33   %r   g      ?r   )timer   r   sleepr   )rp  rr  rW   s   `  r   	test_timert    sT    4 TJJqMJJv

2 s   A 
A$#A$c                  p    SS K n S nU R                  " U5        U R                  R                  SSS 5        g )Nr   c                 H    U R                  S5      (       a  [        X5        g g )Nzsys.monitoringr   r   s     r   rW   3test_sys_monitoring_register_callback.<locals>.hook/  s!    ,--% .r   rS   )r   r   
monitoringregister_callbackr+  s     r   %test_sys_monitoring_register_callbackrz  ,  s0     TNN$$Q40r   c           
          SS K nS n[        R                  " U5        UR                  XR                  SSSSSS5        g )Nr   c                 (    U S:X  a  [        X5        g g )Nz_winapi.CreateNamedPipe)r   r   s     r   rW   )test_winapi_createnamedpipe.<locals>.hook:  s    --% .r   r   rT   )_winapir   r   CreateNamedPipePIPE_ACCESS_DUPLEX)	pipe_namer~  rW   s      r   test_winapi_createnamedpiper  7  s;     TI'A'A1aAqRSTr   c                      SS K n U R                  " S 5         U R                  " S5        [        S5      e! [         a     g f = f)Nr   c                      g r   r   )r'   s    r   r   %test_assert_unicode.<locals>.<lambda>D  s    4r   	   zExpected sys.audit(9) to fail.)r   r   rV   r.   r   )r   s    r   test_assert_unicoder  B  sF    '(=		! ;<<  s   6 
AA__main__)suppress_msvcrt_assertsrS   rT   )+
contextlibrn   r   r   r8   r=   r?   rJ   contextmanagerrP   rX   r_   ra   rv   r   r   r   r   r   r   r   r   r   r
  r  r$  r,  r1  rF  rO  rW  rg  rl  rt  rz  r  r  r*   test.supportr  rf  r  globalsr   r   r   <module>r     s    	 
 6  6H:
@
D
: @ @0924 *@0)f.B2&$B$.,$$22( *!$1U= z488A;DIdOSXXab\" r   