ó
çiġ\c           @` s   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   Z d   Z d   Z	 d	 e
 f d
     YZ d S(   sM    log machine-parseable test session result information in a plain
text file.
i    (   t   absolute_import(   t   division(   t   print_functionNc         C` s>   |  j  d d  } | j d d d d d d d	 d  d
 d d  S(   Ns   terminal reportings   resultlog plugin optionss   --resultlogs   --result-logt   actiont   storet   metavart   patht   defaultt   helps0   DEPRECATED path for machine-readable result log.(   t   getgroupt	   addoptiont   None(   t   parsert   group(    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   pytest_addoption   s    c         C` sÖ   |  j  j } | rÒ t |  d  rÒ t j j t j j |   } t j j |  sb t j |  n  t	 | d d  } t
 |  |  |  _ |  j j |  j  d d l m } d d l m } | | |  j d d n  d  S(	   Nt
   slaveinputt   wi   i    (   t
   RESULT_LOG(   t   _issue_warning_capturedt
   stackleveli   (   t   optiont	   resultlogt   hasattrt   osR   t   dirnamet   abspatht   isdirt   makedirst   opent	   ResultLogt
   _resultlogt   pluginmanagert   registert   _pytest.deprecatedR   t   _pytest.warningsR   t   hook(   t   configR   R   t   logfileR   R   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   pytest_configure   s    c         C` sB   t  |  d d   } | r> | j j   |  ` |  j j |  n  d  S(   NR   (   t   getattrR   R%   t   closeR   R   t
   unregister(   R$   R   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   pytest_unconfigure+   s
    R   c           B` s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   | |  _  | |  _ d  S(   N(   R$   R%   (   t   selfR$   R%   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   __init__4   s    	c         C` sO   t  d | | f d |  j x+ | j   D] } t  d | d |  j q* Wd  S(   Ns   %s %st   files    %s(   t   printR%   t
   splitlines(   R+   t   testpatht
   lettercodet   longreprt   line(    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   write_log_entry8   s    c         C` sA   t  | d d   } | d  k r* | j } n  |  j | | |  d  S(   Nt   nodeid(   R'   R   t   fspathR4   (   R+   t   reportR1   R2   R0   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   log_outcome=   s    c         C` sŬ   | j  d k r | j r d  S|  j j j d | d |  j  } | d } | d k re t | j  } na | d k rz d } nL | j r d } n: | j r§ t | j  } n | j rĈ t | j d  } n  |  j	 | | |  d  S(	   Nt   callR7   R$   i   t   xt   Xt    i   (
   t   whent   passedR$   R#   t   pytest_report_teststatust   strR2   t   failedt   skippedR8   (   R+   R7   t   rest   codeR2   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   pytest_runtest_logreportC   s     
					c         C` sf   | j  sb | j r* d } t | j  } n" | j s9 t  d } d | j } |  j | | |  n  d  S(   Nt   Ft   Ss	   %s:%d: %s(   R>   RA   R@   R2   RB   t   AssertionErrorR8   (   R+   R7   RD   R2   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   pytest_collectreportV   s    		c         C` sc   t  | d d   } t  | d d   } | d  k rF d t j j   } n  |  j | d t |   d  S(   Nt	   reprcrashR   s   cwd:%st   !(   R'   R   t   pyR   t   localR4   R@   (   R+   t   excreprRJ   R   (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   pytest_internalerrora   s
    (   t   __name__t
   __module__R,   R4   R8   RE   RI   RO   (    (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyR   3   s   					(   t   __doc__t
   __future__R    R   R   R   RL   R   R&   R*   t   objectR   (    (    (    s0   lib/python2.7/site-packages/_pytest/resultlog.pyt   <module>   s   			