hddlZddlZddlZddlZddlZddlZddlmZddlm Z m Z  ddl Z n #e $rdZ YnwxYwddl mZmZdZdZdZdZdS) N)support)TESTFN_UNDECODABLE FS_NONASCII)setup_unraisable_hooksetup_threading_excepthookPYTHONREGRTEST_UNICODE_GUARDc tj}tjd|g}t t dr|t jt t dr|t j |D]}tj |d|n#ttf$rd}YnwxYwtttjtj|jrBtjdt*j|jtjD]}t |drAt3|jD],\}}t*j||j|<-t7|ddr)t*j|j|_|jrd t<j_ |j!tj"|j!|j#tIj%|j#tj&|j'o |j'd k|j(t_(t td rd }tj)|tUtW|j,t[tj.|j,d z t_.t[tj/|j,dz t_/tatj1|j,t_1tatj2|j,t_2tatj.|j,t_.tatj/|j,t_/|j3r ddl4m5}d|_6tnrJt*j8r>t*j9:tv<tndStzr,t*j>:tvtzdSdS)NT) all_threadsfileSIGALRMSIGUSR1)chainr r__path____file__F addaudithookcdSN)nameargss -/usr/lib/python3.11/test/libregrtest/setup.py_test_audit_hookz%setup_tests.._test_audit_hookTs D()RegressionTestResult)?sys __stderr__fileno faulthandlerenablehasattrsignalappendr r register ValueErrorAttributeError_adjust_resource_limitsreplace_stdoutrrecord_original_stdoutstdouttestdirpathinsertosabspathmodulesvalues enumeratergetattrr huntrleaksunittest BaseTestSuite_cleanupmemlimit set_memlimit thresholdgc set_thresholdsuppress_msvcrt_assertsverbose use_resourcesrrrtimeoutmax SHORT_TIMEOUT LONG_TIMEOUTminLOOPBACK_TIMEOUTINTERNET_TIMEOUTxmlpathtest.support.testresultrUSE_XMLrsupports_bytes_environenvironb setdefaultUNICODE_GUARD_ENVencoderenviron) ns stderr_fdsignalssignummoduleindexr.rrs r setup_testsrXsFN))++  9==== 69 % % + NN6> * * * 69 % % + NN6> * * * F FF  !&9 E E E E E F!  '  & "3:... z8 27??2:66777+$$&&?? 6: & & ?(99 ? ? t)+)>)>&& 6:t , , ? goofo>>FO }0*/' {R[))) | &&& #BJ$B2:?CCC,GsN##+    )***    z #G$92:? K K"7#7aHH$'w'?#L#L #&w'?#L#L #G$92: F F"7#7DD z,@@@@@@'+$>b7> 07799;MNNNNN > /=====>>sB==CCctj }n#t$rYdSwxYwt |djdddt_fd}t j|dS)zSet stdout encoder error handler to backslashreplace (as stderr error handler) to avoid UnicodeEncodeError when printing a tracebackNwbackslashreplaceF )encodingerrorsclosefdnewlinec\tjt_dSr)rr,close)r,srrestore_stdoutz&replace_stdout..restore_stdouts"  r)rr,r r'openr]atexitr&)fdrcr,s @rr*r*rsZF ]]__   b#! CJ  ON#####s $ 22c  ddl}ddlm}m}n#t$rYdSwxYw||\}}d}||kr~||krzt ||} ||||ftd|d|dS#ttf$r$}td|d|d |d Yd}~dSd}~wwxYwdSdS) z5Adjust the system resource limits (ulimit) if needed.rN) RLIMIT_NOFILE RLIM_INFINITYizRaised RLIMIT_NOFILE: z -> z#Unable to raise RLIMIT_NOFILE from z to z: .) resourcerhri ImportError getrlimitrF setrlimitprintr'OSError)rkrhrifd_limitmax_fds desired_fds new_fd_limiterrs rr)r)sg999999999  **=99HgK+(W"4"4;00  -   }|W.E F F F G8GGGG H H H H HG$ - - - ,,,!,,%(,,, - - - - - - - - - - "4"4s$  -BB;B66B;)rer!r0r$rr7testrtest.support.os_helperrrr=rltest.libregrtest.utilsrrrOrXr*r)rrrrys  BBBBBBBB IIII BBB@@@@@@@@3Z>Z>Z>z$$$4-----s -77