B žÍ+u9cã@s~ddlZddlZddlZddlZddlZddlZddlmZy ddlZWne k r`dZYnXdd„Z dd„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"¡t%|j&on|j&d kƒ|j't_'dS) NT)Z all_threadsÚfileÚSIGALRMÚSIGUSR1)ÚchainrrÚ__path__Ú__file__Fé)(Ú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_thresholdÚsuppress_msvcrt_assertsÚverboseZ use_resources)ÚnsZ stderr_fdZsignalsZsignumÚmoduleÚindexr©r%ú;/opt/alt/python37/lib64/python3.7/test/libregrtest/setup.pyÚ setup_testss<              r'cCs¬y ddl}Wntk r dSX| |j|jB|jB|jB¡y |jWntk r^dSXxF|j |j |j gD]2}|r˜| ||j ¡|  ||j¡qr| |d¡qrWdS)Nr)ÚmsvcrtÚ ImportErrorZ SetErrorModeZSEM_FAILCRITICALERRORSZSEM_NOALIGNMENTFAULTEXCEPTZSEM_NOGPFAULTERRORBOXZSEM_NOOPENFILEERRORBOXZCrtSetReportModerZCRT_WARNZ CRT_ERRORZ CRT_ASSERTZCRTDBG_MODE_FILEZCrtSetReportFileZCRTDBG_FILE_STDERR)r!r(Úmr%r%r&r Ks    r csZtj‰y ˆ ¡}Wntk r&dSXt|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_dS)N)r rÚcloser%)rr%r&Úrestore_stdoutxs z&replace_stdout..restore_stdout)r rr r Úopenr.Úatexitr)Úfdr3r%)rr&rds   r) r5rrrr rZtestrrr)r'r rr%r%r%r&Ús   =