Spade
Mini Shell
�
t�fc@sdZddlZddlZddlZddlZddlZddlmZddl m Z ddl
mZmZe
Zejdej�Zd�Zd �Zd
�Zdefd��YZe�Zed
�Zed�Zdeejd�Zdeejd�ZdS(sLoading
unittests.i����N(t
cmp_to_key(tfnmatchi(tcasetsuites[_a-z]\w*\.py$cCs/d|tj�f}td|t|�|�S(Ns#Failed
to import test module: %s
%stModuleImportFailure(t tracebackt
format_exct_make_failed_testtImportError(tnamet
suiteClasstmessage((s'/usr/lib64/python2.7/unittest/loader.pyt_make_failed_import_testscCstd|||�S(NtLoadTestsFailure(R(R t exceptionR
((s'/usr/lib64/python2.7/unittest/loader.pyt_make_failed_load_testsscsG�fd�}i||6}t|tjf|�}|||�f�S(Ncs
��dS(N((tself(R(s'/usr/lib64/python2.7/unittest/loader.pyttestFailures(ttypeRtTestCase(t classnamet
methodnameRR
Rtattrst TestClass((Rs'/usr/lib64/python2.7/unittest/loader.pyRs
t
TestLoadercBs�eZdZdZeZejZdZ
d�Zed�Z
dd�Zdd�Zd�Zddd�Zd �Zd
�Zd�Zd�Zd
�ZRS(s�
This class is responsible for loading tests according to various
criteria
and returning them wrapped in a TestSuite
ttestcCsnt|tj�r!td��n|j|�}|rRt|d�rRdg}n|jt||��}|S(s<Return
a suite of all tests cases contained in testCaseClasssYTest cases should
not be derived from TestSuite. Maybe you meant to derive from
TestCase?trunTest(t
issubclassRt TestSuitet TypeErrortgetTestCaseNamesthasattrR
tmap(Rt
testCaseClasst
testCaseNamestloaded_suite((s'/usr/lib64/python2.7/unittest/loader.pytloadTestsFromTestCase0scCs�g}x]t|�D]O}t||�}t|t�rt|tj�r|j|j|��qqWt|dd�}|j
|�}|r�|dk r�y|||d�SWq�tk
r�}t|j
||j
�SXn|S(s?Return a suite of all tests cases contained in the given
modulet
load_testsN(tdirtgetattrt
isinstanceRRRRtappendR$tNoneR
t ExceptionRt__name__(Rtmoduletuse_load_teststtestsR tobjR%te((s'/usr/lib64/python2.7/unittest/loader.pytloadTestsFromModule;s!c Cs�|jd�}|dkr}|}xK|roytdj|��}PWq%tk
rk|d=|sl�qlq%Xq%W|d}n|}x$|D]}|t||�}}q�Wt|tj�r�|j |�St|t
�r�t|tj
�r�|j|�St|tj�rCt|t
�rCt|tj
�rC|j||j�g�St|tj�rY|St|d�r�|�}t|tj�r�|St|tj
�r�|j|g�Std||f��ntd|��dS(sTReturn
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.
t.i����it__call__s"calling %s returned %s, not a
tests$don't know how to make test from: %sN(tsplitR*t
__import__tjoinRR'R(ttypest
ModuleTypeR2RRRRR$tUnboundMethodTypeR
R,RRRR( RR R-tpartst
parts_copyR0tparttparentR((s'/usr/lib64/python2.7/unittest/loader.pytloadTestsFromNameMsD
!
cCs2g|D]}|j||�^q}|j|�S(s�Return
a suite of all tests cases found using the given sequence
of string specifiers. See 'loadTestsFromName()'.
(R?R
(RtnamesR-R tsuites((s'/usr/lib64/python2.7/unittest/loader.pytloadTestsFromNames|s%cCsP||jd�}t|t|��}|jrL|jdt|j��n|S(sLReturn
a sorted sequence of method names found within testCaseClass
cSs%|j|�o$tt||�d�S(NR4(t
startswithRR'(tattrnameR!tprefix((s'/usr/lib64/python2.7/unittest/loader.pytisTestMethod�stkey(ttestMethodPrefixtfilterR&tsortTestMethodsUsingtsortt _CmpToKey(RR!RFttestFnNames((s'/usr/lib64/python2.7/unittest/loader.pyR�s stest*.pyc Cs�t}|dkr-|jdk r-|j}n|dkrHt}|}ntjj|�}|tjkrtjjd|�n||_t}tjj tjj|��r�tjj|�}||kr�tjj
tjj|d��}q�n�yt|�Wnt
k
rt}nmXtj|}|jd�d}tjjtjj|j��}|r�|j|�|_tjj|�n|r�t
d|��nt|j||��}|j|�S(s+Find
and return all test modules from the specified start
directory, recursing into subdirectories to find 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().
is__init__.pyR3s%Start directory is not importable:
%rN(tFalseR*t_top_level_dirtTruetostpathtabspathtsystinserttisdirtisfileR7R6RtmodulesR5tdirnamet__file__t
_get_directory_containing_moduletremovetlistt_find_testsR
( Rt start_dirtpatternt
top_level_dirtset_implicit_toptis_not_importablet
the_modulettop_partR/((s'/usr/lib64/python2.7/unittest/loader.pytdiscover�s: (
!cCsstj|}tjj|j�}tjj|�j�jd�r_tjj tjj |��Stjj |�SdS(Ns__init__.py(
RTRXRQRRRSRZtbasenametlowerRCRY(Rtmodule_nameR-t full_path((s'/usr/lib64/python2.7/unittest/loader.pyR[�s
!cCs�tjjtjj|��d}tjj||j�}tjj|�sYtd��|jd�sutd��|j tjj
d�}|S(NisPath must be within the
projects..R3(RQRRtsplitexttnormpathtrelpathROtisabstAssertionErrorRCtreplacetsep(RRRt_relpathR ((s'/usr/lib64/python2.7/unittest/loader.pyt_get_name_from_path�s"cCst|�tj|S(N(R6RTRX(RR ((s'/usr/lib64/python2.7/unittest/loader.pyt_get_module_from_name�s
cCs
t||�S(N(R(RRRRjR`((s'/usr/lib64/python2.7/unittest/loader.pyt_match_path�sccs�tj|�}x�|D]�}tjj||�}tjj|�r�tj|�sXqn|j|||�ssqn|j|�}y|j |�}Wnt
||j�Vq�Xtjjt
|d|��}tjj|�d} tjj|�d}
| j�|
j�krztjj| �}tjjtjj|��d}tjj|�}
d}t||||
f��n|j|�Vqtjj|�rtjjtjj|d��s�qnd}d}t||�r'|j|�}|j |�}t
|dd�}|j|dt�}n|dkrl|dk rG|Vnxd|j||�D]}|VqZWq�y||||�VWq�tk
r�}t|j||j�Vq�XqqWdS(s/Used by discovery. Yields test
suites it loads.RZisW%r module incorrectly imported from %r. Expected %r.
Is this module globally
installed?s__init__.pyR%R.N(RQtlistdirRRR7RWtVALID_MODULE_NAMEtmatchRuRsRtRR
RSR'RkRhRYRgRR2RVR*RRNR^R+RR,(RR_R`tpathsRRRjR R-tmod_filetrealpathtfullpath_noextt
module_dirtmod_nametexpected_dirtmsgR%R/tpackageRR1((s'/usr/lib64/python2.7/unittest/loader.pyR^�sV
"!N(R,t
__module__t__doc__RHtcmpRJRRR
R*ROR$RPR2R?RBRRfR[RsRtRuR^(((s'/usr/lib64/python2.7/unittest/loader.pyR&s
/ @
cCs1t�}||_||_|r-||_n|S(N(RRJRHR
(REt sortUsingR
tloader((s'/usr/lib64/python2.7/unittest/loader.pyt_makeLoader)s cCst||�j|�S(N(R�R(R!RER�((s'/usr/lib64/python2.7/unittest/loader.pyR1sRcCst|||�j|�S(N(R�R$(R!RER�R
((s'/usr/lib64/python2.7/unittest/loader.pyt makeSuite4scCst|||�j|�S(N(R�R2(R-RER�R
((s'/usr/lib64/python2.7/unittest/loader.pyt
findTestCases8s(R�RQtreRTRR8t functoolsRRLRtRRRPt
__unittesttcompilet
IGNORECASERwRRRtobjectRtdefaultTestLoaderR*R�R�RRR�R�(((s'/usr/lib64/python2.7/unittest/loader.pyt<module>s, �