
i\c           @` sd  d  Z  d d l m Z d d l m Z d d l m Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z d d l m Z d Z d Z d Z d Z d Z  d Z! d   Z" d e# f d     YZ$ d   Z% d   Z& d   Z' d   Z( d   Z) d   Z* d   Z+ d   Z, d   Z- e j. d    Z/ d e# f d      YZ0 d! e1 f d"     YZ2 d# e3 f d$     YZ4 d% e1 f d&     YZ5 e j6 d' e7 f d(     Y Z8 d) e j9 f d*     YZ: d S(+   sF    core implementation of testing process: init, session, runtest loop. i    (   t   absolute_import(   t   division(   t   print_functionN(   t   nodes(   t   directory_arg(   t   hookimpl(   t
   UsageError(   t   PYTEST_CONFIG_GLOBAL(   t   exit(   t   collect_one_nodei   i   i   i   i   c         C` s  |  j  d d d d d d d d d	 d
 d d d g |  j  d d d d d g  |  j d d  } | j d d d d d d d d d d f | j d d d d d d t d d d d  d d! | j d" d# d d$ d d% | j d& d d' d t d d( d d) | j d* d d$ d t d d+ d d, | j d- d d d d. d d/ |  j d0 d1  } | j d2 d3 d d$ d d4 f | j d5 d d$ d d6 | j d7 d d8 d d9 d d: | j d; d d8 d d9 d d< | j d= d d8 d d> d d? | j d@ d dA d d  d dB d t j	 t
 dC d@ d dD | j dE d d$ d dF d t d dG | j dH dI d d$ d dJ d t d dK | j dL d d$ d dM d t d dN |  j dO dP  } | j dQ d dR d d  d dB d dS d  S(T   Nt   norecursedirss)   directory patterns to avoid for recursiont   typet   argst   defaults   .*t   buildt   distt   CVSt   _darcss   {arch}s   *.eggt   venvt	   testpathss[   directories to search for tests when no files or directories are given in the command line.t   generals   running and selection optionss   -xs   --exitfirstt   actiont   store_constt   destt   maxfailt   consti   t   helps-   exit instantly on first error or failed test.s	   --maxfailt   metavart   numt   storei    s(   exit after first num failures or errors.s   --strict-markerss   --strictt
   store_truesW   markers not registered in the `markers` section of the configuration file raise errors.s   -ct   filet   inifilenamesc   load configuration from `file` instead of trying to locate one of the implicit configuration files.s   --continue-on-collection-errorst   continue_on_collection_errorss5   Force test execution even if collection errors occur.s	   --rootdirt   rootdirs   Define root directory for tests. Can be relative path: 'root_dir', './root_dir', 'root_dir/another_dir/'; absolute path: '/home/user/root_dir'; path with variables: '$HOME/root_dir'.t   collectt
   collections   --collectonlys   --collect-onlys'   only collect tests, don't execute them.s   --pyargss2   try to interpret all arguments as python packages.s   --ignoret   appendt   paths.   ignore path during collection (multi-allowed).s   --ignore-globs6   ignore path pattern during collection (multi-allowed).s
   --deselectt   nodeid_prefixs0   deselect item during collection (multi-allowed).s   --confcutdirt
   confcutdirt   dirt   optnames2   only load conftest.py's relative to specified dir.s   --noconftestt
   noconftests!   Don't load any conftest.py files.s   --keepduplicatess   --keep-duplicatest   keepduplicatess   Keep duplicate tests.s   --collect-in-virtualenvt   collect_in_virtualenvs2   Don't ignore tests in a local virtualenv directoryt   debugconfigs(   test session debugging and configurations
   --basetempt   basetemps\   base temporary directory for this test run.(warning: this directory is removed if it exists)(   t   addinit   getgroupt
   _addoptiont   intt   strt   Falset	   addoptiont   Nonet	   functoolst   partialR   (   t   parsert   group(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_addoption%   s    

t   _ConfigDeprecatedc           B` s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C` s   | |  j  d <d  S(   Nt   _config(   t   __dict__(   t   selft   config(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   __init__   s    c         C` s#   t  j t d d t |  j |  S(   Nt
   stackleveli   (   t   warningst   warnR   t   getattrR>   (   R@   t   attr(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   __getattr__   s    c         C` s&   t  j t d d t |  j | |  S(   NRC   i   (   RD   RE   R   t   setattrR>   (   R@   RG   t   val(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   __setattr__   s    c         C` s   d j  t |   j |  j  S(   Ns   {}({!r})(   t   formatR   t   __name__R>   (   R@   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   __repr__   s    (   RM   t
   __module__RB   RH   RK   RN   (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR=      s   			c         C` s   t  |   t d  _ d  S(   Nt   pytest(   R=   t
   __import__RA   (   RA   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_configure   s    c         C` s   t  |   } t | _ d } zyE |  j   d } |  j j d |  d } | |  |  p\ d | _ WnFt k
 r t | _   n*t k
 r t	 | _ nt
 t j f k
 rUt j j j   } t } t | j t j  r6| j j d k	 r | j j } n  | d k  r6t j j d j | j | j j   q6n  |  j j d |  | | _ nW t j j j   } |  j | |  j  t | _ | j  t!  rt j j d  qn XWd d } | j" j#   | d k r|  j j$ d | d	 | j  n  |  j%   X| j S(
   s   Skeleton command line programi    i   t   sessioni   s   {}: {}
t   excinfos(   mainloop: caught unexpected SystemExit!
Nt
   exitstatus(&   t   Sessiont   EXIT_OKRU   t   _do_configuret   hookt   pytest_sessionstartR   t   EXIT_USAGEERRORt   Failedt   EXIT_TESTSFAILEDt   KeyboardInterruptR   t	   Exceptiont   _pytestt   _codet   ExceptionInfot   from_currentt   EXIT_INTERRUPTEDt
   isinstancet   valuet
   returncodeR7   t   syst   stderrt   writeRL   t   typenamet   msgt   pytest_keyboard_interruptt   notify_exceptiont   optiont   EXIT_INTERNALERRORt   errisinstancet
   SystemExitt   startdirt   chdirt   pytest_sessionfinisht   _ensure_unconfigure(   RA   t   doitRS   t	   initstateRT   RU   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   wrap_session   sN    	
		"	c         C` s   t  |  t  S(   N(   Ry   t   _main(   RA   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_cmdline_main   s    c         C` sJ   |  j  j d |  |  j  j d |  | j r3 t S| j d k rF t Sd S(   s]    default command line protocol for initialization, session,
    running tests and reporting. RS   i    N(   RY   t   pytest_collectiont   pytest_runtestloopt   testsfailedR]   t   testscollectedt   EXIT_NOTESTSCOLLECTED(   RA   RS   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRz      s    	c         C` s
   |  j    S(   N(   t   perform_collect(   RS   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR|     s    c         C` s   |  j  r2 |  j j j r2 |  j d |  j    n  |  j j j rE t Sx t |  j  D] \ } } | d t	 |  j  k  r |  j | d n d  } | j j j d | d |  |  j r |  j |  j   n  |  j rU |  j |  j   qU qU Wt S(   Ns   %d errors during collectioni   t   itemt   nextitem(   R~   RA   Ro   R!   t   Interruptedt   collectonlyt   Truet	   enumeratet   itemst   lenR7   RY   t   pytest_runtest_protocolt
   shouldfailR\   t
   shouldstop(   RS   t   iR   R   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR}     s    0		c         C` si   |  j  t j j d  r d n d  } | j   s7 t Sd
 } t g  | j   D] } | j | k ^ qM  S(   s   Attempts to detect if ``path`` is the root of a Virtual Environment by
    checking for the existence of the appropriate activate scriptt   wint   Scriptst   bint   activates   activate.cshs   activate.fisht   Activates   Activate.bats   Activate.ps1(   R   s   activate.cshs   activate.fishR   s   Activate.bats   Activate.ps1(	   t   joinRh   t   platformt
   startswitht   isdirR5   t   anyt   listdirt   basename(   R&   t   bindirt	   activatest   fname(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   _in_venv  s    '     c         ` s<  | j  d d   j   } | p$ g  } | j d  } | rk | j g  | D] } t j j |  ^ qI  n  t j j    | k r t S| j  d d   j   } | p g  } | j d  } | r | j g  | D] } t j j |  ^ q  n  t   f d   | D  rt S| j d  } | r8t	    r8t St
 S(   Nt   collect_ignoreR&   t   ignoret   collect_ignore_globt   ignore_globc         3` s3   |  ]) } t  j  t j    t j |   Vq d  S(   N(   t   fnmatcht   sixt	   text_type(   t   .0t   glob(   R&   (    s+   lib/python2.7/site-packages/_pytest/main.pys	   <genexpr>;  s   R-   (   t   _getconftest_pathlistt   dirpatht	   getoptiont   extendt   pyR&   t   localR   R   R   R5   (   R&   RA   t   ignore_pathst
   excludeoptt   xt   ignore_globst   excludegloboptt   allow_in_venv(    (   R&   s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_ignore_collect(  s*    //c         C` s   t  | j d  p g   } | s% d  Sg  } g  } x= |  D]5 } | j j |  r` | j |  q8 | j |  q8 W| r | j j d |  | |  (n  d  S(   Nt   deselectR   (   t   tupleR   t   nodeidR   R%   RY   t   pytest_deselected(   R   RA   t   deselect_prefixest	   remainingt
   deselectedt   colitem(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_collection_modifyitemsG  s    c          c` sR   t  j rI d d  }  t j j } |  t j _ z	 d VWd | t j _ Xn d Vd S(   s  Patch bug in pkgutil.ImpImporter.find_module

    When using pkgutil.find_loader on python<3.4 it removes symlinks
    from the path due to a call to os.path.realpath. This is not consistent
    with actually doing the import (in these versions, pkgutil and __import__
    did not share the same underlying code). This can break conftest
    discovery for pytest where symlinks are involved.

    The only supported python<3.4 by pytest is python 2.7.
    c         S` s   | j  d  d } | | k r2 |  j d  k r2 d  S|  j d  k rJ d  } n |  j g } y" t j j | |  \ } } } Wn t k
 r d  SXt j | | | |  S(   Nt   .i(   t   splitR&   R7   t   pkgutilt   impt   find_modulet   ImportErrort	   ImpLoader(   R@   t   fullnameR&   t   subnameR   t   filenamet   etc(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   find_module_patchedg  s    	"N(   R   t   PY2R7   R   t   ImpImporterR   (   R   t   old_find_module(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   _patched_find_moduleY  s    		t   FSHookProxyc           B` s   e  Z d    Z d   Z RS(   c         C` s   | |  _  | |  _ | |  _ d  S(   N(   t   fspatht   pmt   remove_mods(   R@   R   R   R   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRB     s    		c         C` s,   |  j  j | d |  j } | |  j | <| S(   Nt   remove_plugins(   R   t   subset_hook_callerR   R?   (   R@   t   nameR   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRH     s    (   RM   RO   RB   RH   (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR     s   	t   NoMatchc           B` s   e  Z d  Z RS(   s4    raised if matching cannot locate a matching names. (   RM   RO   t   __doc__(    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR     s   R   c           B` s   e  Z d  Z d Z RS(   s"    signals an interrupted test run. t   builtins(   RM   RO   R   (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR     s   R\   c           B` s   e  Z d  Z RS(   s$    signals a stop as failed test run. (   RM   RO   R   (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR\     s   t   _bestrelpath_cachec           B` s   e  Z e j   Z d    Z RS(   c         C` s    |  j  j |  } | |  | <| S(   N(   R&   t   bestrelpath(   R@   R&   t   r(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   __missing__  s    
(   RM   RO   RG   t   ibR&   R   (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR     s   RV   c           B` s  e  Z e Z e Z d    Z d   Z d   Z e d e  d    Z	 e d e  d    Z
 e
 Z d   Z d   Z d e d  Z d	   Z d
   Z d   Z e d  Z d   Z e j r e d    Z n e d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   t  j j |  | j d d  d | d |  d d d |  _ d |  _ t |  _ t |  _	 | j
 j j d  |  _
 | j d  |  _ | j |  _ t   |  _ i  |  _ t | j  |  _ i  |  _ |  j j j |  d	 d d  S(
   Nt   parentRA   RS   R   t    i    R$   R
   R   (   R   t   FSCollectorRB   R"   R7   R~   R   R5   R   R   t   tracet   roott   gett   getinit   _norecursepatternst   invocation_dirRs   t	   frozensett   _initialpathst   _node_cacheR   t   _bestrelpathcachet
   _pkg_rootsRA   t   pluginmanagert   register(   R@   RA   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRB     s    	%						c         C` s2   d |  j  j |  j t |  d d  |  j |  j f S(   Ns6   <%s %s exitstatus=%r testsfailed=%d testscollected=%d>RU   s   <UNSET>(   t	   __class__RM   R   RF   R~   R   (   R@   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRN     s    	c         C` s   |  j  | S(   N(   R   (   R@   t	   node_path(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   _node_location_to_relpath  s    t   tryfirstc         C` s@   |  j  r |  j |  j    n  |  j r< |  j |  j   n  d  S(   N(   R   R\   R   R   (   R@   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_collectstart  s    		c         C` si   | j  re t | d  re |  j d 7_ |  j j d  } | re |  j | k re d |  j |  _ qe n  d  S(   Nt   wasxfaili   R   s   stopping after %d failures(   t   failedt   hasattrR~   RA   t   getvalueR   (   R@   t   reportR   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   pytest_runtest_logreport  s
    c         C` s   | |  j  k S(   N(   R   (   R@   R&   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt
   isinitpath  s    c         C` sX   |  j  j } | j |  } | j j |  } | rH t | | |  } n |  j  j } | S(   N(   RA   R   t   _getconftestmodulest   _conftest_pluginst
   differenceR   RY   (   R@   R   R   t   my_conftestmodulesR   t   proxy(    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   gethookproxy  s    c         C` sx   |  j  j } zE |  j | |  } |  j  j j   | j d |  d |  j  d |  Wd  | j d |   Xt |  |  _ | S(   NRS   RA   R   (	   RA   RY   t   _perform_collectR   t   check_pendingR   t   pytest_collection_finishR   R   (   R@   R   t   genitemsRY   R   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR     s    	c         C` s  | d  k r |  j j } n  |  j d |  |  |  j j j d 7_ g  |  _ g  } g  |  _ g  |  _ } x> | D]6 } |  j	 |  } |  j j
 |  | j
 | d  qo Wt |  |  _ t |   } |  j j d |  |  j j j d 8_ |  j rRg  } xE |  j D]: \ } }	 d | |	 j d f }
 | j
 d | |
 f  qWt |    n  | s_| j S| j rx- | j D] } |  j j |  j |   qrWn  | Sd  S(   NR   i   i    R   s   (no name %r in any of %r)s   not found: %s
%s(   R7   RA   R   R   R   t   indentt	   _notfoundt   _initialpartsR   t	   _parseargR%   R   R   R	   t   ihookt   pytest_collectreportR   t   resultt   passedR   R  (   R@   R   R  t   initialpathsR   t   argt   partst   rept   errorst   exct   linet   node(    (    s+   lib/python2.7/site-packages/_pytest/main.pyR     s8    				 c         c` s   x |  j  D] } d j t t |   } |  j d |  |  j j j d 7_ y# x |  j |  D] } | Vq` WWn1 t k
 r |  j	 j
 | t j   d f  n X|  j j j d 8_ q
 Wd  S(   Ns   ::s   processing argumenti   (   R  R   t   mapR4   R   R   R  t   _collectR   R  R%   Rh   t   exc_info(   R@   t   initialpartR  R   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR#     s    $c      	   c` s`  d d l  m } |  j |  } | j d  } |  j j d t  s-|  j j } x t | j	    D] } | j
 r | j
 j |  r Pn  | j   rb | j d  } | j   r&| |  j k r#|  j | d t } | r t | d |  r | d |  j | <n  | d g |  j | d j <q q#q&qb qb Wn  | j d d  r| sYt d | f   t   }	 x| j d	 |  j d
 |  j d t d t  D] }
 |
 j   } | |	 k r|	 j |  | j d  } | j   rx> |  j |  D]* } | Vt | |  r| |  j | <qqWqn  | |  j k r,qn  x\ |  j |
  D]K } t |  | j f } | |  j k ru|  j | Vq<| |  j | <| Vq<WqWn | j d d  st  | |  j k r|  j | } nC |  j j | j  |   } | j | d t } | r| |  j | <n  |  j! | |  } | j" d k rFt# | d j$    Vd  Sx | D] } | VqMWd  S(   Ni    (   t   Packaget   doctestmoduless   __init__.pyt   handle_dupesR)   i   s   invalid arg %rt   filt   rect   bft   sortR   (%   t   _pytest.pythonR  R  t   popRA   R   R5   R   t   reversedR  t   _confcutdirt   reltoR   R   t   isfileR   t   _collectfileRe   R   R   t   checkt   AssertionErrort   sett   visitt   _visit_filtert   _recurseR   R   t   addt   existsR   R   t   dirnamet
   matchnodesR   t   nextR#   (   R@   R  R  t   namest   argpathR   R   t   pkginitt   colt	   seen_dirsR&   R   R   t   keyt   collect_roott   mt   y(    (    s+   lib/python2.7/site-packages/_pytest/main.pyR  (  sh    .	%c         C` s   | j    s: t d | | j   | j   | j   f   |  j |  } |  j |  sz | j d | d |  j  rz d Sn  | r |  j j	 d  } | s |  j j
 j } | | k r d S| j |  q n  | j d | d |   S(   Ns1   %r is not a file (isdir=%r, exists=%r, islink=%r)R&   RA   R,   R   (    (    (   R"  R%  R   R+  t   islinkR   R   R   RA   R   R   t   _duplicatepathsR*  t   pytest_collect_file(   R@   R&   R  R  R,   t   duplicate_paths(    (    s+   lib/python2.7/site-packages/_pytest/main.pyR#  u  s"    		c         C` s   | j  d k r t S|  j | j    } | j d | d |  j  rG t Sx' |  j D] } | j d |  rQ t SqQ W|  j |  } | j d | d |   t	 S(   Nt   __pycache__R&   RA   R   R   (
   R   R5   R   R   R   RA   R   R$  t   pytest_collect_directoryR   (   R@   R   R  t   pat(    (    s+   lib/python2.7/site-packages/_pytest/main.pyR)    s    c         C` s#   |  j  d d  o" |  j j d  S(   NR   i   s   *.pyc(   R$  t   strpatht   endswith(   t   f(    (    s+   lib/python2.7/site-packages/_pytest/main.pyR(    s    c         C` s   |  j  d d  S(   NR   i   (   R$  (   RA  (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR(    s    c         C` s   y# t     t j |  } Wd QXWn t k
 r7 | SX| d k rH | Sy# t     | j |  } Wd QXWn% t k
 r | j | d j } n X| j	 |  r t
 j j |  } n  | S(   s%   Convert a dotted module name to path.Ni    (   R   R   t   find_loaderR   R7   t   get_filenamet   AttributeErrort   modulest   co_filenamet
   is_packaget   osR&   R,  (   R@   R   t   loaderR&   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   _tryconvertpyarg  s    

c         C` s   t  |  j d  } |  j j j r> |  j | d  | d <n  | d j d t j  } |  j j	 j
 | d t } | j   s |  j j j r t d | d   n  t d |   n  | j   | d <| S(   s>    return (fspath, names) tuple after checking the file exists. s   ::i    t   /t   abss   file or package not found: s    (missing __init__.py?)s   file not found: (   R4   R   RA   Ro   t   pyargsRJ  t   replaceRH  t   sepR   R   R   R$  R   t   realpath(   R@   R  R  t   relpathR&   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR    s    c         C` s   |  j  d | |  |  j  j j d 7_ |  j | |  } t |  } |  j  d | d  |  j  j j d 8_ | d k r t | | d    n  | S(   NR-  i   s   matchnodes finished -> R   i    (   R   R   R  t   _matchnodesR   R   (   R@   t   matchingR/  R   R   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR-    s    c         C` s  | s | r | S| d } | s( t   | d } g  } x| D]|} t | t j  rs | s? | j |  q? q? n  t | t j  s t   t |  | j f } | |  j k r |  j | } n t	 |  } | |  j | <| j
 rt }	 xa | j D]V }
 |
 j | k s"|
 j j d  d | k r | j |  j |
 g |   t }	 q q W|	 rt | j  d k r|
 j d k r| j d |  | j |  j |
 g |   qq? | j j d |  q? W| S(   Ni    i   t   [s   ()R   (   R%  Re   R   t   ItemR%   t	   CollectorR   R   R   R	   R	  R5   R  R   R   R   R-  R   R   t   insertR  R  (   R@   RS  R/  R   t	   nextnamest   resultnodesR  R4  R  t   has_matchedR   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRR    s8    

	++"c         c` s   |  j  d |  t | t j  r= | j j d |  | Vnv t | t j  sU t  t |  } | j	 r x3 | j
 D]% } x |  j |  D] } | Vq Wqt Wn  | j j d |  d  S(   NR  R   R   (   R   Re   R   RU  R  t   pytest_itemcollectedRV  R%  R	   R	  R  R  R  (   R@   R  R  t   subnodeR   (    (    s+   lib/python2.7/site-packages/_pytest/main.pyR    s    	N(   RM   RO   R   R\   RB   RN   R   R   R   R   R   R  R   R   R7   R   R   R#   R  R#  R)  R   R   t   staticmethodR(  RJ  R  R-  RR  R  (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyRV     s0   							 		M						%(;   R   t
   __future__R    R   R   t
   contextlibR   R8   RH  R   Rh   RD   RG   R   R   t   _pytest._codeR`   R   t   _pytest.configR   R   R   t   _pytest.deprecatedR   t   _pytest.outcomesR   t   _pytest.runnerR	   RW   R]   Rd   Rp   R[   R   R<   t   objectR=   RR   Ry   R{   Rz   R|   R}   R   R   R   t   contextmanagerR   R   R_   R   R^   R   R\   t   st   dictR   R   RV   (    (    (    s+   lib/python2.7/site-packages/_pytest/main.pyt   <module>   s\   			/							(		