^Rc@sdZddlZddlZddlZddlmZddlmZddlmZe Z dZ dZ d Z d efd YZdS( sTest result objectiN(tStringIOi(tutil(twrapscstfd}|S(Ncs/t|dtr|jn|||S(Ntfailfast(tgetattrtFalsetstop(tselftargstkw(tmethod(s%/usr/lib/python2.7/unittest/result.pytinners (R(R R ((R s%/usr/lib/python2.7/unittest/result.pyRss Stdout: %ss Stderr: %st TestResultcBseZdZdZeZeZddddZdZ dZ dZ dZ dZ dZdZed Zed Zd Zd Zd ZedZdZdZdZdZdZdZRS(sHolder for test result information. Test results are automatically managed by the TestCase and TestSuite classes, and do not need to be explicitly manipulated by writers of tests. Each instance holds the total number of tests run, and collections of failures and errors that occurred among those test runs. The collections contain tuples of (testcase, exceptioninfo), where exceptioninfo is the formatted traceback of the error that occurred. cCst|_g|_g|_d|_g|_g|_g|_t|_t|_ d|_ d|_ t j|_t j|_t|_dS(Ni(RRtfailuresterrorsttestsRuntskippedtexpectedFailurestunexpectedSuccessest shouldStoptbuffertNonet_stdout_buffert_stderr_buffertsyststdoutt_original_stdouttstderrt_original_stderrt _mirrorOutput(Rtstreamt descriptionst verbosity((s%/usr/lib/python2.7/unittest/result.pyt__init__(s             cCsdS(s#Called by TestRunner after test runN((R((s%/usr/lib/python2.7/unittest/result.pyt printErrors8scCs&|jd7_t|_|jdS(s-Called when the given test is about to be runiN(RRRt _setupStdout(Rttest((s%/usr/lib/python2.7/unittest/result.pyt startTest;s cCsR|jrN|jdkr3t|_t|_n|jt_|jt_ndS(N(RRRRRRRR(R((s%/usr/lib/python2.7/unittest/result.pyR#As    cCsdS(spCalled once before any tests are executed. See startTest for a method called before each test. N((R((s%/usr/lib/python2.7/unittest/result.pyt startTestRunIscCs|jt|_dS(s'Called when the given test has been runN(t_restoreStdoutRR(RR$((s%/usr/lib/python2.7/unittest/result.pytstopTestOs cCs|jr|jrtjj}tjj}|ri|jdsR|d7}n|jjt |n|r|jds|d7}n|j jt |qn|jt_|j t_|j j d|j j|jj d|jjndS(Ns i(RRRRtgetvalueRtendswithRtwritet STDOUT_LINERt STDERR_LINERtseekttruncateR(Rtoutputterror((s%/usr/lib/python2.7/unittest/result.pyR'Ts$       cCsdS(smCalled once after all tests are executed. See stopTest for a method called after each test. N((R((s%/usr/lib/python2.7/unittest/result.pyt stopTestRuniscCs/|jj||j||ft|_dS(smCalled when an error has occurred. 'err' is a tuple of values as returned by sys.exc_info(). N(Rtappendt_exc_info_to_stringtTrueR(RR$terr((s%/usr/lib/python2.7/unittest/result.pytaddErroros"cCs/|jj||j||ft|_dS(sdCalled when an error has occurred. 'err' is a tuple of values as returned by sys.exc_info().N(R R3R4R5R(RR$R6((s%/usr/lib/python2.7/unittest/result.pyt addFailurews"cCsdS(s-Called when a test has completed successfullyN((RR$((s%/usr/lib/python2.7/unittest/result.pyt addSuccess~scCs|jj||fdS(sCalled when a test is skipped.N(RR3(RR$treason((s%/usr/lib/python2.7/unittest/result.pytaddSkipscCs&|jj||j||fdS(s.Called when an expected failure/error occured.N(RR3R4(RR$R6((s%/usr/lib/python2.7/unittest/result.pytaddExpectedFailures cCs|jj|dS(s5Called when a test was expected to fail, but succeed.N(RR3(RR$((s%/usr/lib/python2.7/unittest/result.pytaddUnexpectedSuccessscCs*t|jt|jko'dkSS(s.Tells whether or not this result was a successi(tlenR R(R((s%/usr/lib/python2.7/unittest/result.pyt wasSuccessfulscCs t|_dS(s*Indicates that the tests should be abortedN(R5R(R((s%/usr/lib/python2.7/unittest/result.pyRsc Cs%|\}}}x"|r3|j|r3|j}qW||jkrm|j|}tj||||}ntj|||}|jrtjj }tj j } |r|j ds|d7}n|j t |n| r| j ds| d7} n|j t| qndj|S(s>Converts a sys.exc_info()-style tuple of values into a string.s t(t_is_relevant_tb_levelttb_nexttfailureExceptiont_count_relevant_tb_levelst tracebacktformat_exceptionRRRR)RR*R3R,R-tjoin( RR6R$texctypetvaluettbtlengthtmsgLinesR0R1((s%/usr/lib/python2.7/unittest/result.pyR4s&    cCsd|jjkS(Nt __unittest(ttb_framet f_globals(RRJ((s%/usr/lib/python2.7/unittest/result.pyRAscCs:d}x-|r5|j| r5|d7}|j}q W|S(Nii(RARB(RRJRK((s%/usr/lib/python2.7/unittest/result.pyRDs   cCs5dtj|j|jt|jt|jfS(Ns!<%s run=%i errors=%i failures=%i>(Rtstrclasst __class__RR>RR (R((s%/usr/lib/python2.7/unittest/result.pyt__repr__s!N(t__name__t __module__t__doc__Rt_previousTestClassRt_testRunEnteredt_moduleSetUpFailedR!R"R%R#R&R(R'R2RR7R8R9R;R<R=R?RR4RARDRR(((s%/usr/lib/python2.7/unittest/result.pyR s0                (RUtosRRERR@Rt functoolsRR5RMRR,R-tobjectR (((s%/usr/lib/python2.7/unittest/result.pyts