
    ϶vg                     H    d dl Z d dlZd dlmZ ddlmZ  G d d          ZdS )    N)paths_on_pythonpath   )
namespacesc                   &    e Zd Zd Zd Zd Zd ZdS )TestNamespacesc           	      ^   t          j        |d          }t          j        |d          }|dz  }|dz  }||f}t          j        dddt	          |          dt	          |          g}t          j        |           t          j        |           t          j        dddt	          |          dt	          |          g}t          j        |           t          j        d	d
g}t          t          t          |                    5  t          j        |           ddd           dS # 1 swxY w Y   dS )z
        Installing two packages sharing the same namespace, one installed
        to a site dir and the other installed just to a path on PYTHONPATH
        should leave the namespace in tact and both packages reachable by
        import.
        	myns.pkgA	myns.pkgBzsite-packageszpath-packages-mpip.__main__install-t-cz"import myns.pkgA; import myns.pkgBN)
r   build_namespace_packagesys
executablestr
subprocess
check_callmake_site_dirr   map)	selftmpdirpkg_Apkg_Bsite_packagespath_packagestargetsinstall_cmd
try_imports	            ]/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/test_namespaces.pytest_mixed_site_and_non_sitez+TestNamespaces.test_mixed_site_and_non_site
   sx    26;GG26;GG00. NJJ
 	k*** ///NJJ
 	k***N0


 !S'!2!233 	. 	.!*---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s    D""D&)D&c           	      (   t          j        |d          }|dz  }|                                 t          j        ddddt          |          t          |          g}t          t          |          g          5  t          j        |           ddd           n# 1 swxY w Y   t          j	        |           t          j        dd	g}t          t          |          g          5  t          j        |           ddd           dS # 1 swxY w Y   dS )
zc
        Ensure that a namespace package doesn't break on import
        of pkg_resources.
        r	   packagesr   pipr   r   Nr   zimport pkg_resources)
r   r   mkdirr   r   r   r   r   r   r   )r   r   pkgtargetr   r    s         r!   test_pkg_resources_importz(TestNamespaces.test_pkg_resources_import4   s   
 0EE*$NKKHH
 !#f++// 	/ 	/!+...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ (((N"


 !#f++// 	. 	.!*---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s$   9BB!B%DDDc           	         t          j        |d          }|dz  }t          j        dddt	          |          dt	          |          g}t          j        |           t          j        |           t          j        ddg}t          t	          |          g          5  t          j        |t	          |          	           d
d
d
           d
S # 1 swxY w Y   d
S )z
        Installing a namespace packages but also having it in the current
        working directory, only one version should take precedence.
        r	   r$   r   r   r   r   r   z&import pkg_resources; import myns.pkgAcwdN	r   r   r   r   r   r   r   r   r   )r   r   r   r(   r   pkg_resources_imps         r!   (test_namespace_package_installed_and_cwdz7TestNamespaces.test_namespace_package_installed_and_cwdP   s2   
 26;GG*$ NJJKK
 	k*** ((( N4

 !#f++// 	E 	E!"3UDDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   $CCCc           	         t          j        |d          }t          j        |d          }|dz  }t          j        dddt	          |          dt	          |          g}t          j        |           t          j        |           t          j        dd	g}t          t	          |          g          5  t          j        |t	          |          
           ddd           dS # 1 swxY w Y   dS )z
        Installing one namespace package and also have another in the same
        namespace in the current working directory, both of them must be
        importable.
        r	   r
   r$   r   r   r   r   r   z8import pkg_resources; import myns.pkgA; import myns.pkgBr+   Nr-   )r   r   r   r   r(   r   r.   s          r!   5test_packages_in_the_same_namespace_installed_and_cwdzDTestNamespaces.test_packages_in_the_same_namespace_installed_and_cwdm   sD    26;GG26;GG*$ NJJKK
 	k*** ((( NF

 !#f++// 	E 	E!"3UDDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   1$C""C&)C&N)__name__
__module____qualname__r"   r)   r/   r1        r!   r   r   	   sY        (. (. (.T. . .8E E E:E E E E Er6   r   )r   r   setuptools._pathr    r   r   r5   r6   r!   <module>r9      s        



 0 0 0 0 0 0      AE AE AE AE AE AE AE AE AE AEr6   