AMw%SrSSKrSSKrSSKr"SS5rSrSrSrSr\RS 5r S r S r S r S rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr S r!S!r"S"r#S#r$S$r%\&S%:Xa7SS&K'J(r( \("5 \RRS'r*\+"5\*"\RRS(S6 gg))zThis script contains the actual auditing tests. It should not be imported directly, but should be run by the test_audit module with arguments identifying each test. NcN\rSrSrSrS\4SjrSrSrSr \ S5r S r S r g) TestHook zUsed in standard hook tests to collect any logged events. Should be used in a with block to ensure that it has no impact after the test completes. NcLU=(d SUlX l/UlSUlg)NF)raise_on_eventsexc_typeseenclosed)selfrr s 7/opt/alt/python313/lib64/python3.13/test/audit-tests.py__init__TestHook.__init__s".4"   c2[R"U5 U$N)sys addaudithookr as r __enter__TestHook.__enter__s  rc$UR5 gr)closers r __exit__TestHook.__exit__s  rcSUlg)NT)r r s r rTestHook.close!s  rcJURVs/sHoSPM sn$s snf)Nr)r )r is r seen_eventsTestHook.seen_events$s "ii(i!i(((s cUR(agURRX45 XR;aUR SU-5eg)Nz saw event )r r appendrr )r eventargss r __call__TestHook.__call__(sE ;;  %' (( (-- u 45 5 )r)r r rr )__name__ __module__ __qualname____firstlineno____doc__ RuntimeErrorrrrrpropertyr"r(__static_attributes__rrr rr s; (,l ))6rrc2X:wa[U<SU<35eg)N should equal AssertionErrorxys r assertEqualr91s"vuN1%899rc2X;a[U<SU<35eg)Nz should be in r4elseriess r assertInr>6s# v^F:>??rc2X;a[U<SU<35eg)Nz should not be in r4r;s r assertNotInr@;s# |v%7zBCCrc[U5[U5:wa[U<SU<35e[S[X555(a[U<SU<35eg)Nr3c3.# UH upX:gv M g7frr).0ixiys r &assertSequenceEqual..Cs ,)28)s)lenr5anyzipr6s r assertSequenceEqualrK@sX 1vQuN1%899 ,#a) ,,,uN1%899-rc## Sv SU35e![a:n[U[5(ae[U5ULd USU35eSnAgSnAff=f7f)Nz expected z should be ) BaseException isinstancer5type)ex_typeexs r assertRaisesrRGsb@ + '++u @ b. ) ) Bx7"?rd+gY$??"@s%A A0A AAAc[5n[R"SSSS5 [URSSS5 [URSSS5 SSS5 g!,(df  g=f)N test_eventr)rUrVrW)rrauditr9r )hooks r test_basicrZRsQ t ,1a(DIIaLO\2DIIaLOY/ s AA&& A4c[SS9n[5n[R"S5 [SUR5 [ SUR5 SSS5 SSS5 g!,(df  N=f!,(df  g=f)Nsys.addaudithookrrT)rrrXr>r"r@hook1hook2s r test_block_add_hookraYs^ "4 5 Z5 IIl # \5#4#4 5  e&7&7 8 6 5 Z 6 5s# A:AA)A:) A7 3A:: Bc[[5 [S[S9n[5nSSS5 SSS5 SSS5 g!,(df  N=f!,(df  N(=f!,(df  g=f)Nr\)rr )rRrMrr^s r !test_block_add_hook_baseexceptionrccsR m $ . u   % $     % $s7A' AAAA' A A A$ A'' A5c SSKnSnURU5n[5n[XR URU555 [ SS5nUR X5 SSS5 [ SS5n[XRU55 SSS5 [R"S5 SSS5 WRVVs/sHupVUS:XdM USUS4PM nnn[XqUR4/S-5 URVVs/sHupVUS :XdM USPM nnn[Xr/5 URVVs/sHupVUS :XdM UPM nnn[US /5 g!,(df  GN=f!,(df  N=f![R"S5 f=f!,(df  GN=fs snnfs snnfs snnf) NrrbcrUrVrWztest-marshal.binwbrbz marshal.dumpsrUrVz marshal.loadsz marshal.load) marshaldumpsrr9loadsopendumploadosunlinkr rKversion)rjopayloadrYferactuals r test_marshalrxnss AmmAG tA}}W]]1%567 *($/1 Q"0($/1A||A/0 II( ) (,yy IytqA4HlqtQqTlyF IW__!5 6 :;#yy AytqA,@dadyF A * II =IDAn)sw*F7 FE9+F?F F"F7 G  G  G+ G G"G9 F F F FF44F77 GcSSKn"SS5nURU"55nURS5n[SURU55 [ SS9n[ [ 5 URU5 SSS5 URU5 SSS5 g!,(df  N(=f!,(df  g=f)Nrc\rSrSrSrSrg) test_pickle..PicklePrintc[S4$)N)Pwned!)str)r ps r __reduce_ex__.test_pickle..PicklePrint.__reduce_ex__s  # #rrN)r*r+r,r-rr1rrr PicklePrintr{s $rrrer~zpickle.find_classr])picklerkr9rlrrRr/)rr payload_1 payload_2rYs r test_picklers$$ []+I 56I&,,y12 "5 6$ , ' LL #(  Y 7 6 ' ' 7 6s$B/*B<B/ B, (B// B=c"SS5n"SS5n"SSU5nU"5n[5nSUlU4Ul[RSR X!45 UR UlS UlXlSSS5 WRVVs/sHupSUS :XdM US US 4PM nnn[US 4US4US4WS4/U5 g!,(df  NW=fs snnf)Nc\rSrSrSrg)test_monkeypatch..ArNr*r+r,r-r1rrr Ar rrc\rSrSrSrg)test_monkeypatch..BrNrrrr Brrrrc\rSrSrSrg)test_monkeypatch..CrNrrrr CrrrrX __bases__{zobject.__setattr__rrUr* __class__) rr*rrO__dict____set__rnew_attrrr rK)rrrrrYrvrws r test_monkeypatchrs     A  A t d  k"**1d3ZZ    (,yy NytqA9M4MlqtQqTlyF N Z1k*Q ,NOQW OsAC C$)C$ C!c SSKnUR5Rn[ S1S9n[ US4[ [ RS4[ SS4[ USS SSSS S 4 X 44H,tpEU(dM [[5 U"U6 SSS5 M. SSS5 WRVVs/sH#upgUS:XdM US (dMUSUS 4PM% nnnURVVs/sH#upgUS:XdM US (aMUSUS 4PM% n nn[US4[ RS4SUS4U(aUS4OS4V s/sH n U cMU PM sn U5 [/U 5 g![a SnGNVf=f![a XB:XaSn[eef=f!,(df  GMB=f!,(df  GN=fs snnfs snnfs sn f)Nrrmr]rrirWrhwFcg)NrUrrs r test_open..srrUrV)rWr) sslcreate_default_contextload_dh_params ImportErrorrrmr executablerRr/NotImplementedErrorr rK) testfnrrrYfnr'rvr actual_mode actual_flagr!s r test_openrs335DD 6( +t 63  3>>4 ( 1dO 63D$e\ J  $  IBl+I,+  ,*-1IINIDAf<1UR[RR:XaTR U5 ggr)f_coderr(__code__r%)framer&r'traceds r tracetest_cantrace..traces, <<8,,55 5 MM%  6r1F2T3rU4rcall)rsettracereval __cantrace__rK)roldrYrs @r test_cantracers F! ,,u C Z4 I!&D  I!%D  I!"D  I!"D #& S1 f-+Z& Ss# B4A B#4B4# B1-B44C cSSKn[5nURSS5 [URSSSSS5 SSS5 g!,(df  g=f)NrrrUrV)rr)mmaprr9r )rrYs r test_mmaprsA t "aDIIaLOBQ'1 s 2A  Acn^SmU4Sjn[R"U5 T[l[S5e)NcFU[La[R"XU5 ggr)r/r__excepthook__)r exc_valueexc_tbs r excepthook#test_excepthook..excepthooks < '   xF ; (rc>US:Xag[USUS5(d[SUS<SUS<S35eUST:wa[SUSS T35e[U[ US55 gg) Nzsys.excepthookrVrUzExpected isinstance(z, )r Expected  == )rN TypeError ValueErrorprintrepr)r&r'rs r rYtest_excepthook..hooks $ $d1gtAw//"6tAwkQ{RS TUUAw*$ 9T!WIT*!FGG %d1g ' %rz fatal-error)rrrr/)rYrs @r test_excepthookrs/<(TCN } %%rc^SSKJn SmU4Sjn[R"U5 T[lU"[ S5S5 g)Nr)err_formatunraisablecgrr)hookargss r unraisablehook+test_unraisablehook..unraisablehook.s rc>US:XaNUST:wa[SUSST35e[U[USR5USR5 gg)Nzsys.unraisablehookrrrrU)rrrrerr_msg)r&r'rs r rY!test_unraisablehook..hook1s] ( (Aw.( 9T!WIT.9I!JKK %d1g//0$q'// B )rznonfatal-errorz%Exception ignored for audit hook test) _testcapirrrrr/)rrYrs @r test_unraisablehookr+s=. C T'C&67@BrcSSKJnJnJnJn Sn[ R "U5 U"US5nU"US5 U"US5 [S5e![a Of=fUR5nU"U5 g)Nr)OpenKeyEnumKeyCloseKeyHKEY_LOCAL_MACHINEcJURS5(dg[U/UQ76 g)Nzwinreg. startswithrr&r's r rYtest_winreg..hook@s# **  edrSoftwarei'z%Expected EnumKey(HKLM, 10000) to fail) winregrrrrrrr/OSErrorDetach)rrrrrYkkvs r test_winregr=syEE T"J/A AqMD5BCC    B RLs A AAc8SSKnSn[R"U5 UR5 URURUR 5nUR S5 UR5 g![a Nf=f!UR5 f=f)NrcJURS5(a [U/UQ76 gg)Nzsocket.rrs r rYtest_socket..hookW%   I & & % $  'r)z 127.0.0.1i) socketrr gethostnameAF_INET SOCK_STREAMbind Exceptionr)rrYsocks r test_socketrTs T  ==);); .hookms%   E " " % $  #rrU) generation)gcrr get_objectsobject get_referrers get_referents)rrYr7r8s r test_gcr jsR  TNNaN A AQQrcSSKnSn[R"U5 URR S5nUR SS5 UR5 g![ a [SS5 N)f=f!UR5 f=f)NrcPURS5(a[U/USSQ76 gg)Nz http.client.rUrrs r rYtest_http_client..hooks+   N + + % #$qr( # ,rzwww.python.orgGET/zhttp.client.sendz [cannot send]) http.clientrrclientHTTPConnectionrequestrrr)httprYconns r test_http_clientr|su$T ;; % %&6 7D UC   3  /23 s#AA63A95A66A99B cSSKnSn[R"U5 URS5nUR S5n[ URS5(a.UR S5 URS5 [S5eUR5 UR5 g!URa N3f=f!UR5 UR5 f=f)NrcJURS5(a [U/UQ76 gg)Nzsqlite3.rrs r rYtest_sqlite3..hooks%   J ' ' % $  (rz:memory:enable_load_extensionFtestz'Expected sqlite3.load_extension to fail) sqlite3rrconnect Connectionhasattrrload_extensionr/OperationalErrorr)rrYcx1cx2s r test_sqlite3r%s T //* %C   Z (C  7%%'> ? ?  % %e , N""6*##LMM  ++    s0,C.B+? C+B>;C=B>>C"C#cXSSKnSnUR"U5 UR"5 g)NrcvURS5(a#[XSRR5 gg)Nsys.r)rrrco_namers r rYtest_sys_getframe..hooks.   F # # %a// 0 $r)rr _getframerrYs r test_sys_getframer-s#1TMMOrcXSSKnSnUR"U5 UR"5 g)NrcJURS5(a [U/UQ76 gg)Nr(rrs r rY)test_sys_getframemodulename..hooks%   F # # % $  $r)rr_getframemodulenamer,s r test_sys_getframemodulenamer2s& Trc4^SSKnSn[R"U5 UR5mTR 5 "U4SjS5nUR U"5S5nTR 5 UR U"55nUR5 g)NrcHURS5(a [X5 gg)N)z_thread.zcpython.PyThreadStateztest.rrs r rYtest_threading..hooks"   J K K %  Lrc(>\rSrSrSrU4SjrSrg)!test_threading..test_funcicg)Nz rrs r __repr__*test_threading..test_func.__repr__s=rcR>[R"S5 TR5 g)Nztest.test_func)rrXrelease)r locks r r(*test_threading..test_func.__call__s II& ' LLNrrN)r*r+r,r-r9r(r1)r=sr test_funcr7s0  rr?r)_threadrr allocate_lockacquirestart_new_threadstart_joinable_threadjoin)r@rYr?r!handler=s @r test_threadingrGsvT  "DLLN   b1ALLN  * *9; 7F KKMrc^SSKn"SS[5mU4Sjn[R"U5 UR SS5 g!Ta gf=f)Nrc\rSrSrSrg)1test_threading_abort..ThreadNewAbortErrorirNrrrr ThreadNewAbortErrorrJrrrKc >US:XaT"5eg)Nzcpython.PyThreadState_Newr)r&r'rKs r rY"test_threading_abort..hooks / /%' ' 0rcgrrrrr r&test_threading_abort..srr)r@rrrrC)r@rYrKs @r test_threading_abortrPsN i (T   r2    sAAAcSSKnSn[R"U5 URS5 g![anUR S:waeSnAgSnAff=f)NrcNURS5(a[XS5 gg)Nz_wmi.rrrs r rY!test_wmi_exec_query..hooks$   G $ $ %a ! %rz#SELECT * FROM Win32_OperatingSystemi)_wmirr exec_query WindowsErrorwinerror)rTrYrvs r test_wmi_exec_queryrXsR"T =>  ::   s1 AAAcSSKnSn[R"U5 URS5 URS5 UR UR 5 UR 5 URS5 URURURS9 S[l UR5 UR 5 g)NrcJURS5(a [U/UQ76 gg)Nzsyslog.rrs r rYtest_syslog..hookrrpythonrtest2) logoptionfacility) syslogrropenlog setlogmask LOG_DEBUGcloselog LOG_NDELAY LOG_LOCAL0argv)r`rYs r test_syslogrhs T NN8 MM& f&&' OO MM' NNV..9J9JNKCH NN OOrcSSKnSn[R"U5 UR5H!n[ U[ 5(dMX;aM!e g)Nrcgrrrs r r test_not_in_gc..sdr)rrrrrNlist)rrYrss r test_not_in_gcrms@ DT ^^  a  = =rc^SSKnU4Sjn[R"U5 URS5 URS5 URS5 g![a gf=f)Nrc|>URS5(a%TS:Xa [U/UQ76 gTS:Xa [S5egg)Nztime.rfailz hook failed)rrr5)r&r'modes r rYtest_time..hooksD   G $ $we#d#$]33  %rg?r)timerrsleepr)rqrsrYs` r test_timerusT4 TJJqMJJv  2    sA A$#A$cpSSKnSnUR"U5 URRSSS5 g)NrcHURS5(a [X5 gg)Nzsys.monitoringrrs r rY3test_sys_monitoring_register_callback..hook/s!   , - - %  .rrU)rr monitoringregister_callbackr,s r %test_sys_monitoring_register_callbackr{,s0TNN$$Q40rc SSKnSn[R"U5 URXRSSSSSS5 g)Nrc(US:Xa [X5 gg)Nz_winapi.CreateNamedPipe)rrs r rY)test_winapi_createnamedpipe..hook:s - - %  .rrrV)_winapirrCreateNamedPipePIPE_ACCESS_DUPLEX) pipe_namerrYs r test_winapi_createnamedpiper7s;T I'A'A1aAqRSTrcSSKnUR"S5 UR"S5 [S5e![a gf=f)Nrcgrr)r's r r%test_assert_unicode..Ds4r zExpected sys.audit(9) to fail.)rrrXr/r)rs r test_assert_unicoderBsF'(= ! ;<<    s6 AA__main__)suppress_msvcrt_assertsrUrV),r. contextlibrprrr9r>r@rKcontextmanagerrRrZrarcrxrrrrrrrrrr rr%r-r2rGrPrXrhrmrur{rrr* test.supportrrgrglobalsrrr rs  6 6H: @ D : @@0924 *@0)f.B2&$B$.,$$22 ( *! $1U= z4 88A;D IdOSXXab\" r