ž ¬ÿf;6c@s?dZddlZddlZddlZddlZddlZddlZddlmZddlm Z m Z m Z e Z ejdejƒZdd„Zd d „Zd d „Zd d„ZGdd„deƒZeƒZedd„Ze jdd„Zde je jdd„Zde je jdd„ZdS(uLoading unittests.iN(ufnmatchi(ucaseusuiteuutilu[_a-z]\w*\.py$cCs/d|tjƒf}td|t|ƒ|ƒS(Nu#Failed to import test module: %s %suModuleImportFailure(u tracebacku format_excu_make_failed_testu ImportError(unameu suiteClassumessage((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu_make_failed_import_testsu_make_failed_import_testcCstd|||ƒS(NuLoadTestsFailure(u_make_failed_test(unameu exceptionu suiteClass((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu_make_failed_load_testssu_make_failed_load_testscsJ‡fdd†}i||6}t|tjf|ƒ}|||ƒfƒS(Ncs ˆ‚dS(N((uself(u exception(u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu testFailuresu&_make_failed_test..testFailure(utypeucaseuTestCase(u classnameu methodnameu exceptionu suiteClassu testFailureuattrsu TestClass((u exceptionu4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu_make_failed_tests u_make_failed_testcCs7|jƒjdƒr#|dd…Stjj|ƒdS(Nu $py.classi ii÷ÿÿÿ(uloweruendswithuosupathusplitext(upath((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu_jython_aware_splitext%su_jython_aware_splitextcBsÑ|EeZdZdZdZeejƒZe j Z dZ dd„Zddd„Zddd„Zdd d „Zd d „Zd ddd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS(u TestLoaderu This class is responsible for loading tests according to various criteria and returning them wrapped in a TestSuite utestcCsnt|tjƒr!tdƒ‚n|j|ƒ}| rRt|dƒrRdg}n|jt||ƒƒ}|S(u<Return a suite of all tests cases contained in testCaseClassuYTest cases should not be derived from TestSuite. Maybe you meant to derive from TestCase?urunTest(u issubclassusuiteu TestSuiteu TypeErrorugetTestCaseNamesuhasattru suiteClassumap(uselfu testCaseClassu testCaseNamesu loaded_suite((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyuloadTestsFromTestCase5s u TestLoader.loadTestsFromTestCasecCsòg}x]t|ƒD]O}t||ƒ}t|tƒrt|tjƒr|j|j|ƒƒqqWt|ddƒ}|j |ƒ}|rî|dk rîy|||dƒSWqît k rê}zt |j ||j ƒSWYdd}~XqîXn|S(u?Return a suite of all tests cases contained in the given moduleu load_testsN(udirugetattru isinstanceutypeu issubclassucaseuTestCaseuappenduloadTestsFromTestCaseuNoneu suiteClassu Exceptionu_make_failed_load_testsu__name__(uselfumoduleuuse_load_testsutestsunameuobju load_testsue((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyuloadTestsFromModule@s!  uTestLoader.loadTestsFromModulec Cs|jdƒ}|dkr|dd…}xL|ryytdj|ƒƒ}PWq.tk ru|d=|sq‚nYq.Xq.W|dd…}n|}x$|D]}|t||ƒ}}qšWt|tjƒrÙ|j |ƒSt|t ƒrt |t j ƒr|j|ƒSt|tjƒr~t|t ƒr~t |t j ƒr~|d}||ƒ}tt||ƒtjƒs”|j|gƒSnt|tjƒr”|St|ƒrú|ƒ} t| tjƒr¿| St| t j ƒrá|j| gƒStd|| fƒ‚ntd|ƒ‚dS(uTReturn a suite of all tests cases given a string specifier. The name may resolve either to a module, a test case class, a test method within a test case class, or a callable object which returns a TestCase or TestSuite instance. The method optionally resolves the names relative to a given module. u.Niu"calling %s returned %s, not a testu$don't know how to make test from: %siÿÿÿÿiÿÿÿÿ(usplituNoneu __import__ujoinu ImportErrorugetattru isinstanceutypesu ModuleTypeuloadTestsFromModuleutypeu issubclassucaseuTestCaseuloadTestsFromTestCaseu FunctionTypeu suiteClassusuiteu TestSuiteucallableu TypeError( uselfunameumoduleupartsu parts_copyuobjupartuparentuinstutest((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyuloadTestsFromNameRsJ      !     uTestLoader.loadTestsFromNamecs)‡‡fdd†|Dƒ}ˆj|ƒS(u‚Return a suite of all tests cases found using the given sequence of string specifiers. See 'loadTestsFromName()'. cs"g|]}ˆj|ˆƒ‘qS((uloadTestsFromName(u.0uname(umoduleuself(u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu ‰s u1TestLoader.loadTestsFromNames..(u suiteClass(uselfunamesumoduleusuites((umoduleuselfu4/opt/alt/python33/lib64/python3.3/unittest/loader.pyuloadTestsFromNames…suTestLoader.loadTestsFromNamescCs\||jdd„}tt|t|ƒƒƒ}|jrX|jdtj|jƒƒn|S(uLReturn a sorted sequence of method names found within testCaseClass cSs"|j|ƒo!tt||ƒƒS(N(u startswithucallableugetattr(uattrnameu testCaseClassuprefix((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu isTestMethodsu1TestLoader.getTestCaseNames..isTestMethodukey(utestMethodPrefixulistufilterudirusortTestMethodsUsingusortu functoolsu cmp_to_key(uselfu testCaseClassu isTestMethodu testFnNames((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyugetTestCaseNamesŒs  uTestLoader.getTestCaseNamesutest*.pyc CsÅd}|dkr-|jdk r-|j}n|dkrHd}|}ntjj|ƒ}|tjkrtjjd|ƒn||_d}tjj tjj|ƒƒròtjj|ƒ}||kr‡tjj tjj |dƒƒ }q‡n•yt |ƒWnt k rd}YnmXtj|}|jdƒd}tjjtjj|jƒƒ}|r‡|j|ƒ|_tjj|ƒn|r t d|ƒ‚nt|j||ƒƒ}|j|ƒS(uRFind and return all test modules from the specified start directory, recursing into subdirectories to find them and return all tests found within them. Only test files that match the pattern will be loaded. (Using shell style pattern matching.) All test modules must be importable from the top level of the project. If the start directory is not the top level directory then the top level directory must be specified separately. If a test package name (directory with '__init__.py') matches the pattern then the package will be checked for a 'load_tests' function. If this exists then it will be called with loader, tests, pattern. If load_tests exists then discovery does *not* recurse into the package, load_tests is responsible for loading all tests in the package. The pattern is deliberately not stored as a loader attribute so that packages can continue discovery themselves. top_level_dir is stored so load_tests does not need to pass this argument in to loader.discover(). iu __init__.pyu.u%Start directory is not importable: %rFNT(uFalseuNoneu_top_level_diruTrueuosupathuabspathusysuinsertuisdiruisfileujoinu __import__u ImportErrorumodulesusplitudirnameu__file__u _get_directory_containing_moduleuremoveulistu _find_testsu suiteClass( uselfu start_dirupatternu top_level_diruset_implicit_topuis_not_importableu the_moduleutop_partutests((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyudiscover˜s:     (   !uTestLoader.discovercCsstj|}tjj|jƒ}tjj|ƒjƒjdƒr_tjj tjj |ƒƒStjj |ƒSdS(Nu __init__.py( usysumodulesuosupathuabspathu__file__ubasenameuloweru startswithudirname(uselfu module_nameumoduleu full_path((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu _get_directory_containing_moduleØs  !u+TestLoader._get_directory_containing_modulecCs‡ttjj|ƒƒ}tjj||jƒ}tjj|ƒ sOtdƒ‚|jdƒ sktdƒ‚|j tjj dƒ}|S(NuPath must be within the projectu..u.( u_jython_aware_splitextuosupathunormpathurelpathu_top_level_diruisabsuAssertionErroru startswithureplaceusep(uselfupathu_relpathuname((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu_get_name_from_pathäs uTestLoader._get_name_from_pathcCst|ƒtj|S(N(u __import__usysumodules(uselfuname((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu_get_module_from_nameîs u TestLoader._get_module_from_namecCs t||ƒS(N(ufnmatch(uselfupathu full_pathupattern((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu _match_pathòsuTestLoader._match_pathccsÆtj|ƒ}x°|D]¨}tjj||ƒ}tjj|ƒr†tj|ƒsXqn|j|||ƒssqn|j|ƒ}y|j |ƒ}Wnt ||j ƒVYq¾Xtjj t |d|ƒƒ}ttjj|ƒƒ} ttjj|ƒƒ} | jƒ| jƒkrutjj| ƒ} ttjj|ƒƒ} tjj|ƒ} d}t|| | | fƒ‚n|j|ƒVqtjj|ƒrtjjtjj|dƒƒs¿qnd}d}t||ƒr"|j|ƒ}|j |ƒ}t |ddƒ}|j|ddƒ}n|dkrg|dk rB|Vnxv|j||ƒD] }|VqUWq¾y||||ƒVWq¾tk rº}zt|j||j ƒVWYdd}~Xq¾XqqWdS(u/Used by discovery. Yields test suites it loads.u__file__uW%r module incorrectly imported from %r. Expected %r. Is this module globally installed?u __init__.pyu load_testsuuse_load_testsNF(uosulistdirupathujoinuisfileuVALID_MODULE_NAMEumatchu _match_pathu_get_name_from_pathu_get_module_from_nameu_make_failed_import_testu suiteClassuabspathugetattru_jython_aware_splitexturealpathulowerudirnameubasenameu ImportErroruloadTestsFromModuleuisdiruNoneufnmatchuFalseu _find_testsu Exceptionu_make_failed_load_testsu__name__(uselfu start_dirupatternupathsupathu full_pathunameumoduleumod_fileurealpathufullpath_noextu module_dirumod_nameu expected_dirumsgu load_testsutestsupackageutestue((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu _find_testsösV !    uTestLoader._find_testsNT(u__name__u __module__u __qualname__u__doc__utestMethodPrefixu staticmethoduutilu three_way_cmpusortTestMethodsUsingusuiteu TestSuiteu suiteClassuNoneu_top_level_diruloadTestsFromTestCaseuTrueuloadTestsFromModuleuloadTestsFromNameuloadTestsFromNamesugetTestCaseNamesudiscoveru _get_directory_containing_moduleu_get_name_from_pathu_get_module_from_nameu _match_pathu _find_tests(u __locals__((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu TestLoader+s   3 @  u TestLoadercCs1tƒ}||_||_|r-||_n|S(N(u TestLoaderusortTestMethodsUsingutestMethodPrefixu suiteClass(uprefixu sortUsingu suiteClassuloader((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu _makeLoader2s     u _makeLoadercCst||ƒj|ƒS(N(u _makeLoaderugetTestCaseNames(u testCaseClassuprefixu sortUsing((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyugetTestCaseNames:sugetTestCaseNamesutestcCst|||ƒj|ƒS(N(u _makeLoaderuloadTestsFromTestCase(u testCaseClassuprefixu sortUsingu suiteClass((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu makeSuite=su makeSuitecCst|||ƒj|ƒS(N(u _makeLoaderuloadTestsFromModule(umoduleuprefixu sortUsingu suiteClass((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyu findTestCasesBsu findTestCases(u__doc__uosureusysu tracebackutypesu functoolsufnmatchuucaseusuiteuutiluTrueu __unittestucompileu IGNORECASEuVALID_MODULE_NAMEu_make_failed_import_testu_make_failed_load_testsu_make_failed_testu_jython_aware_splitextuobjectu TestLoaderudefaultTestLoaderuNoneu _makeLoaderu three_way_cmpugetTestCaseNamesu TestSuiteu makeSuiteu findTestCases(((u4/opt/alt/python33/lib64/python3.3/unittest/loader.pyus.          ÿ