î
É X  ã               @   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 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 Gd
 d „  d e j ƒ Z d S)zdevelop tests
é    N)ÚDistutilsError)Údevelop)Úeasy_install)ÚStringIO)ÚDistributionz[from setuptools import setup

setup(name='foo',
    packages=['foo'],
    use_2to3=True,
)
zprint "foo"
c               @   s@   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 S)
ÚTestDevelopTestc             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)Nz2.6Úreal_prefixÚfoozsetup.pyÚwz__init__.py)ÚsysÚversionÚhasattrÚtempfileÚmkdtempÚdirÚosÚmkdirÚpathÚjoinÚopenÚwriteÚSETUP_PYÚcloseÚgetcwdÚold_cwdÚINIT_PYÚchdirÚsiteÚ	USER_BASEÚold_baseÚ	USER_SITEÚold_site)ÚselfÚsetupÚfÚinit© r&   úO/home/ubuntu/projects/ifolica/build/setuptools/setuptools/tests/test_develop.pyÚsetUp   s$    

zTestDevelopTest.setUpc             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)Nz2.6r   Úbase_prefix)r   r   r   r)   Úprefixr   r   r   ÚshutilÚrmtreer   r   r   r    r   r!   )r"   r&   r&   r'   ÚtearDown7   s    ?zTestDevelopTest.tearDownc       	      C   s©  t  j d k  s t t  d ƒ r" d  St t d d d d g d d 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)Nz2.6r   Únamer	   ÚpackagesZuse_2to3Tr   z0.0zsetup.pyé   zeasy-install.pthzfoo.egg-linkÚrtr   z__init__.pyÚ3zprint "foo"zprint("foo"))r   r   r   r   ÚdictÚscript_namer   ÚuserÚensure_finalizedr   r    Úinstall_dirÚstdoutÚrunr   ÚlistdirÚsortZassertEqualr   r   r   ÚreadÚsplitÚstripr   )	r"   ÚdistÚcmdZ
old_stdoutÚcontentZegg_link_filer   Z	init_filer%   r&   r&   r'   Útest_developB   s>    			
		

! !zTestDevelopTest.test_developc             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 rz n  Yn XWd  t  j | ƒ Xd  S)NzJCould not find suitable distribution for Requirement.parse('I-DONT-EXIST')ZI_DONT_EXISTZsetup_requiresr0   )	r   r   r   r   r   r   r   Úexc_infoÚstr)r"   ZwantedZold_dirr?   ÚeÚerrorr&   r&   r'   Ú"notest_develop_with_setup_requiresm   s    z2TestDevelopTest.notest_develop_with_setup_requiresN)Ú__name__Ú
__module__Ú__qualname__r(   r-   rB   rG   r&   r&   r&   r'   r      s   +r   )Ú__doc__r   r+   r   r   r   ZunittestÚdistutils.errorsr   Zsetuptools.command.developr   Zsetuptools.commandr   Zeasy_install_pkgZsetuptools.compatr   Zsetuptools.distr   r   r   ZTestCaser   r&   r&   r&   r'   Ú<module>   s   	