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



Yf#@skddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZmZmZmZdZeZdZGdddeZGd	d
d
eZGdddeZGd
ddeZddZddZddZddZddZ ddZ!GdddZ"ddZ#dd Z$Gd!d"d"e"Z%Gd#d$d$e%Z&Gd%d&d&e%Z'ej(d'd(d)gZ)Gd*d+d+ej*Z+Gd,d-d-e"Z,Gd.d/d/eZ-Gd0d1d1e-Z.Gd2d3d3e-Z/dS)4N)result)strclass	safe_repr_count_diff_all_purpose_count_diff_hashable_common_shorten_reprTz@
Diff is %s characters long. Set self.maxDiff to None to see it.c@seZdZdS)SkipTestN)__name__
__module____qualname__r
r
)/opt/alt/python35/lib64/python3.5/case.pyr	sr	c@seZdZdS)_ShouldStopN)r
rrr
r
r
rr"src@seZdZdS)_UnexpectedSuccessN)r
rrr
r
r
rr'src@s7eZdZdddZejdddZdS)_OutcomeNcCsLd|_||_t|d|_d|_g|_d|_g|_dS)NF
addSubTestT)expecting_failurerhasattrresult_supports_subtestssuccessskippedexpectedFailureerrors)selfrr
r
r__init__.s					z_Outcome.__init__Fccs |j}d|_zy	dVWntk
r5Yntk
r~}z*d|_|jj|t|fWYdd}~Xntk
rYnvtj}|j	r||_
nd|_|jj||fd}Yn)X|jr|jr|jj|dfWd|jo||_XdS)NTF)
rKeyboardInterruptr	rappendstrrsysexc_inforrrr)r	test_caseisTestZold_successer r
r
rtestPartExecutor7s*			
	.
		z_Outcome.testPartExecutor)r
rrr
contextlibcontextmanagerr$r
r
r
rr-s	rcCs|S)Nr
)objr
r
r_idUsr(csfdd}|S)NcsLt|ts6tj|fdd}|}d|_|_|S)NcstdS)N)r	)argskwargs)reasonr
rskip_wrapper^sz-skip.<locals>.decorator.<locals>.skip_wrapperT)
isinstancetype	functoolswraps__unittest_skip____unittest_skip_why__)	test_itemr,)r+r
r	decorator\s!		zskip.<locals>.decoratorr
)r+r4r
)r+rskipXs
r5cCs|rt|StS)N)r5r()	conditionr+r
r
rskipIfhs
r7cCs|st|StS)N)r5r()r6r+r
r
r
skipUnlessps
r8cCs
d|_|S)NT)__unittest_expecting_failure__)r3r
r
rrxs	rcsHt|tr,tfdd|DSt|toGt|S)Nc3s|]}t|VqdS)N)_is_subtype).0r#)basetyper
r	<genexpr>~sz_is_subtype.<locals>.<genexpr>)r-tupleallr.
issubclass)expectedr<r
)r<rr:|sr:c@s(eZdZddZddZdS)_BaseTestCaseContextcCs
||_dS)N)r!)rr!r
r
rrsz_BaseTestCaseContext.__init__cCs.|jj|j|}|jj|dS)N)r!_formatMessagemsgfailureException)rstandardMsgrDr
r
r
_raiseFailuresz"_BaseTestCaseContext._raiseFailureN)r
rrrrGr
r
r
rrBsrBcCs!dtjkrt|StSdS)NWITHIN_PYTHON_RPM_BUILD)osenvironr5r()r+r
r
r_skipInRpmBuilds
rKcs%tjfdd}|S)NcsadtjkrPy||Wn$tk
rFttjYnXtn
||dS)NrH)rIrJ	ExceptionZ_ExpectedFailurerr r)r)r*)funcr
rwrappers
	z+_expectedFailureInRpmBuild.<locals>.wrapper)r/r0)rMrNr
)rMr_expectedFailureInRpmBuilds!rOc@s+eZdZdddZddZdS)_AssertRaisesBaseContextNcCs\tj||||_||_|dk	r=tj|}||_d|_d|_dS)N)	rBrrAr!recompileexpected_regexobj_namerD)rrAr!rSr
r
rrs				z!_AssertRaisesBaseContext.__init__cCszt|j|js1td||jf|r`|ddkr`tjdtdf}|s|jdd|_	|rtjdt
t|td|S|^}}y|j|_
Wn!tk
rt||_
YnX||||WdQRXWdd}XdS)Nz%s() arg 1 must be %srzcallable is NonerDz3%r is an invalid keyword argument for this function)r:rA
_base_type	TypeError_base_type_strwarningswarnDeprecationWarningpoprDnextiterr
rTAttributeErrorr)rnamer)r*Zcallable_objr
r
rhandles.	
	

z_AssertRaisesBaseContext.handle)r
rrrrar
r
r
rrPs
rPc@s4eZdZeZdZddZddZdS)_AssertRaisesContextz-an exception type or tuple of exception typescCs|S)Nr
)rr
r
r	__enter__sz_AssertRaisesContext.__enter__c
Cs
|dkry|jj}Wn!tk
r?t|j}YnX|jrh|jdj||jq|jdj|n
tj|t	||jsdS|j
d|_|jdkrdS|j}|j
t|s	|jdj|jt|dS)Nz{} not raised by {}z
{} not raisedFTz"{}" does not match "{}")rAr
r_rrTrGformat	tracebackclear_framesr@with_traceback	exceptionrSsearchpattern)rexc_type	exc_valuetbexc_namerSr
r
r__exit__s(
	
	z_AssertRaisesContext.__exit__N)r
rr
BaseExceptionrVrXrcror
r
r
rrbsrbc@s4eZdZeZdZddZddZdS)_AssertWarnsContextz(a warning type or tuple of warning typescCssx2tjjD]!}t|ddri|_qWtjdd|_|jj|_tj	d|j
|S)N__warningregistry__recordTalways)rmodulesvaluesgetattrrrrYcatch_warningswarnings_managerrcsimplefilterrA)rvr
r
rrc	s
z_AssertWarnsContext.__enter__c
Csd|jj||||dk	r&dSy|jj}Wn!tk
rYt|j}YnXd}x|jD]}|j}t||jsqj|dkr|}|j	dk	r|j	j
t|rqj||_|j|_|j
|_
dSW|dk	r"|jdj|j	jt||jrJ|jdj||jn|jdj|dS)Nz"{}" does not match "{}"z{} not triggered by {}z{} not triggered)ryrorAr
r_rrYmessager-rSriwarningfilenamelinenorGrdrjrT)rrkrlrmrnZfirst_matchingmwr
r
rros8
			z_AssertWarnsContext.__exit__N)r
rrWarningrVrXrcror
r
r
rrqsrq_LoggingWatcherrecordsoutputc@s4eZdZddZddZddZdS)_CapturingHandlercCs&tjj|tgg|_dS)N)loggingHandlerrrwatcher)rr
r
rrAsz_CapturingHandler.__init__cCsdS)Nr
)rr
r
rflushEsz_CapturingHandler.flushcCs9|jjj||j|}|jjj|dS)N)rrrrdr)rrsrDr
r
remitHsz_CapturingHandler.emitN)r
rrrrrr
r
r
rr<src@s:eZdZdZddZddZddZdS)	_AssertLogsContextz"%(levelname)s:%(name)s:%(message)scCsStj||||_|r:tjj|||_ntj|_d|_dS)N)	rBrlogger_namer_nameToLevelgetlevelINFOrD)rr!rrr
r
rrTs	z_AssertLogsContext.__init__cCst|jtjr(|j}|_ntj|j}|_tj|j}t}|j	||j
|_
|jdd|_|j
|_|j|_|g|_|j|j
d|_|j
S)NF)r-rrLoggerlogger	getLogger	FormatterLOGGING_FORMATrsetFormatterrhandlersold_handlersr	old_level	propagate
old_propagatesetLevel)rr	formatterhandlerr
r
rrc]s	
	z_AssertLogsContext.__enter__cCs|j|j_|j|j_|jj|j|dk	rAdSt|jj	dkr|j
djtj
|j|jjdS)NFrz-no logs of level {} or higher triggered on {})rrrrrrrlenrrrGrdrgetLevelNamerr`)rrkrlrmr
r
rronsz_AssertLogsContext.__exit__N)r
rrrrrcror
r
r
rrOs	rc@sGeZdZeZdZdZdZdZddd	Z	d
dZ
dd
ZddZddZ
eddZeddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zejed(d)Zd*d+Zd,d-Zd.d/Z d0d1d2Z!d3d4Z"d5d6Z#d7d8Z$d9d:Z%d0d;d<Z&d0d=d>Z'd0d?d@Z(dAdBZ)dCdDZ*dEdFZ+d0d0dGdHZ,dIdJZ-d0dKdLZ.d0dMdNZ/d0dOdPZ0d0d0d0dQdRZ1d0d0d0dSdTZ2d0d0dUdVZ3dWdXZ4d0dYdZZ5d0d[d\Z6d0d]d^Z7d0d_d`Z8d0dadbZ9d0dcddZ:d0dedfZ;d0dgdhZ<d0didjZ=d0dkdlZ>d0dmdnZ?d0dodpZ@d0dqdrZAd0dsdtZBd0dudvZCd0dwdxZDd0dydzZEd0d{d|ZFd0d}d~ZGddZHddZId0ddZJd0ddZKddZLeLe/ZMZNeLe0ZOZPeLe1ZQZReLe2ZSZTeLe(ZUZVeLe*ZWeLe'ZXeLeHZYeLeJZZeLeKZ[d0S)TestCaseTPFrunTestcCs||_d|_d|_yt||}Wn7tk
rg|dkrctd|j|fYn
X|j|_g|_d|_	i|_
|jtd|jt
d|jtd|jtd|jtd|jtddS)	NzNo testrzno such test method in %s: %sassertDictEqualassertListEqualassertTupleEqualassertSetEqualassertMultiLineEqual)_testMethodName_outcome_testMethodDocrwr_
ValueError	__class____doc__	_cleanups_subtest_type_equality_funcsaddTypeEqualityFuncdictlistr>set	frozensetr)rZ
methodName
testMethodr
r
rrs&			
			zTestCase.__init__cCs||j|<dS)N)r)rZtypeobjfunctionr
r
rrs
zTestCase.addTypeEqualityFunccOs|jj|||fdS)N)rr)rrr)r*r
r
r
addCleanupszTestCase.addCleanupcCsdS)Nr
)rr
r
rsetUpszTestCase.setUpcCsdS)Nr
)rr
r
rtearDownszTestCase.tearDowncCsdS)Nr
)clsr
r
r
setUpClassszTestCase.setUpClasscCsdS)Nr
)rr
r
r
tearDownClassszTestCase.tearDownClasscCsdS)Nrr
)rr
r
rcountTestCasesszTestCase.countTestCasescCs
tjS)N)rZ
TestResult)rr
r
rdefaultTestResultszTestCase.defaultTestResultcCs,|j}|r(|jddjp+dS)N
r)rsplitstrip)rdocr
r
rshortDescriptions	zTestCase.shortDescriptioncCsdt|j|jfS)Nz%s.%s)rrr)rr
r
ridszTestCase.idcCs,t|t|k	rtS|j|jkS)N)r.NotImplementedr)rotherr
r
r__eq__szTestCase.__eq__cCstt||jfS)N)hashr.r)rr
r
r__hash__szTestCase.__hash__cCsd|jt|jfS)Nz%s (%s))rrr)rr
r
r__str__szTestCase.__str__cCsdt|j|jfS)Nz<%s testMethod=%s>)rrr)rr
r
r__repr__szTestCase.__repr__cCsRt|dd}|dk	r.|||n tjdtd|j|dS)NaddSkipz4TestResult has no addSkip method, skips not reportedr)rwrYrZRuntimeWarning
addSuccess)rrr!r+rr
r
r_addSkips	
zTestCase._addSkipcks|jjsdVdS|j}|dkr<tj|}n|jj|}t||||_zt|jj|jdd
dVWdQRX|jj	s|jj
}|dk	r|jrtn|jj
rtWd||_XdS)Nr"T)rrrcollectionsChainMapparams	new_child_SubTestr$rrZfailfastrr)rrDrparentZ
params_maprr
r
rsubTests$		
zTestCase.subTestcCsx|D]y\}}t|tr;|j|j||q|dk	rt|d|jrp|j||q|j||qWdS)Nr)r-rrr!r@rE
addFailureZaddError)rrrtestr r
r
r_feedErrorsToResult=szTestCase._feedErrorsToResultcCsPy
|j}Wn/tk
r>tjdt|j|YnX|||dS)Nz@TestResult has no addExpectedFailure method, reporting as passes)addExpectedFailurer_rYrZrr)rrr rr
r
r_addExpectedFailureGs

	zTestCase._addExpectedFailurecCsxy
|j}WnZtk
ritjdty
tdWn(tk
rd|j|tjYnXYnX||dS)NzCTestResult has no addUnexpectedSuccess method, reporting as failure)	addUnexpectedSuccessr_rYrZrrrrr )rrrr
r
r_addUnexpectedSuccessQs

	

 zTestCase._addUnexpectedSuccessNc
(Cs|}|dkrC|j}t|dd}|dk	rC||j|t||j}t|jddst|ddrz>t|jddpt|dd}|j|||Wd|j|XdSt|dd}t|dd}|p	|}t|}	z'|	|_|	j	||j
WdQRX|	jr||	_|	j	|dd|WdQRXd|	_|	j	||j
WdQRX|jx*|	jD]\}
}|j||
|qW|j||	j|	jr:|r-|	jr|j||	jq:|j|n
|j||SWd|j||dkrt|d	d}|dk	r||	jjd|	_d|_XdS)
NstartTestRunr1Fr2r9r"TstopTestRun)rrwZ	startTestrrrZstopTestrrr$rrrr
doCleanupsrrrrrrrclear)
rrZorig_resultrrZskip_whyZexpecting_failure_methodZexpecting_failure_classroutcomerr+rr
r
rrun`sh
				
		


	zTestCase.runc
Cse|jpt}xI|jr]|jj\}}}|j||||WdQRXqW|jS)N)rrrr\r$r)rrrr)r*r
r
rrszTestCase.doCleanupscOs|j||S)N)r)rr)kwdsr
r
r__call__szTestCase.__call__cCsc|jt||j|jx5|jr^|jjd\}}}|||q*WdS)Nr)rrwrrrr\)rrr)r*r
r
rdebugs

zTestCase.debugcCst|dS)N)r	)rr+r
r
rskipTestszTestCase.skipTestcCs|j|dS)N)rE)rrDr
r
rfailsz
TestCase.failcCs5|r1|j|dt|}|j|dS)Nz%s is not false)rCrrE)rexprrDr
r
rassertFalseszTestCase.assertFalsecCs5|s1|j|dt|}|j|dS)Nz%s is not true)rCrrE)rrrDr
r
r
assertTrueszTestCase.assertTruecCsh|js|p|S|dkr#|Syd||fSWn,tk
rcdt|t|fSYnXdS)Nz%s : %s)longMessageUnicodeDecodeErrorr)rrDrFr
r
rrCs
	

zTestCase._formatMessagec
Os4t||}z|jd||SWdd}XdS)NassertRaises)rbra)rexpected_exceptionr)r*contextr
r
rrszTestCase.assertRaisescOs"t||}|jd||S)NassertWarns)rqra)rexpected_warningr)r*rr
r
rrszTestCase.assertWarnscCst|||S)N)r)rrrr
r
r
assertLogs'szTestCase.assertLogscCset|t|kr^|jjt|}|dk	r^t|trZt||}|S|jS)N)r.rrr-rrw_baseAssertEqual)rfirstsecondZasserterr
r
r_getAssertEqualityFunc=szTestCase._getAssertEqualityFunccCsD||ks@dt||}|j||}|j|dS)Nz%s != %s)rrCrE)rrrrDrFr
r
rrWszTestCase._baseAssertEqualcCs)|j||}|||d|dS)NrD)r)rrrrDZassertion_funcr
r
rassertEqual^szTestCase.assertEqualcCsG||ksC|j|dt|t|f}|j|dS)Nz%s == %s)rCrrE)rrrrDr
r
rassertNotEqualeszTestCase.assertNotEqualcCs||krdS|dk	r4|dk	r4td|dk	rt|||krZdSdt|t|t|f}nT|dkrd}tt|||dkrdSdt|t||f}|j||}|j|dS)Nz specify delta or places not bothz%s != %s within %s deltarz%s != %s within %r places)rWabsrroundrCrE)rrrplacesrDdeltarFr
r
rassertAlmostEqualns&
		
zTestCase.assertAlmostEqualcCs|dk	r$|dk	r$td|dk	r||krWt|||krWdSdt|t|t|f}na|dkrd}||krtt|||dkrdSdt|t||f}|j||}|j|dS)Nz specify delta or places not bothz%s == %s within %s deltarrz%s == %s within %r places)rWrrrrCrE)rrrrrDrrFr
r
rassertNotAlmostEquals"#	,	
zTestCase.assertNotAlmostEqualc'Cs|dk	rt|j}t||sC|jd|t|ft||sz|jd|t|fnd}d}yt|}Wn"ttfk
rd|}YnX|dkryt|}Wn"ttfk
rd|}YnX|dkr&||krdSd|jft||}xt	t
||D]}	y||	}
Wn0tttfk
r|d|	|f7}PYnXy||	}Wn0tttfk
r|d|	|f7}PYnX|
|krH|d	|	ft|
|7}PqHW||kr3|dkr3t|t|kr3dS||kr|d
|||f7}y"|d|t||f7}Wq&tttfk
r|d||f7}Yq&Xnx||kr&|d
|||f7}y"|d|t||f7}Wn/tttfk
r%|d||f7}YnX|}ddj
tjtj|jtj|j}
|j||
}|j||}|j|dS)NzFirst sequence is not a %s: %szSecond sequence is not a %s: %sZsequencez(First %s has no length.    Non-sequence?z)Second %s has no length.    Non-sequence?z%ss differ: %s != %s
z(
Unable to index element %d of first %s
z)
Unable to index element %d of second %s
z#
First differing element %d:
%s
%s
z+
First %s contains %d additional elements.
zFirst extra element %d:
%s
z'Unable to index element %d of first %s
z,
Second %s contains %d additional elements.
z(Unable to index element %d of second %s
r)r
r-rErrrWNotImplementedError
capitalizerrangemin
IndexErrorr.joindifflibndiffpprintpformat
splitlines_truncateMessagerCr)rZseq1Zseq2rDseq_typeZ
seq_type_nameZ	differingZlen1Zlen2iZitem1Zitem2rFdiffMsgr
r
rassertSequenceEquals				zTestCase.assertSequenceEqualcCsA|j}|dks't||kr/||S|tt|S)N)maxDiffrDIFF_OMITTED)rr|diffZmax_diffr
r
rrs	zTestCase._truncateMessagecCs|j|||dtdS)Nr)rr)rZlist1Zlist2rDr
r
rrs
zTestCase.assertListEqualcCs|j|||dtdS)Nr)rr>)rZtuple1Ztuple2rDr
r
rr+s	zTestCase.assertTupleEqualc
 Csy|j|}Wnktk
rK}z|jd|WYdd}~Xn6tk
r}z|jd|WYdd}~XnXy|j|}Wnktk
r}z|jd|WYdd}~Xn6tk
r}z|jd|WYdd}~XnX|p|sdSg}|rO|jdx!|D]}|jt|q2W|r|jdx!|D]}|jt|qiWdj|}	|j|j||	dS)Nz/invalid type when attempting set difference: %sz2first argument does not support set difference: %sz3second argument does not support set difference: %sz*Items in the first set but not the second:z*Items in the second set but not the first:r)
differencerWrr_rreprrrC)
rZset1Zset2rDZdifference1r#Zdifference2linesitemrFr
r
rr6s2
#$#$



zTestCase.assertSetEqualcCsE||krAdt|t|f}|j|j||dS)Nz%s not found in %s)rrrC)rmember	containerrDrFr
r
rassertInaszTestCase.assertIncCsE||krAdt|t|f}|j|j||dS)Nz%s unexpectedly found in %s)rrrC)rr r!rDrFr
r
rassertNotInhszTestCase.assertNotIncCsE||k	rAdt|t|f}|j|j||dS)Nz%s is not %s)rrrC)rexpr1expr2rDrFr
r
rassertIsoszTestCase.assertIscCs<||kr8dt|f}|j|j||dS)Nzunexpectedly identical: %s)rrrC)rr$r%rDrFr
r
rassertIsNotvszTestCase.assertIsNotcCs|j|td|j|td||krdt||}ddjtjtj|jtj|j}|j	||}|j
|j||dS)Nz"First argument is not a dictionaryz#Second argument is not a dictionaryz%s != %sr)assertIsInstancerrrrrrrrrrrC)rZd1Zd2rDrFrr
r
rr|szTestCase.assertDictEqualc	Cstjdtg}g}xv|jD]h\}}||krQ|j|q)|||kr)|jdt|t|t||fq)W|p|sdSd}|rddjdd|D}|r|r|d7}|d	dj|7}|j|j||dS)
Nz&assertDictContainsSubset is deprecatedz%s, expected: %s, actual: %srzMissing: %s,css|]}t|VqdS)N)r)r;rr
r
rr=sz4TestCase.assertDictContainsSubset.<locals>.<genexpr>z; zMismatched values: %s)	rYrZr[itemsrrrrrC)	rZsubsetZ
dictionaryrDmissingZ
mismatchedkeyvaluerFr
r
rassertDictContainsSubsets,		
z!TestCase.assertDictContainsSubsetc
Cst|t|}}y"tj|}tj|}Wn!tk
r^t||}Yn X||krodSt||}|rd}dd|D}dj|}	|j||	}|j||}|j	|dS)NzElement counts were not equal:
cSsg|]}d|qS)z First has %d, Second has %d:  %rr
)r;rr
r
r
<listcomp>s	z-TestCase.assertCountEqual.<locals>.<listcomp>r)
rrCounterrWrrrrrCr)
rrrrDZ	first_seqZ
second_seqZdifferencesrFrrr
r
rassertCountEquals 

zTestCase.assertCountEqualcCs5|j|td|j|td||kr1t||jks\t||jkro|j||||jdd}|jdd}t|dkr|jd|kr|dg}|dg}dt||}dd	jt	j
||}|j||}|j|j
||dS)
NzFirst argument is not a stringzSecond argument is not a stringkeependsTrz
rz%s != %sr)r(rr_diffThresholdrrrrrrrrrrC)rrrrDZ
firstlinesZsecondlinesrFrr
r
rrs'

zTestCase.assertMultiLineEqualcCsE||ksAdt|t|f}|j|j||dS)Nz%s not less than %s)rrrC)rabrDrFr
r
r
assertLessszTestCase.assertLesscCsE||ksAdt|t|f}|j|j||dS)Nz%s not less than or equal to %s)rrrC)rr4r5rDrFr
r
rassertLessEqualszTestCase.assertLessEqualcCsE||ksAdt|t|f}|j|j||dS)Nz%s not greater than %s)rrrC)rr4r5rDrFr
r
r
assertGreaterszTestCase.assertGreatercCsE||ksAdt|t|f}|j|j||dS)Nz"%s not greater than or equal to %s)rrrC)rr4r5rDrFr
r
rassertGreaterEqualszTestCase.assertGreaterEqualcCs<|dk	r8dt|f}|j|j||dS)Nz%s is not None)rrrC)rr'rDrFr
r
rassertIsNoneszTestCase.assertIsNonecCs/|dkr+d}|j|j||dS)Nzunexpectedly None)rrC)rr'rDrFr
r
rassertIsNotNoneszTestCase.assertIsNotNonecCsBt||s>dt||f}|j|j||dS)Nz%s is not an instance of %r)r-rrrC)rr'rrDrFr
r
rr(szTestCase.assertIsInstancecCsBt||r>dt||f}|j|j||dS)Nz%s is an instance of %r)r-rrrC)rr'rrDrFr
r
rassertNotIsInstanceszTestCase.assertNotIsInstancecOs%t|||}|jd||S)NassertRaisesRegex)rbra)rrrSr)r*rr
r
rr=s
zTestCase.assertRaisesRegexcOs%t|||}|jd||S)NassertWarnsRegex)rqra)rrrSr)r*rr
r
rr>szTestCase.assertWarnsRegexcCskt|ttfr$tj|}|j|sgd|j|f}|j||}|j|dS)Nz&Regex didn't match: %r not found in %r)	r-rbytesrQrRrirjrCrE)rtextrSrDrFr
r
rassertRegex.szTestCase.assertRegexcCst|ttfr$tj|}|j|}|rd||j|j|j|f}|j	||}|j
|dS)Nz"Regex matched: %r matches %r in %r)r-rr?rQrRristartendrjrCrE)rr@Zunexpected_regexrDmatchrFr
r
rassertNotRegex:s
zTestCase.assertNotRegexcsfdd}|S)Ncs,tjdjjtd||S)NzPlease use {0} instead.r)rYrZrdr
r[)r)r*)
original_funcr
rdeprecated_funcJs
z,TestCase._deprecate.<locals>.deprecated_funcr
)rFrGr
)rFr
_deprecateIszTestCase._deprecateii)\r
rrAssertionErrorrErrr3Z_classSetupFailedrrrrrclassmethodrrrrrrrrrrrr%r&_subtest_msg_sentinelrrrrrrrrrrrrrCrrrrrrrrrrrrrrr"r#r&r'rr.r1rr6r7r8r9r:r;r(r<r=r>rArErHZfailUnlessEqualZassertEqualsZfailIfEqualZassertNotEqualsZfailUnlessAlmostEqualZassertAlmostEqualsZfailIfAlmostEqualZassertNotAlmostEqualsZ
failUnlessZassert_ZfailUnlessRaisesZfailIfZassertRaisesRegexpZassertRegexpMatchesZassertNotRegexpMatchesr
r
r
rr{s! 	

E
	!	& c+!	rcseZdZdddfddZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZS)FunctionTestCaseNcs;tt|j||_||_||_||_dS)N)superrLr
_setUpFunc
_tearDownFunc	_testFunc_description)rZtestFuncrrdescription)rr
rrhs
			zFunctionTestCase.__init__cCs|jdk	r|jdS)N)rN)rr
r
rroszFunctionTestCase.setUpcCs|jdk	r|jdS)N)rO)rr
r
rrsszFunctionTestCase.tearDowncCs|jdS)N)rP)rr
r
rrwszFunctionTestCase.runTestcCs
|jjS)N)rPr
)rr
r
rrzszFunctionTestCase.idcCs\t||jstS|j|jko[|j|jko[|j|jko[|j|jkS)N)r-rrrNrOrPrQ)rrr
r
rr}szFunctionTestCase.__eq__cCs+tt||j|j|j|jfS)N)rr.rNrOrPrQ)rr
r
rrszFunctionTestCase.__hash__cCsdt|j|jjfS)Nz%s (%s))rrrPr
)rr
r
rrszFunctionTestCase.__str__cCsdt|j|jfS)Nz<%s tec=%s>)rrrP)rr
r
rrszFunctionTestCase.__repr__cCsE|jdk	r|jS|jj}|rA|jddjpDdS)Nrr)rQrPrrr)rrr
r
rrsz!FunctionTestCase.shortDescription)
r
rrrrrrrrrrrrr
r
)rrrL_s		rLcs^eZdZfddZddZddZddZd	d
ZddZS)
rcs8tj||_||_||_|j|_dS)N)rMr_messager!rrE)rr!r|r)rr
rrs

			z_SubTest.__init__cCstddS)Nzsubtests cannot be run directly)r	)rr
r
rrsz_SubTest.runTestcCsg}|jtk	r.|jdj|j|jrxdjddt|jjD}|jdj|dj|pdS)Nz[{}]z, css'|]\}}dj||VqdS)z{}={!r}N)rd)r;kr{r
r
rr=sz+_SubTest._subDescription.<locals>.<genexpr>z({}) z(<subtest>))rSrKrrdrrsortedr*)rpartsZparams_descr
r
r_subDescriptions		z_SubTest._subDescriptioncCsdj|jj|jS)Nz{} {})rdr!rrX)rr
r
rrsz_SubTest.idcCs
|jjS)N)r!r)rr
r
rrsz_SubTest.shortDescriptioncCsdj|j|jS)Nz{} {})rdr!rX)rr
r
rrsz_SubTest.__str__)	r
rrrrrXrrrr
r
)rrrsr)0rr/rrIrrrQrYrr%rerrutilrrrrrZ
__unittestobjectrKrrLr	rrrr(r5r7r8rr:rBrKrOrPrbrq
namedtuplerrrrrrLrr
r
r
r<module>sR(	(
/%5	,:
Back to Directory File Manager