K i dZddlZddlZddlZddlZddlZddlmZddlm Z m Z dZ dZ ejdZejd ZGd d Zy) z develop testsN)paths_on_pythonpath)contexts namespaceszHfrom setuptools import setup setup(name='foo', packages=['foo'], ) z print "foo" c#Ktj5}tj5}|jd||jd|dddddddy#1swYxYw#1swYyxYww)Nzsite.USER_BASEzsite.USER_SITE)rtempdirsetattr) monkeypatch user_base user_sites c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/setuptools/tests/test_develop.py temp_userrsu    y     9    0) <    0) <    s3A>A2)A&A2 A>&A/ +A22A;7A>c#K|}|jd}|dz }|jrtt||j d5}|j t ddd|dz }|j d5}|j tddd|j5|dddy#1swY[xYw#1swY3xYw#1swYyxYww)Nfoosetup.pywz __init__.py) mkdirisfile ValueErrordiropenwriteSETUP_PYINIT_PYas_cwd)tmpdirrtargetrsetupfinits r test_envr!#s F ,,u C Z E ||~V%% CA   D 31    sNAC$C&C$C C$2C7 C$C C$ CC$C!C$c6eZdZedZej jee jjddej je jdk(dej jdZy) TestNamespacesctjdddt|g}|j5t t|g5t j |ddddddy#1swYxYw#1swYyxYw)Nrdevelopz --install-dir)sys executablestrrr subprocess check_call)src_dirr develop_cmds r install_developzTestNamespaces.install_develop4sy NN    K  ^^  3$c&k]3 3%%k2 3 3 3 3 3 3 3s#A8A,A8,A5 1A88BAPPVEYORz-https://github.com/pypa/setuptools/issues/851)reasonPyPyz.https://github.com/pypa/setuptools/issues/1202c xtj|d}tj|d}|dz }tjdddt |dt |g}t j ||j||tj|tjdd g}tt |g5t j |d d d tjdd g}tt |g5t j |d d d y #1swYPxYw#1swYy xYw) 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.pkgBpackagesz-mpipinstallz-tz-cz"import myns.pkgA; import myns.pkgBNzimport pkg_resources) rbuild_namespace_packager&r'r(r)r*r- make_site_dirr)selfrpkg_Apkg_Br install_cmd try_importpkg_resources_imps r !test_namespace_package_importablez0TestNamespaces.test_namespace_package_importableAs! 226;G226;G*$ NN    J  K  k* UF+  ( NN  0 !#f+ / .  ! !* - . NN  "  !#f+ / 5  ! !"3 4 5 5 . . 5 5s?D$D0$D-0D9N)__name__ __module__ __qualname__ staticmethodr-pytestmarkskipifboolosenvirongetplatformpython_implementation uses_networkr=r r#r#3s 3 3 [[ RZZ^^J '(> [[&&&(F2? [[&5  &5rMr#)__doc__rFrIr)r&rBsetuptools._pathrrrrrfixturerr!r#rLrMr rRse  0"    =5=5rM