Viewing File: /opt/alt/python35/lib64/python3.5/unittest/__pycache__/suite.cpython-35.opt-2.pyc



](@sddlZddlmZddlmZdZddZGdd	d	eZGd
ddeZGdd
d
eZ	ddZ
GdddeZdS)N)case)utilTcCs#t||dd}|dS)NcSsdS)Nrrr*/opt/alt/python35/lib64/python3.5/suite.py<lambda>sz!_call_if_exists.<locals>.<lambda>)getattr)parentattrfuncrrr_call_if_existssrc@seZdZdZfddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
ddZdS)
BaseTestSuiteTcCs#g|_d|_|j|dS)Nr)_tests_removed_testsaddTests)selftestsrrr__init__s		zBaseTestSuite.__init__cCs dtj|jt|fS)Nz
<%s tests=%s>)rstrclass	__class__list)rrrr__repr__szBaseTestSuite.__repr__cCs,t||jstSt|t|kS)N)
isinstancerNotImplementedr)rotherrrr__eq__szBaseTestSuite.__eq__cCs
t|jS)N)iterr)rrrr__iter__"szBaseTestSuite.__iter__cCs4|j}x$|D]}|r||j7}qW|S)N)rcountTestCases)rZcasestestrrrr%s
	
zBaseTestSuite.countTestCasescCsnt|s'tdjt|t|trZt|tjt	frZtd|j
j|dS)Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest())callable	TypeErrorformatreprrtype
issubclassrZTestCase	TestSuiterappend)rrrrraddTest,szBaseTestSuite.addTestcCs=t|trtdx|D]}|j|q"WdS)Nz0tests must be an iterable of tests, not a string)rstrr!r()rrrrrrr6s
zBaseTestSuite.addTestscCsKxDt|D]6\}}|jr#P|||jr
|j|q
W|S)N)	enumerate
shouldStop_cleanup_removeTestAtIndex)rresultindexrrrrrun<s	
	zBaseTestSuite.runcCs[y|j|}Wntk
r%Yn2Xt|drJ|j|j7_d|j|<dS)Nr)rr!hasattrrr)rr/rrrrr-Es
z BaseTestSuite._removeTestAtIndexcOs|j||S)N)r0)rargskwdsrrr__call__SszBaseTestSuite.__call__cCsx|D]}|jqWdS)N)debug)rrrrrr5Vs
zBaseTestSuite.debugN)__name__
__module____qualname__r,rrrrrr(rr0r-r4r5rrrrr
s
	r
c@sseZdZdddZddZddZdd	Zd
dZdd
ZddZ	ddZ
dS)r&FcCs'd}t|dddkr+d|_}xt|D]\}}|jrNPt|r|j|||j|||j|||j|_	t|jdds8t|ddrq8|s||n
|j
|jr8|j|q8W|r#|jd||j
|d|_|S)NF_testRunEnteredT_classSetupFailed_moduleSetUpFailed)rr9r*r+_isnotsuite_tearDownPreviousClass_handleModuleFixture_handleClassSetUpr_previousTestClassr5r,r-_handleModuleTearDown)rr.r5ZtopLevelr/rrrrr0fs0
	

	
	z
TestSuite.runcCst}|j|ddS)NT)_DebugResultr0)rr5rrrr5s	zTestSuite.debugc	 Cs.t|dd}|j}||kr+dS|jr8dSt|ddrNdSy
d|_Wntk
roYnXt|dd}|dk	r*t|dz~y|Wnltk
r}zLt|trd|_t	j
|}d|}|j|||WYdd}~XnXWdt|dXdS)	Nr@__unittest_skip__F
setUpClass_setupStdoutTzsetUpClass (%s)_restoreStdout)rrr;r:r!r	ExceptionrrBrr_addClassOrModuleLevelException)	rrr.
previousClasscurrentClassrDe	className	errorNamerrrr?s2		


	
*zTestSuite._handleClassSetUpcCs1d}t|dd}|dk	r-|j}|S)Nr@)rr7)rr.previousModulerIrrr_get_previous_modules
	zTestSuite._get_previous_modulec	 Cs|j|}|jj}||kr+dS|j|d|_ytj|}Wntk
rjdSYnXt|dd}|dk	rt	|dzoy|Wn]t
k
r}z=t|trd|_d|}|j
|||WYdd}~XnXWdt	|dXdS)NFsetUpModulerETzsetUpModule (%s)rF)rOrr7rAr;sysmodulesKeyErrorrrrGrrBrH)	rrr.rNZ
currentModulemodulerPrKrMrrrr>s,
	
	
	
*zTestSuite._handleModuleFixturecCslt|}t|dd}|dk	rRt|tjrR||t|n|j|tjdS)NaddSkip)	_ErrorHolderrrrZSkipTestr)ZaddErrorrQexc_info)rr.	exceptionrMerrorrUrrrrHs
z)TestSuite._addClassOrModuleLevelExceptionc Cs|j|}|dkrdS|jr,dSytj|}Wntk
rUdSYnXt|dd}|dk	rt|dzfy|WnTtk
r}z4t|t	rd|}|j
|||WYdd}~XnXWdt|dXdS)NtearDownModulerEztearDownModule (%s)rF)rOr;rQrRrSrrrGrrBrH)rr.rNrTrZrKrMrrrrAs(	
	

*zTestSuite._handleModuleTearDownc	Cs"t|dd}|j}||kr+dSt|ddrAdSt|ddrWdSt|ddrmdSt|dd}|dk	rt|dzuy|Wnctk
r}zCt|trtj|}d|}|j|||WYdd}~XnXWdt|d	XdS)
Nr@r:Fr;rC
tearDownClassrEztearDownClass (%s)rF)	rrrrGrrBrrrH)	rrr.rIrJr[rKrLrMrrrr=s,	

*z TestSuite._tearDownPreviousClassN)r6r7r8r0r5r?rOr>rHrAr=rrrrr&\s
! r&c@sveZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZdS)rVNcCs
||_dS)N)description)rr\rrrrsz_ErrorHolder.__init__cCs|jS)N)r\)rrrridsz_ErrorHolder.idcCsdS)Nr)rrrrshortDescription sz_ErrorHolder.shortDescriptioncCsd|jfS)Nz<ErrorHolder description=%r>)r\)rrrrr#sz_ErrorHolder.__repr__cCs
|jS)N)r])rrrr__str__&sz_ErrorHolder.__str__cCsdS)Nr)rr.rrrr0)sz_ErrorHolder.runcCs
|j|S)N)r0)rr.rrrr4.sz_ErrorHolder.__call__cCsdS)Nrr)rrrrr1sz_ErrorHolder.countTestCases)r6r7r8ZfailureExceptionrr]r^rr_r0r4rrrrrrVs
rVcCs+yt|Wntk
r&dSYnXdS)NTF)rr!)rrrrr<4s

	r<c@s"eZdZdZdZdZdS)rBNF)r6r7r8r@r;r+rrrrrB=srB)rQrrZ
__unittestrobjectr
r&rVr<rBrrrr<module>sL&	
Back to Directory File Manager