
|W                 @   s   d  d l  Z d  d l j j Z d  d l Z d  d l Z d  d l Z d d   Z	 d d   Z
 d d   Z d d	   Z d
 d   Z d d   Z d S)    Nc       
      C   sY  t  t |   } t | d  rUt |  } t |  } d } | | k } | s"t j d | f d | | f  d d t j   k s t j	 |  r t j
 |  n d d t j
 |  d d	 t j   k s t j	 t  r t j
 t  n d	 d
 t j
 |  i } d d | i } t t j |    d  } } } t | j  xt | j  D]}  t | |   } | sKt j | |  f  d d d t j   k st j	 |  rt j
 |  n d d d t j   k st j	 t  rt j
 t  n d d d t j   k st j	 |   rt j
 |   n d d t j
 |  i }	 t t j |	    d  } qMWd  S)N__map__r   >/%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} > %(py6)spy1keyspy6py0lenpy3 assert %(py8)spy8z7
>assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}objhasattrpy2namepy4)r   )r   r   )getattrpyr   dirr	   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationprintr   list_format_assertmsg)
r   r   r   @py_assert2@py_assert5@py_assert4@py_format7@py_format9@py_assert3@py_format5 r(   B/home/ronny/Projects/pytest-dev/py/testing/root/test_py_imports.pychecksubpackage   s$               r*   c              c   s5   x. t  t  D]  }  |  j d  s t |  f Vq Wd  S)N_)r   r   
startswithr*   )r   r(   r(   r)   test_dir   s    r-   c              C   s  d d l  m }  d d l  m } |  | k } | s t j d | f d |  | f  d d t j   k st t j |   r t j |   n d d d t j   k s t j |  r t j |  n d i } d d | i } t t j	 |    d  } d d l
 m } d d l
 m } | | k } | st j d | f d | | f  d d t j   k sbt j |  rqt j |  n d d d t j   k st j |  rt j |  n d i } d d | i } t t j	 |    d  } d  S)Nr   )pathis%(py0)s is %(py2)sr   path1r   path2r   assert %(py4)sr   )locallocal1local2)r/   )r0   r3   )r/   )r0   r3   )r   r.   r   r   r   r   r   r   r   r   Zpy.pathr4   )r1   r2   @py_assert1@py_format3r'   r5   r6   r(   r(   r)   test_virtual_module_identity   s               r9   c              C   s4  t  j }  g  } t j d k r: | j |  j d d   n | j |  j d d   d d   } x |  j d |  D] } | j d	 k r qr | j d
 d  j	 |   } |  j
 | k rr xu | D]" } | | k s | j	 |  r Pq W| j |  j
 d  } d | } y t |  Wqr t  j j j k
 r+Yqr Xqr Wd  S)N   r   _codez_assertionold.pyz_assertionnew.pyc             S   s   |  j  d d  o |  j d k S)Ndotfiler   Zattic)checkbasename)pr(   r(   r)   recurse$   s    ztest_importall.<locals>.recursez*.pyz__init__.pyextr   .zpy.%s)r:   r   )r   _pydirsysversion_infoappendjoinvisitr>   newreltosepreplacecheck_importtestskip	Exception)baseZnodirsr@   r?   relpathxmodpathr(   r(   r)   test_importall   s(    	
rU   c             C   s   t  j j d |   t |   } | s d d d d t j   k sP t j |   r_ t j |   n d d d t j   k s t j t  r t j t  n d d t j |  i } t	 t j
 |    d  } d  S)	Nzchecking importr   z,assert %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}r   rT   r   
__import__r
   )r   builtinprint_rV   r   r   r   r   r   r   r   )rT   r!   @py_format4r(   r(   r)   rM   7   s        rM   c              C   s   t  j j t  g  }  d  } x~ t |   | k r t |   } xY t  j j |   D]E } x< | j j   D]+ } t | t t  j	   re |  j
 |  qe WqO Wq Wd  S)N)r   rW   setr	   	frozenset__dict__values
isinstancetyperN   add)seenZ
lastlengthitemvaluer(   r(   r)   test_all_resolves;   s    rd   )builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   typesrD   r*   r-   r9   rU   rM   rd   r(   r(   r(   r)   <module>   s     	