Your IP : 216.73.216.196


Current Path : /opt/alt/python27/lib/python2.7/site-packages/_pytest/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyo

�
�mYc@`sWdZddlmZmZmZddlZddlZddlZddlZddl	Zddl
Z
yddlmZ
Wn!ek
r�ddlmZ
nXddlmZmZmZddlmZmZe
jjej�j�ZdZdZd	Zd
Z dZ!dZ"d
�Z#d�Z$d�Z%d�Z&d�Z'd�Z(d�Z)d�Z*d�Z+dd,d��YZ,de-fd��YZ.de
fd��YZ/de-fd��YZ0de0fd��YZ1d e1fd!��YZ2d"e2fd#��YZ3d$e0fd%��YZ4d&e5fd'��YZ6d(e7fd)��YZ8d*e2fd+��YZ9dS(-sF core implementation of testing process: init, session, runtest loop. i(tabsolute_importtdivisiontprint_functionN(tMutableMapping(t	DictMixin(t
directory_argt
UsageErrorthookimpl(tcollect_one_nodetexitiiiiicC`sL|jddddddddd	d
ddd
g�|jdddddg�|jdd�}|jdddddddddd�f|jddddddtdddd dd!�|jd"dd#dd$�|jd%dd&dtdd'dd(�|jd)dd#dtdd*dd+�|jd,d-�}|jd.d/dd#dd0�f|jd1dd#dd2�|jd3dd4dd5dd6�|jd7dd8dddd9dtj	t
d:d7�dd;�|jd<dd#dd=dtdd>�|jd?d@dd#ddAdtddB�|jdCdD�}|jdEddFdddd9ddG�dS(HNt
norecursedirss)directory patterns to avoid for recursionttypetargstdefaults.*tbuildtdisttCVSt_darcss{arch}s*.eggtvenvt	testpathss[directories to search for tests when no files or directories are given in the command line.tgeneralsrunning and selection optionss-xs--exitfirsttactiontstore_consttdesttmaxfailtconstithelps-exit instantly on first error or failed test.s	--maxfailtmetavartnumtstoreis(exit after first num failures or errors.s--strictt
store_trues2run pytest in strict mode, warnings become errors.s-ctfiletinifilenamescload configuration from `file` instead of trying to locate one of the implicit configuration files.s--continue-on-collection-errorstcontinue_on_collection_errorss5Force test execution even if collection errors occur.tcollectt
collections
--collectonlys--collect-onlys'only collect tests, don't execute them.s--pyargss2try to interpret all arguments as python packages.s--ignoretappendtpaths.ignore path during collection (multi-allowed).s--confcutdirt
confcutdirtdirtoptnames2only load conftest.py's relative to specified dir.s--noconftestt
noconftests!Don't load any conftest.py files.s--keepduplicatess--keep-duplicatestkeepduplicatessKeep duplicate tests.tdebugconfigs(test session debugging and configurations
--basetemptbasetemps+base temporary directory for this test run.(taddinitgetgroupt
_addoptiontinttstrtFalset	addoptiontNonet	functoolstpartialR(tparsertgroup((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_addoptionsL%


		cC`siS(s�keeping this one works around a deeper startup issue in pytest

    i tried to find it for a while but the amount of time turned unsustainable,
    so i put a hack in to revisit later
    ((((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_namespaceQscC`s|td�_dS(Ntpytest(t
__import__tconfig(R=((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_configureZscC`s�t|�}t|_d}z7yE|j�d}|jjd|�d}|||�p\d|_Wn�tk
ry�n�tk
r�tj	j
�}|dkr�t|jt
j�r�tjjdj|j|jj��n|jjd|�t|_nTtj	j
�}|j||j�t|_|jt�rQtjjd�qQnXWdd}|jj�|dkr�|jjd|d	|j�n|j �X|jS(
sSkeleton command line programiitsessionis	{0}: {1}
texcinfos&mainloop: caught Spurious SystemExit!
Nt
exitstatus(!tSessiontEXIT_OKRAt
_do_configurethooktpytest_sessionstartRtKeyboardInterruptt_pytestt_codet
ExceptionInfot
isinstancetvalueR	t	Exceptiontsyststderrtwritetformatttypenametmsgtpytest_keyboard_interrupttEXIT_INTERRUPTEDtnotify_exceptiontoptiontEXIT_INTERNALERRORt
errisinstancet
SystemExitR4tstartdirtchdirtpytest_sessionfinisht_ensure_unconfigure(R=tdoitR?t	initstateR@((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytwrap_session^sB	


!	

cC`s
t|t�S(N(Rat_main(R=((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_cmdline_main�scC`sJ|jjd|�|jjd|�|jr3tS|jdkrFtSdS(s] default command line protocol for initialization, session,
    running tests and reporting. R?iN(REtpytest_collectiontpytest_runtestloopttestsfailedtEXIT_TESTSFAILEDttestscollectedtEXIT_NOTESTSCOLLECTED(R=R?((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRb�s	cC`s
|j�S(N(tperform_collect(R?((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRd�scC`s�|jr2|jjjr2|jd|j��n|jjjrEtSx�t|j�D]v\}}|dt	|j�kr�|j|dnd}|jjjd|d|�|j
rU|j|j
��qUqUWtS(Ns%d errors during collectionititemtnextitem(RfR=RWR!tInterruptedtcollectonlytTruet	enumeratetitemstlenR4REtpytest_runtest_protocolt
shouldstop(R?tiRkRl((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRe�s	0	cC`s�|j�}|jdd|�}|p*g}|jd�}|rq|jg|D]}tjj|�^qO�n||kr�tS|jd�}|jj	}|s�||kr�tS|j
|�ntS(Ntcollect_ignoreR%tignoreR*(tdirpatht_getconftest_pathlistt	getoptiontextendtpyR%tlocalRot
pluginmanagert_duplicatepathstaddR2(R%R=tptignore_pathst
excludeopttxR*tduplicate_paths((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_ignore_collect�s/tFSHookProxycB`seZd�Zd�ZRS(cC`s||_||_||_dS(N(tfspathtpmtremove_mods(tselfR�R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__init__�s		cC`s,|jj|d|j�}||j|<|S(Ntremove_plugins(R�tsubset_hook_callerR�t__dict__(R�tnameR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__getattr__�s
(t__name__t
__module__R�R�(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s	t_CompatPropertycB`seZd�Zd�ZRS(cC`s
||_dS(N(R�(R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��scC`s&|dkr|Sttd�|j�S(NR;(R4tgetattrR<R�(R�tobjtowner((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__get__�s(R�R�R�R�(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s	tNodeKeywordscB`sPeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(cC`s,||_|j|_it|j6|_dS(N(tnodetparentRoR�t_markers(R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s	cC`sGy|j|SWn1tk
rB|jdkr4�n|jj|SXdS(N(R�tKeyErrorR�R4tkeywords(R�tkey((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__getitem__�s
cC`s||j|<dS(N(R�(R�R�RL((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__setitem__�scC`std��dS(Ns"cannot delete key in keywords dict(t
ValueError(R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__delitem__�scC`s>t|j�}|jdk	r4|j|jj�nt|�S(N(tsetR�R�R4tupdateR�titer(R�tseen((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__iter__�scC`st|j��S(N(RrR�(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__len__�scC`s
t|�S(N(tlist(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytkeys�scC`sd|jfS(Ns<NodeKeywords for node %s>(R�(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__repr__�s(
R�R�R�R�R�R�R�R�R�R�(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s							tNodecB`s(eZdZdddd�Zed��Zed�Zed�Z	ed�Z
ed�Zed�Zed�Z
d	�Zd
�Zd�Zed��Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdd�ZeZ RS(s~ base class for Collector and Item the test collection tree.
    Collector subclasses have children, Items are terminal nodes.cC`ss||_||_|p|j|_|p0|j|_t|dd�|_t|�|_t	�|_
i|_dS(NR�(R�R�R=R?R�R4R�R�R�R�textra_keyword_matchest_name2pseudofixturedef(R�R�R�R=R?((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�s		cC`s|jj|j�S(s6 fspath sensitive hook proxy used to call pytest hooks(R?tgethookproxyR�(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytihookstModuletClasstInstancetFunctiontFiletItemcC`sJtt|�|�}t|t�r7ttd�|�St||�}|S(NR;(R�RRKR�R<(R�R�tmaybe_compatproptcls((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt_getcustomclass*s
cC`s d|jjt|dd�fS(Ns<%s %r>R�(t	__class__R�R�R4(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�6scC`skt|dd�}|dkr3t|dd�}n|jjjdtd|d|d|jd|��dS(	sK generate a warning with the given code and message for this
        item. tlocationR�tkwargstcodetmessagetnodeidt
fslocationN(R�R4R�tpytest_logwarningt
call_historictdictR�(R�R�R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytwarn:scC`s7y|jSWn%tk
r2|j�|_}|SXdS(s= a ::-separated string denoting its collection tree address. N(t_nodeidtAttributeErrort_makeid(R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�Fs

cC`s|jjd|jS(Ns::(R�R�R�(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�OscC`s
t|j�S(N(thashR�(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt__hash__RscC`sdS(N((R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytsetupUscC`sdS(N((R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytteardownXscC`s�d|}t||d�}|dk	rMtjj|d|d|d�nt||�rit||�Sy
|�}Wn?tjjk
r��n&tj�}t	|||��nXt	|||�|S(Nt_ex_iii(
R�R4R|tbuiltint_reraisethasattrt_sysexRNtexc_infotsetattr(R�tattrnametfunctiont
exattrnametfailuretres((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt
_memoizedcall[s 
%

cC`sCg}|}x&|dk	r4|j|�|j}qW|j�|S(se return list of all parent collectors up to self,
            starting from root of collection tree. N(R4R$R�treverse(R�tchainRk((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt	listchainms


cC`soddlm}m}t|tjj�r=t||�}nt||�s[td��n||j	|j
<dS(su dynamically add a marker object to the node.

        ``marker`` can be a string or pytest.mark.* instance.
        i(t
MarkDecoratortMARK_GENs'is not a string or pytest.mark.* MarkerN(t_pytest.markR�R�RKR|R�t_basestringR�R�R�R�(R�tmarkerR�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt
add_markerxscC`sW|jj|d�}|dk	rSddlm}m}t|||f�rS|SndS(sf get a marker object from this node or None if
        the node doesn't have a marker with that name. i(tMarkInfoR�N(R�tgetR4R�R�R�RK(R�R�tvalR�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt
get_marker�s
cC`s:t�}|}x$|j�D]}|j|j�qW|S(s< Return a set of all extra keywords in self and any parents.(R�R�R�R�(R�textra_keywordsRk((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytlistextrakeywords�s
	cC`s g|j�D]}|j^q
S(N(R�R�(R�R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt	listnames�scC`s|jjj||�dS(s� register a function to be called when this node is finalized.

        This method can only be called when this node is active
        in a setup chain, for example during self.setup().
        N(R?t_setupstatetaddfinalizer(R�tfin((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��scC`s0|}x#|r+t||�r+|j}q	W|S(s] get the next parent node (including ourself)
        which is an instance of the given class(RKR�(R�R�tcurrent((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt	getparent�s
cC`sdS(N((R�R@((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt_prunetraceback�scC`s@|jj}|j|j�r+|jj�St}|jjj	rId}net
jj|j
dg�}|j|�t|j
�dkr�||_
nt}|dkr�d}n|dkr�|jjjdkr�d}q�d}nytj�t}Wntk
rt}nX|jdtd|d|jjjd	|d
|�S(Ntlongi����itautotshorttfuncargstabspatht
showlocalststylettbfilter(R?t_fixturemanagerRYtFixtureLookupErrorRLt
formatreprRoR=RWt	fulltraceRHRIt	Tracebackt	tracebackR�RrR2R4ttbstyletostgetcwdtOSErrortgetreprR�(R�R@R�tfmR�ttbR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt_repr_failure_py�s2
	
			



N(!R�R�t__doc__R4R�tpropertyR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�Rtrepr_failure(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�s8																		 t	CollectorcB`s?eZdZdefd��YZd�Zd�Zd�ZRS(sf Collector instances create children through collect()
        and thus iteratively build a tree.
    tCollectErrorcB`seZdZRS(s8 an error during collection, contains a custom message. (R�R�R(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR
�scC`std��dS(sa returns a list of children (items and collectors)
            for this collection node.
        tabstractN(tNotImplementedError(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR"�scC`s?|j|j�r,|j}t|jd�S|j|dd�S(s! represent a collection failure. iR�R�(RYR
RLR1RR(R�R@texc((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�s	cC`sdt|d�r`|j}|jd|j�}||krN|jdt�}n|j�|_ndS(NR�R%texcludepath(R�R�tcutR�ttracebackcutdirtfilter(R�R@R�t
ntraceback((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s	(R�R�RRMR
R"RR�(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR	�s
		tFSCollectorcB`s#eZdddd�Zd�ZRS(cC`s�tjj|�}|j}|dk	r`|j|j�}|rH|}n|jtj	d�}nt
t|�j||||�||_dS(Nt/(
R|R%R}tbasenameR4treltoR�treplaceR�tseptsuperRR�(R�R�R�R=R?R�trel((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s		cC`sC|jj|jj�}tjdkr?|jtjd�}n|S(NR(R�RR=trootdirR�RR(R�trelpath((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��sN(R�R�R4R�R�(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�sR�cB`seZdZRS(s. base class for collecting tests from a file. (R�R�R(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��sR�cB`sGeZdZdZdddd�Zd�Zd�Zed��Z	RS(sv a basic test invocation item. Note that for a single function
    there might be multiple test invocation items.
    cC`s,tt|�j||||�g|_dS(N(RR�R�t_report_sections(R�R�R�R=R?((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�scC`s&|r"|jj|||f�ndS(N(RR$(R�twhenR�tcontent((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytadd_report_section	scC`s|jddfS(Nt(R�R4(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt
reportinfo
scC`s�y|jSWn�tk
r�|j�}|jjjdi�}y||d}Wn8tk
r�|jjj	|d�}|||d<nX||dt
|d�f}||_|SXdS(Nt_bestrelpathcacheiii(t	_locationR�R"R=R�t
setdefaultR�R?R�tbestrelpathR1(R�R�tcacheR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�s

	N(
R�R�RR4RlR�R R"RR�(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR��s		tNoMatchcB`seZdZRS(s4 raised if matching cannot locate a matching names. (R�R�R(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR(!sRmcB`seZdZdZRS(s" signals an interrupted test run. tbuiltins(R�R�R(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRm$sRBcB`s�eZeZd�Zd�Zede�d��Zede�d��ZeZ	d�Z
d�Zded�Z
d�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�ZRS(c	C`s�tj||jddd|d|�d|_d|_t|_|jj	j
d�|_|jd�|_t
jj�|_|jjj|dd�dS(NR�R=R?iR#R
R�(RR�RR4RfRhR2RtttracetrootR�tgetinit_norecursepatternsR|R%R}R[R=R~tregister(R�R=((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�+s
			cC`sdS(NR!((R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�6sttryfirstcC`s"|jr|j|j��ndS(N(RtRm(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_collectstart9s	cC`si|jret|d�re|jd7_|jjd�}|re|j|kred|j|_qendS(NtwasxfailiRsstopping after %d failures(tfailedR�RfR=tgetvalueRt(R�treportR((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pytpytest_runtest_logreport>scC`s
||jkS(N(t
_initialpaths(R�R%((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt
isinitpathHscC`sX|jj}|j|�}|jj|�}|rHt|||�}n|jj}|S(N(R=R~t_getconftestmodulest_conftest_pluginst
differenceR�RE(R�R�R�tmy_conftestmodulesR�tproxy((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR�KscC`sx|jj}zE|j||�}|jjj�|jd|d|jd|�Wd|jd|�Xt|�|_|S(NR?R=Rq(	R=REt_perform_collectR~t
check_pendingtpytest_collection_modifyitemstpytest_collection_finishRrRh(R�RtgenitemsRERq((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRjYscC`s�|dkr|jj}n|jd||�|jjjd7_g|_t�|_g|_	g|_
}xA|D]9}|j|�}|j	j|�|jj
|d�quWt|�}|jjd|�|jjjd8_|jrLg}xE|jD]:\}}d||jdf}	|jd||	f�q�Wt|��n|sY|jS|jr�x-|jD]}
|j
j|j|
��qlWn|SdS(NRjiiR4s(no name %r in any of %r)snot found: %s
%s(R4R=RR*R+tindentt	_notfoundR�R6t
_initialpartsRqt	_parseargR$R�RR�tpytest_collectreportRtresulttpassedR{RA(R�RRARqtargtpartstrepterrorsR
tlineR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR=es6		

		 cc`s�x�|jD]�}djtt|��}|jd|�|jjjd7_y#x|j|�D]}|Vq`WWn1tk
r�|j	j
|tj�df�nX|jjjd8_q
WdS(Ns::sprocessing argumenti(
RDtjointmapR1R*R+RBt_collectR(RCR$RNR�(R�RJRIR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR"�s

$c	c`s�|j|�}|jd�}|jdd�r�x|jdd�d|jdtdt�D]%}x|j|�D]}|VqqWq[Wn+x(|j|j|�|�D]}|Vq�WdS(	NiR'itfilcS`s|jdd�S(NRi(tcheck(R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt<lambda>�R!trectbftsort(REtpopRRtvisitt_recurseRot_collectfilet
matchnodes(R�RItnamesR%R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRP�s"cC`sV|j|�}|j|�s@|jd|d|j�r@dSn|jd|d|�S(NR%R=R�((R�R7R�R=tpytest_collect_file(R�R%R�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRZ�s
cC`s�|j|j��}|jd|d|j�r4dSx'|jD]}|jd|�r>tSq>W|j|�}|jd|d|�tS(NR%R=tfnmatchR�(	R�RxR�R=R-RRR2tpytest_collect_directoryRo(R�R%R�tpat((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRY�scC`s�ddl}y|j|�}Wntk
r3|SX|dkrD|Sy|j|�}Wn%tk
r~|j|dj}nX|j|�r�t	j
j|�}n|S(s/Convert a dotted module name to path.

        iN(tpkgutiltfind_loadertImportErrorR4tget_filenameR�tmodulestco_filenamet
is_packageR�R%tdirname(R�R�RatloaderR%((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt_tryconvertpyarg�s

cC`s�t|�jd�}|jjjr>|j|d�|d<n|djdtj�}|jj	j
|dt�}|j�s�|jjjr�t
d|d��q�t
d|��n||d<|S(s> return (fspath, names) tuple after checking the file exists. s::iRtabssfile or package not found: s (missing __init__.py?)sfile not found: (R1tsplitR=RWtpyargsRjRR�Rtinvocation_dirRNRoRRR(R�RIRJRR%((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRE�s

cC`s�|jd||�|jjjd7_|j||�}t|�}|jd|d�|jjjd8_|dkr�t||d ��n|S(NR[ismatchnodes finished -> tnodesi(R*R+RBt_matchnodesRrR((R�tmatchingR\RoR((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyR[�sc
C`s[|s|r|S|d}|d}g}x(|D] }t|t�rd|s3|j|�q3q3nt|�}|jr@t}xa|jD]V}	|	j|ks�|	jjd�d|kr�|j	|j
|	g|��t}q�q�W|r@t|j�dkr@|	jdkr@|j
d|�|j	|j
|	g|��q@n|jjd|�q3W|S(Niit[s()R4(RKR�R$RRHR2RGR�RlR{R[RoRrtinsertR�RF(
R�RqR\R�t	nextnamestresultnodesR�RKthas_matchedR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRp�s,


	+
+"cc`s�|jd|�t|t�r:|jjd|�|Vn^t|�}|jr�x3|jD]%}x|j|�D]}|VqoWqYWn|jj	d|�dS(NRARkR4(
R*RKR�R�tpytest_itemcollectedRRHRGRARF(R�R�RKtsubnodeR�((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRAs	N(R�R�RmR�R�RRoR0R5RFR7R�R4RjR=R"RPRZRYRjRER[RpRA(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyRB(s&													((:Rt
__future__RRRR5R�RNRHt
_pytest._codeR|tcollectionsRtMappingMixinRctUserDictRt_pytest.configRRRt_pytest.runnerRR	R%R}t__file__RxRRCRgRURXtEXIT_USAGEERRORRiR9R:R>RaRcRbRdReR�R�tobjectR�R�R�R	RR�R�RMR(RGRmRB(((s=/opt/alt/python27/lib/python2.7/site-packages/_pytest/main.pyt<module>sP
	3				'					$�"