�`^c@s�dZddlZddlZddlZddlmZddlmZddlmZe Z
d�ZdZd Z
d
efd��YZdS(sTest result objecti�N(tStringIOi(tutil(twrapscst���fd��}|S(Ncs/t|dt�r|j�n�|||�S(Ntfailfast(tgetattrtFalsetstop(tselftargstkw(tmethod(s%/sys/lib/python2.7/unittest/result.pytinners
(R(R
R((R
s%/sys/lib/python2.7/unittest/result.pyRss
Stdout:
%ss
Stderr:
%st
TestResultcBs�eZdZdZeZeZdddd�Zd�Z d�Z
d�Zd�Zd�Z
d�Zd�Zed ��Zed
��Zd�Zd�Zd
�Zed��Zd�Zd�Zd�Zd�Zd�Zd�ZRS(s�Holder 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.
cCs�t|_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(Rtstreamtdescriptionst verbosity((s%/sys/lib/python2.7/unittest/result.pyt__init__(s cCsdS(s#Called by TestRunner after test runN((R((s%/sys/lib/python2.7/unittest/result.pytprintErrors8scCs&|jd7_t|_|j�dS(s-Called when the given test is about to be runiN(RRRt_setupStdout(Rttest((s%/sys/lib/python2.7/unittest/result.pyt startTest;s cCsR|jrN|jdkr3t�|_t�|_n|jt_|jt_ndS(N(RRRRRRRR(R((s%/sys/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%/sys/lib/python2.7/unittest/result.pytstartTestRunIscCs|j�t|_dS(s'Called when the given test has been runN(t_restoreStdoutRR(RR$((s%/sys/lib/python2.7/unittest/result.pytstopTestOs
cCs�|jr�jr�tjj�}tjj�}|ri|jd�sR|d7}n|jjt |�n|r�|jd�s�|d7}n|j
jt|�q�n|jt_|j
t_|jj
d�|jj�|jj
d�|jj�ndS(Ns
i(RRRRtgetvalueRtendswithRtwritetSTDOUT_LINERtSTDERR_LINERtseekttruncateR(Rtoutputterror((s%/sys/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%/sys/lib/python2.7/unittest/result.pytstopTestRuniscCs/|jj||j||�f�t|_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%/sys/lib/python2.7/unittest/result.pytaddErroros"cCs/|jj||j||�f�t|_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%/sys/lib/python2.7/unittest/result.pyt
addFailurews"cCsdS(s-Called when a test has completed successfullyN((RR$((s%/sys/lib/python2.7/unittest/result.pyt
addSuccess~scCs|jj||f�dS(sCalled when a test is skipped.N(RR3(RR$treason((s%/sys/lib/python2.7/unittest/result.pytaddSkip�scCs&|jj||j||�f�dS(s.Called when an expected failure/error occured.N(RR3R4(RR$R6((s%/sys/lib/python2.7/unittest/result.pytaddExpectedFailure�s cCs|jj|�dS(s5Called when a test was expected to fail, but succeed.N(RR3(RR$((s%/sys/lib/python2.7/unittest/result.pytaddUnexpectedSuccess�scCs*t|j�t|j�ko'dkSS(s.Tells whether or not this result was a successi(tlenR
R(R((s%/sys/lib/python2.7/unittest/result.pyt
wasSuccessful�scCs
t|_dS(s*Indicates that the tests should be abortedN(R5R(R((s%/sys/lib/python2.7/unittest/result.pyR�sc
Cs%|\}}}x"|r3|j|�r3|j}qW||jkrm|j|�}tj||||�}ntj|||�}|jrtjj �}tj
j �} |r�|jd�s�|d7}n|jt
|�n| r| jd�s| d7} n|jt| �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%/sys/lib/python2.7/unittest/result.pyR4�s&
cCsd|jjkS(Nt
__unittest(ttb_framet f_globals(RRJ((s%/sys/lib/python2.7/unittest/result.pyRA�scCs:d}x-|r5|j|�r5|d7}|j}q W|S(Nii(RARB(RRJRK((s%/sys/lib/python2.7/unittest/result.pyRD�s
cCs5dtj|j�|jt|j�t|j�fS(Ns!<%s run=%i errors=%i failures=%i>(Rtstrclasst __class__RR>RR
(R((s%/sys/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%/sys/lib/python2.7/unittest/result.pyRs0
(RUtosRRERR@Rt functoolsRR5RMRR,R-tobjectR(((s%/sys/lib/python2.7/unittest/result.pyt<module>s
|