MINI MINI MANI MO

Path : /usr/lib64/python3.6/unittest/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/unittest/__pycache__/suite.cpython-36.opt-1.pyc

3


 \ï(ã@s|dZddlZddlmZddlmZdZdd„ZGd	d
„d
eƒZGdd„deƒZ	Gdd
„d
eƒZ
dd„ZGdd„deƒZdS)Ú	TestSuiteéNé)Úcase)ÚutilTcCst||dd„ƒ}|ƒdS)NcSsdS)N©rrrú&/usr/lib64/python3.6/unittest/suite.pyÚ<lambda>sz!_call_if_exists.<locals>.<lambda>)Úgetattr)ÚparentÚattrÚfuncrrrÚ_call_if_existssr
c@speZdZdZdZffdd„Zdd„Zdd„Zd	d
„Zdd„Z	d
d„Z
dd„Zdd„Zdd„Z
dd„Zdd„ZdS)Ú
BaseTestSuitezNA simple test suite that doesn't provide class or module shared fixtures.
    TcCsg|_d|_|j|ƒdS)Nr)Ú_testsÚ_removed_testsÚaddTests)ÚselfÚtestsrrrÚ__init__szBaseTestSuite.__init__cCsdtj|jƒt|ƒfS)Nz
<%s tests=%s>)rÚstrclassÚ	__class__Úlist)rrrrÚ__repr__szBaseTestSuite.__repr__cCs t||jƒstSt|ƒt|ƒkS)N)Ú
isinstancerÚNotImplementedr)rÚotherrrrÚ__eq__szBaseTestSuite.__eq__cCs
t|jƒS)N)Úiterr)rrrrÚ__iter__"szBaseTestSuite.__iter__cCs(|j}x|D]}|r||jƒ7}qW|S)N)rÚcountTestCases)rZcasesÚtestrrrr%s

zBaseTestSuite.countTestCasescCsLt|ƒstdjt|ƒƒƒ‚t|tƒr<t|tjt	fƒr<tdƒ‚|j
j|ƒdS)Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest())ÚcallableÚ	TypeErrorÚformatÚreprrÚtypeÚ
issubclassrZTestCaserrÚappend)rr rrrÚaddTest,szBaseTestSuite.addTestcCs.t|tƒrtdƒ‚x|D]}|j|ƒqWdS)Nz0tests must be an iterable of tests, not a string)rÚstrr"r()rrr rrrr6s

zBaseTestSuite.addTestscCs:x4t|ƒD](\}}|jrP||ƒ|jr
|j|ƒq
W|S)N)Ú	enumerateÚ
shouldStopÚ_cleanupÚ_removeTestAtIndex)rÚresultÚindexr rrrÚrun<szBaseTestSuite.runcCsNy|j|}Wntk
r"Yn(Xt|dƒr@|j|jƒ7_d|j|<dS)z2Stop holding a reference to the TestCase at index.rN)rr"Úhasattrrr)rr/r rrrr-Es
z BaseTestSuite._removeTestAtIndexcOs|j||ŽS)N)r0)rÚargsÚkwdsrrrÚ__call__SszBaseTestSuite.__call__cCsx|D]}|jƒqWdS)z7Run the tests without collecting errors in a TestResultN)Údebug)rr rrrr5Vs
zBaseTestSuite.debugN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r,rrrrrr(rr0r-r4r5rrrrrs
	rc@sReZdZdZddd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	dd„Z
dd„ZdS)ra³A test suite is a composite test consisting of a number of TestCases.

    For use, create an instance of TestSuite, then add test case instances.
    When all tests have been added, the suite can be passed to a test
    runner, such as TextTestRunner. It will run the individual test cases
    in the order in which they were added, aggregating the results. When
    subclassing, do not forget to call the base class constructor.
    FcCsÖd}t|ddƒdkrd|_}x’t|ƒD]†\}}|jr8Pt|ƒrˆ|j||ƒ|j||ƒ|j||ƒ|j|_	t|jddƒs(t|ddƒrˆq(|s–||ƒn|j
ƒ|jr(|j|ƒq(W|rÒ|jd|ƒ|j
|ƒd|_|S)NFÚ_testRunEnteredTÚ_classSetupFailedÚ_moduleSetUpFailed)r	r:r*r+Ú_isnotsuiteÚ_tearDownPreviousClassÚ_handleModuleFixtureÚ_handleClassSetUprÚ_previousTestClassr5r,r-Ú_handleModuleTearDown)rr.r5ZtopLevelr/r rrrr0fs0


z
TestSuite.runcCstƒ}|j|dƒdS)z7Run the tests without collecting errors in a TestResultTN)Ú_DebugResultr0)rr5rrrr5‡szTestSuite.debugc	 Csìt|ddƒ}|j}||krdS|jr(dSt|ddƒr8dSy
d|_Wntk
rVYnXt|ddƒ}|dk	rèt|dƒzdy
|ƒWnTtk
rÖ}z8t|tƒr ‚d|_t	j
|ƒ}d|}|j|||ƒWYdd}~XnXWdt|dƒXdS)	NrAÚ__unittest_skip__FÚ
setUpClassÚ_setupStdoutTzsetUpClass (%s)Ú_restoreStdout)r	rr<r;r"r
Ú	ExceptionrrCrrÚ_addClassOrModuleLevelException)	rr r.Ú
previousClassÚcurrentClassrEÚeÚ	classNameÚ	errorNamerrrr@Žs2




$zTestSuite._handleClassSetUpcCs"d}t|ddƒ}|dk	r|j}|S)NrA)r	r7)rr.ÚpreviousModulerJrrrÚ_get_previous_module®s
zTestSuite._get_previous_modulec	 CsÜ|j|ƒ}|jj}||krdS|j|ƒd|_ytj|}Wntk
rPdSXt|ddƒ}|dk	rØt	|dƒzZy
|ƒWnJt
k
rÆ}z.t|tƒrš‚d|_d|}|j
|||ƒWYdd}~XnXWdt	|dƒXdS)NFÚsetUpModulerFTzsetUpModule (%s)rG)rPrr7rBr<ÚsysÚmodulesÚKeyErrorr	r
rHrrCrI)	rr r.rOZ
currentModuleÚmodulerQrLrNrrrr?¶s,




$zTestSuite._handleModuleFixturecCsLt|ƒ}t|ddƒ}|dk	r8t|tjƒr8||t|ƒƒn|j|tjƒƒdS)NÚaddSkip)	Ú_ErrorHolderr	rrZSkipTestr)ZaddErrorrRÚexc_info)rr.Z	exceptionrNÚerrorrVrrrrIÒs
z)TestSuite._addClassOrModuleLevelExceptionc CsÈ|j|ƒ}|dkrdS|jr dSytj|}Wntk
rBdSXt|ddƒ}|dk	rÄt|dƒzTy
|ƒWnDtk
r²}z(t|t	ƒrŒ‚d|}|j
|||ƒWYdd}~XnXWdt|dƒXdS)NÚtearDownModulerFztearDownModule (%s)rG)rPr<rRrSrTr	r
rHrrCrI)rr.rOrUrZrLrNrrrrBÚs(



$zTestSuite._handleModuleTearDownc	CsÜt|ddƒ}|j}||krdSt|ddƒr.dSt|ddƒr>dSt|ddƒrNdSt|ddƒ}|dk	rØt|dƒz^y
|ƒWnNtk
rÆ}z2t|tƒr–‚tj|ƒ}d|}|j|||ƒWYdd}~XnXWdt|d	ƒXdS)
NrAr;Fr<rDÚ
tearDownClassrFztearDownClass (%s)rG)	r	rr
rHrrCrrrI)	rr r.rJrKr[rLrMrNrrrr>ós,



$z TestSuite._tearDownPreviousClassN)F)r6r7r8r9r0r5r@rPr?rIrBr>rrrrr\s
! c@sTeZdZdZdZdd„Zdd„Zdd„Zd	d
„Zdd„Z	d
d„Z
dd„Zdd„ZdS)rWz¾
    Placeholder for a TestCase inside a result. As far as a TestResult
    is concerned, this looks exactly like a unit test. Used to insert
    arbitrary errors into a test suite run.
    NcCs
||_dS)N)Údescription)rr\rrrrsz_ErrorHolder.__init__cCs|jS)N)r\)rrrrÚidsz_ErrorHolder.idcCsdS)Nr)rrrrÚshortDescription sz_ErrorHolder.shortDescriptioncCsd|jfS)Nz<ErrorHolder description=%r>)r\)rrrrr#sz_ErrorHolder.__repr__cCs|jƒS)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)
r6r7r8r9ZfailureExceptionrr]r^rr_r0r4rrrrrrWsrWcCs&yt|ƒWntk
r dSXdS)z?A crude way to tell apart testcases and suites with duck-typingTF)rr")r rrrr=4s
r=c@seZdZdZdZdZdZdS)rCzCUsed by the TestSuite to hold previous class when running in debug.NF)r6r7r8r9rAr<r+rrrrrC=srC)
r9rRÚrrZ
__unittestr
ÚobjectrrrWr=rCrrrrÚ<module>sL3&	

OHA YOOOO