ó ű^‚Rc@s”dZddlZddlZddlZddlmZmZddlmZe Z dZ dZ dZ d Zd Zd efd „ƒYZeZdS( sUnittest main programi˙˙˙˙Ni(tloadertrunner(tinstallHandlers) -f, --failfast Stop on first failure s7 -c, --catch Catch control-C and display results s= -b, --buffer Buffer stdout and stderr during test runs sťUsage: %(progName)s [options] [tests] Options: -h, --help Show this message -v, --verbose Verbose output -q, --quiet Minimal output %(failfast)s%(catchbreak)s%(buffer)s Examples: %(progName)s test_module - run tests from test_module %(progName)s module.TestClass - run tests from module.TestClass %(progName)s module.Class.test_method - run specified test method [tests] can be a list of any number of test modules, classes and test methods. Alternative Usage: %(progName)s discover [options] Options: -v, --verbose Verbose output %(failfast)s%(catchbreak)s%(buffer)s -s directory Directory to start discovery ('.' default) -p pattern Pattern to match test files ('test*.py' default) -t directory Top level directory of project (default to start directory) For test discovery all test modules must be importable from the top level directory of the project. s1Usage: %(progName)s [options] [test] [...] Options: -h, --help Show this message -v, --verbose Verbose output -q, --quiet Minimal output %(failfast)s%(catchbreak)s%(buffer)s Examples: %(progName)s - run default set of tests %(progName)s MyTestSuite - run suite 'MyTestSuite' %(progName)s MyTestCase.testSomething - run MyTestCase.testSomething %(progName)s MyTestCase - run all 'test*' test methods in MyTestCase t TestProgramc BsƒeZdZeZd ZZZZ dd d d e j e dd d d d„ Z d d„Zd„Zd„Zd d„Zd„ZRS( sA command-line program that runs a set of tests; this is primarily for making test modules conveniently executable. t__main__ic Csńt|tƒrTt|ƒ|_x<|jdƒdD]} t|j| ƒ|_q2Wn ||_|dkrutj}n||_ ||_ | |_ ||_ | |_ ||_||_||_tjj|dƒ|_|j|ƒ|jƒdS(Nt.ii(t isinstancet basestringt __import__tmoduletsplittgetattrtNonetsystargvtexittfailfastt catchbreakt verbositytbuffert defaultTestt testRunnert testLoadertostpathtbasenametprogNamet parseArgstrunTests( tselfR RRRRRRRRRtpart((s#/usr/lib/python2.7/unittest/main.pyt__init__Hs$            cCs¤|r|GHni|jd6dd6dd6dd6}|jtkrOt|d˘ss %s discoveri˙˙˙˙s-vs --verbosetdestR+tdefaultR*sVerbose outputtactiont store_trues-fs --failfastRsStop on first fail or errors-cs--catchRs'Catch ctrl-C and display results so fars-bs--bufferRs%Buffer stdout and stderr during testss-ss--start-directorytstartRs*Directory to start discovery ('.' default)s-ps --patterntpatternstest*.pys+Pattern to match tests ('test*.py' default)s-ts--top-level-directoryttops<Top level directory of project (defaults to start directory)ii(sstartspatternstop(R Rtoptparset OptionParsertprogt add_optionR!RRRt parse_argsR/R(tziptsetattrR+RRERFRGR)R>( RRtLoaderRHtparserR9R:tnameR<t start_dirRFt top_level_dirR((Rs#/usr/lib/python2.7/unittest/main.pyR1 sX               cCsß|jrtƒn|jdkr1tj|_nt|jttj fƒršy+|jd|j d|j d|j ƒ}WqŁt k r–|jƒ}qŁXn |j}|j|jƒ|_|jrŰtj|jjƒ ƒndS(NRRR(RRRR RtTextTestRunnerRttypettypest ClassTypeRRRt TypeErrortrunR>tresultRR t wasSuccessful(RR((s#/usr/lib/python2.7/unittest/main.pyRŘs      N(R5t __module__t__doc__tUSAGE_FROM_MODULER%R RRRRRtdefaultTestLoaderR3RR(RR6R1R(((s#/usr/lib/python2.7/unittest/main.pyR?s      *  8(R]R RRVR RRtsignalsRR3t __unittestR"R#R$t USAGE_AS_MAINR^tobjectRtmain(((s#/usr/lib/python2.7/unittest/main.pyts   ­