U .‘ctã@svddlZddlZddlZddlZddlZddlZddlmZz ddlZWne k r`dZYnXdd„Z dd„Z dS)éN)Úsupportc Cs’ztj ¡}Wnttfk r*d}YnZXtjd|dg}ttdƒrT|  tj ¡ttdƒrj|  tj ¡|D]}tj |d|dqnt ƒt tj¡|jr´tj dtj |j¡¡tj ¡D]P}t|dƒròt|jƒD]\}}tj |¡|j|<qÖt|ddƒr¾tj |j¡|_q¾|jr d tj_|j dk r8t !|j ¡|j"dk rPt# $|j"¡t %|j&od|j&d k¡|j't_'ttd ƒrŽd d „}t (|¡dS)NT)Z all_threadsÚfileÚSIGALRMÚSIGUSR1)ÚchainrrÚ__path__Ú__file__FéÚ addaudithookcSsdS©N©)ÚnameÚargsr r ú;/opt/alt/python38/lib64/python3.8/test/libregrtest/setup.pyÚ_test_audit_hookLsz%setup_tests.._test_audit_hook))ÚsysÚ __stderr__ÚfilenoÚ ValueErrorÚAttributeErrorÚ faulthandlerZenableÚhasattrÚsignalÚappendrrÚregisterÚreplace_stdoutrZrecord_original_stdoutÚstdoutZtestdirÚpathÚinsertÚosÚabspathÚmodulesÚvaluesÚ enumeraterÚgetattrrZ huntrleaksÚunittestZ BaseTestSuiteZ_cleanupZmemlimitZ set_memlimitZ thresholdÚgcZ set_thresholdZsuppress_msvcrt_assertsÚverboseZ use_resourcesr )ÚnsZ stderr_fdZsignalsZsignumÚmoduleÚindexrrr r rÚ setup_testssB              r+cs\tj‰z ˆ ¡}Wntk r(YdSXt|dˆjddddt_‡fdd„}t |¡dS) zˆSet stdout encoder error handler to backslashreplace (as stderr error handler) to avoid UnicodeEncodeError when printing a tracebackNÚwÚbackslashreplaceFÚ )ÚencodingÚerrorsÚclosefdÚnewlinecstj ¡ˆt_dSr )rrÚcloser ©rr rÚrestore_stdoutes z&replace_stdout..restore_stdout)rrrrÚopenr/Úatexitr)Úfdr5r r4rrQs ü r) r7rrrrr%Ztestrr&Ú ImportErrorr+rr r r rÚs   C