ó 4­¯\c@sêdZddlmZddlZddlZddlZddlZddlmZddlmZddlm Z yddl Z Wne k rŸdZ nXddl Z ddlmZddlmZdd lmZejjejjeƒƒZerd nd Zd Zejd kr6d Zd ZdZnd ZdZdZdZejd„Z e!d„Z"ed„ƒZ#e!d„Z$defd„ƒYZ%de fd„ƒYZ&d„Z'dd„Z(d„Z)d„Z*de!d„Z+dS(s[ Unit test runner, providing colourized output and printing failures on KeyboardInterrupt. iÿÿÿÿ(tprint_functionN(t TestResult(tTextTestResult(tTextTestRunner(tmemoize(t safe_rmpath(tTOXiis.failed-tests.txttposixi^iiicCs}tjdkrtdk SyGddl}|jƒs:t‚|jƒ|jdƒdks_t‚Wnt k rtt SXt SdS(Ntntiÿÿÿÿtcolorsi( tostnametctypestNonetcursestisattytAssertionErrort setuptermttigetnumt ExceptiontFalsetTrue(tfileR((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pytterm_supports_colors-s    cCs“g}|tkr"|jdƒnD|tkr>|jdƒn(|tkrZ|jdƒn tdƒ‚|r||jdƒnddj|ƒ|fS(s*Return an highlighted version of 'string'.t32t91t33sunrecognized colort1s [%sm%st;(tGREENtappendtREDtBROWNt ValueErrortjoin(tstcolortboldtattr((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pythilite;s    cCsStjjj}tjdƒ}tj|_||ƒ}tjtjjj|ƒ|S(NIôÿÿÿ( R twindlltKernel32t GetStdHandletc_ulongtrestypetatexittregistert CloseHandle(R*tSTD_ERROR_HANDLE_IDthandle((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyt_stderr_handleKs   cCsg|r|dkr|d7}ntƒ}tjjj}|||ƒz||ƒWd||tƒXdS(Nii(R2R R(R)tSetConsoleTextAttributet DEFAULT_COLOR(tprinterR#R$R%R1R3((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pytwin_colorprintUs   tColouredResultcBsAeZed„Zd„Zd„Zd„Zd„Zd„ZRS(cCsQtjdkr1|jjt||d|ƒƒnt|jj||d|ƒdS(NRR%(R R tstreamtwritelnR'R6(tselfR#R$R%((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyt _color_printcs"cCs$tj||ƒ|jdtƒdS(NtOK(Rt addSuccessR;R(R:ttest((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyR=iscCs-tj|||ƒ|jdtdtƒdS(NtERRORR%(RtaddErrorR;RR(R:R>terr((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyR@mscCs'tj|||ƒ|jdtƒdS(NtFAIL(Rt addFailureR;R(R:R>RA((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyRCqscCs+tj|||ƒ|jd|tƒdS(Ns skipped: %s(RtaddSkipR;R (R:R>treason((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyRDuscCs2t|td|dkƒ}tj|||ƒdS(NR%R?(R'RRtprintErrorList(R:tflavourterrors((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyRFys( t__name__t __module__RR;R=R@RCRDRF(((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyR7as      tColouredRunnercBs&eZeƒreneZd„ZRS(cCstj|ƒ|_|jS(N(Rt _makeResulttresult(R:((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyRLs(RIRJRR7Rt resultclassRL(((s9/usr/lib64/python2.7/site-packages/psutil/tests/runner.pyRK~scCs3dtjkrdtjd sL