B €/g^yc@svddlZddlZddlZddlZddlZddlZddlmZy ddlZWne k r`dZYnXdd„Z dd„Z dS)éN)Úsupportc Cs&ytj ¡}Wnttfk r*d}Yn^Xtjd|dg}ttdƒrT|  tj ¡ttdƒrj|  tj ¡x|D]}tj |d|dqpWt ƒt tj¡|jr¸tj dtj |j¡¡xbtj ¡D]T}t|dƒrüx(t|jƒD]\}}tj |¡|j|<qÞWt|ddƒrÄtj |j¡|_qÄW|jr,d tj_|j dk rDt !|j ¡|j"dk r\t# $|j"¡y ddl%}Wnt&k r~YnœX| '|j(|j)B|j*B|j+B¡y |j,Wntk r¾Yn\XxX|j-|j.|j/gD]D}|j0r|j0d kr| ,||j1¡| 2||j3¡n | ,|d¡qÒW|j4t_4dS) NT)Z all_threadsÚfileÚSIGALRMÚSIGUSR1)ZchainrrÚ__path__Ú__file__Fi)5ÚsysZ __stderr__ÚfilenoÚ ValueErrorZAttributeErrorÚ faulthandlerZenableZhasattrÚsignalZappendrrÚregisterÚreplace_stdoutrZrecord_original_stdoutÚstdoutZtestdirÚpathZinsertÚosZabspathZmodulesZvaluesZ enumeraterZgetattrrZ huntrleaksÚunittestZ BaseTestSuiteZ_cleanupZmemlimitZ set_memlimitZ thresholdÚgcZ set_thresholdÚmsvcrtÚ ImportErrorZ SetErrorModeZSEM_FAILCRITICALERRORSZSEM_NOALIGNMENTFAULTEXCEPTZSEM_NOGPFAULTERRORBOXZSEM_NOOPENFILEERRORBOXZCrtSetReportModeZCRT_WARNZ CRT_ERRORZ CRT_ASSERTZverboseZCRTDBG_MODE_FILEZCrtSetReportFileZCRTDBG_FILE_STDERRZ use_resources) ZnsZ stderr_fdZsignalsZsignumZmoduleZindexrrZm©rú./usr/lib64/python3.7/test/libregrtest/setup.pyÚ setup_testssZ                 rcsZtj‰y ˆ ¡}Wntk r&dSXt|dˆjddddt_‡fdd„}t |¡dS)NZwZbackslashreplaceFZ )ÚencodingZerrorsZclosefdZnewlinecstj ¡ˆt_dS)N)rrZcloser©rrrÚrestore_stdoutss z&replace_stdout..restore_stdout)rrrr ZopenrÚatexitr )Zfdrrrrr _s   r ) rr rr rrZtestrrrrr rrrrZs   Q