
#þîh   ã               @   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 m Z d d l m	 Z	 m
 Z
 d Z d Z e j d d	 „  ƒ Z e j d
 d „  ƒ Z Gd d „  d ƒ Z d S)zdevelop testsé    N)Úpaths_on_pythonpathé   )ÚcontextsÚ
namespaceszHfrom setuptools import setup

setup(name='foo',
    packages=['foo'],
)
zprint "foo"
c             c   sU   t  j ƒ  �B } t  j ƒ  �, } |  j d | ƒ |  j d | ƒ d  VWd  QRXWd  QRXd  S)Nzsite.USER_BASEzsite.USER_SITE)r   ÚtempdirÚsetattr)ZmonkeypatchÚ	user_baseÚ	user_site© r
   úC/tmp/pip-build-zijwfla7/setuptools/setuptools/tests/test_develop.pyÚ	temp_user   s
    r   c             c   s°   |  } | j  d ƒ } | d } | j ƒ  r= t t | ƒ ƒ ‚ | j d ƒ � } | j t ƒ Wd  QRX| d } | j d ƒ � } | j t ƒ Wd  QRX| j ƒ  �
 | VWd  QRXd  S)NÚfoozsetup.pyÚwz__init__.py)	ÚmkdirÚisfileÚ
ValueErrorÚdirÚopenÚwriteÚSETUP_PYÚINIT_PYÚas_cwd)Útmpdirr   Útargetr   ÚsetupÚfÚinitr
   r
   r   Útest_env#   s    

r   c               @   sˆ   e  Z d  Z e d d „  ƒ Z e j j e e	 j
 j d ƒ ƒ d d ƒe j j e j ƒ  d k d d ƒe j j d d	 „  ƒ ƒ ƒ Z d
 S)ÚTestNamespacesc             C   s`   t  j d d d t | ƒ g } |  j ƒ  �/ t t | ƒ g ƒ � t j | ƒ Wd  QRXWd  QRXd  S)Nzsetup.pyÚdevelopz--install-dir)ÚsysÚ
executableÚstrr   r   Ú
subprocessÚ
check_call)Úsrc_dirr   Zdevelop_cmdr
   r
   r   Úinstall_develop4   s    zTestNamespaces.install_developZAPPVEYORÚreasonz-https://github.com/pypa/setuptools/issues/851ÚPyPyz.https://github.com/pypa/setuptools/issues/1202c             C   sþ   t  j | d ƒ } t  j | d ƒ } | d } t j d d d t | ƒ d t | ƒ g } t j | ƒ |  j | | ƒ t  j | ƒ t j d d	 g } t	 t | ƒ g ƒ � t j | ƒ Wd
 QRXt j d d g } t	 t | ƒ g ƒ � t j | ƒ Wd
 QRXd
 S)a  
        Installing two packages sharing the same namespace, one installed
        naturally using pip or `--single-version-externally-managed`
        and the other installed using `develop` should leave the namespace
        in tact and both packages reachable by import.
        z	myns.pkgAz	myns.pkgBÚpackagesz-mÚpipÚinstallz-tz-cz"import myns.pkgA; import myns.pkgBNzimport pkg_resources)
r   Zbuild_namespace_packager    r!   r"   r#   r$   r&   Zmake_site_dirr   )Úselfr   Zpkg_AZpkg_Br   Zinstall_cmdZ
try_importZpkg_resources_impr
   r
   r   Ú!test_namespace_package_importableA   s.    
			z0TestNamespaces.test_namespace_package_importableN)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr&   ÚpytestÚmarkZskipifÚboolÚosÚenvironÚgetÚplatformÚpython_implementationZuses_networkr-   r
   r
   r
   r   r   3   s   		r   )Ú__doc__r5   r8   r#   r    r2   Zsetuptools._pathr   Ú r   r   r   r   Zfixturer   r   r   r
   r
   r
   r   Ú<module>   s   	