ó
ÓnùWc           @   sÓ   d  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 Z d	 Z d
 e j f d „  ƒ  YZ d S(   s   develop tests
iÿÿÿÿN(   t   DistutilsError(   t   develop(   t   easy_install(   t   StringIO(   t   Distributions[   from setuptools import setup

setup(name='foo',
    packages=['foo'],
    use_2to3=True,
)
s   print "foo"
t   TestDevelopTestc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s(  t  j d k  s t t  d ƒ r" d  St j ƒ  |  _ t j t j j	 |  j d ƒ ƒ t j j	 |  j d ƒ } t
 | d ƒ } | j t ƒ | j ƒ  t j ƒ  |  _ t j j	 |  j d d ƒ } t
 | d ƒ } | j t ƒ | j ƒ  t j |  j ƒ t j |  _ t j ƒ  t _ t j |  _ t j ƒ  t _ d  S(   Ns   2.6t   real_prefixt   foos   setup.pyt   ws   __init__.py(   t   syst   versiont   hasattrt   tempfilet   mkdtempt   dirt   ost   mkdirt   patht   joint   opent   writet   SETUP_PYt   closet   getcwdt   old_cwdt   INIT_PYt   chdirt   sitet	   USER_BASEt   old_baset	   USER_SITEt   old_site(   t   selft   setupt   ft   init(    (    sD   /var/www/html/venv/build/setuptools/setuptools/tests/test_develop.pyt   setUp   s$    

c         C   sŸ   t  j d k  s? t t  d ƒ s? t t  d ƒ rC t  j t  j k rC d  St j |  j ƒ t j	 |  j
 ƒ t j	 t j ƒ t j	 t j ƒ |  j t _ |  j t _ d  S(   Ns   2.6R   t   base_prefix(   R	   R
   R   R%   t   prefixR   R   R   t   shutilt   rmtreeR   R   R   R   R   R   (   R    (    (    sD   /var/www/html/venv/build/setuptools/setuptools/tests/test_develop.pyt   tearDown5   s    ?c   	      C   s©  t  j d k  s t t  d ƒ r" d  St t d d d d g d t d d ƒ ƒ } d	 | _ t | ƒ } d
 | _ | j	 ƒ  t
 j | _ d
 | _ t  j } z | j ƒ  Wd  | t  _ Xt j t
 j ƒ } | j ƒ  |  j | d d g ƒ t t j j t
 j d ƒ d ƒ } z  | j ƒ  j ƒ  d j ƒ  } Wd  | j ƒ  Xt t j j | d d ƒ d ƒ } z | j ƒ  j ƒ  } Wd  | j ƒ  Xt  j d k  r•|  j | d ƒ n |  j | d ƒ d  S(   Ns   2.6R   t   nameR   t   packagest   use_2to3R
   s   0.0s   setup.pyi   s   easy-install.pths   foo.egg-linkt   rti    s   __init__.pyt   3s   print "foo"s   print("foo")(   R	   R
   R   R   t   dictt   Truet   script_nameR   t   usert   ensure_finalizedR   R   t   install_dirt   stdoutt   runR   t   listdirt   sortt   assertEqualR   R   R   t   readt   splitt   stripR   (	   R    t   distt   cmdt
   old_stdoutt   contentt   egg_link_fileR   t	   init_fileR#   (    (    sD   /var/www/html/venv/build/setuptools/setuptools/tests/test_develop.pyt   test_develop@   s>    			
		

! !c         C   s”   d } t  j ƒ  } t  j |  j ƒ z] y t i d g d 6ƒ } Wn< t k
 r} t j ƒ  d } t | ƒ } | | k r~ q~ n XWd  t  j | ƒ Xd  S(   NsJ   Could not find suitable distribution for Requirement.parse('I-DONT-EXIST')t   I_DONT_EXISTt   setup_requiresi   (	   R   R   R   R   R   R    R	   t   exc_infot   str(   R    t   wantedt   old_dirR=   t   et   error(    (    sD   /var/www/html/venv/build/setuptools/setuptools/tests/test_develop.pyt"   notest_develop_with_setup_requiresk   s    (   t   __name__t
   __module__R$   R)   RC   RL   (    (    (    sD   /var/www/html/venv/build/setuptools/setuptools/tests/test_develop.pyR      s   			+(   t   __doc__R	   R   R'   R   t   unittestR   t   distutils.errorsR    t   setuptools.command.developR   t   setuptools.commandR   t   easy_install_pkgt   setuptools.compatR   t   setuptools.distR   R   R   t   TestCaseR   (    (    (    sD   /var/www/html/venv/build/setuptools/setuptools/tests/test_develop.pyt   <module>   s   0	