diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2016-12-11 15:20:32 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2016-12-11 15:32:28 -0500 |
commit | 3dd506f01d48b98aeea9bdbca0105d4c7d8ad538 (patch) | |
tree | 07b3933bd8651b7ac184736f2a3463a483e4e7b5 /setuptools/tests/test_develop.py | |
parent | 2268fb9887cfea2e28e156bd2c8314132261402f (diff) | |
parent | 5c9406987aacf17d9c004aa1456797e0044306e5 (diff) | |
download | python-setuptools-git-develop-nspkg-always.tar.gz |
Merge branch 'master' into develop-nspkg-alwaysdevelop-nspkg-always
Diffstat (limited to 'setuptools/tests/test_develop.py')
-rw-r--r-- | setuptools/tests/test_develop.py | 46 |
1 files changed, 4 insertions, 42 deletions
diff --git a/setuptools/tests/test_develop.py b/setuptools/tests/test_develop.py index fb8e0e3f..e0227453 100644 --- a/setuptools/tests/test_develop.py +++ b/setuptools/tests/test_develop.py @@ -7,7 +7,6 @@ import os import site import sys import io -import textwrap import subprocess from setuptools.extern import six @@ -17,6 +16,7 @@ import pytest from setuptools.command.develop import develop from setuptools.dist import Distribution from . import contexts +from . import namespaces SETUP_PY = """\ from setuptools import setup @@ -122,44 +122,6 @@ class TestDevelop: class TestNamespaces: - @staticmethod - def build_namespace_package(tmpdir, name): - src_dir = tmpdir / name - src_dir.mkdir() - setup_py = src_dir / 'setup.py' - namespace, sep, rest = name.partition('.') - script = textwrap.dedent(""" - import setuptools - setuptools.setup( - name={name!r}, - version="1.0", - namespace_packages=[{namespace!r}], - packages=[{namespace!r}], - ) - """).format(**locals()) - setup_py.write_text(script, encoding='utf-8') - ns_pkg_dir = src_dir / namespace - ns_pkg_dir.mkdir() - pkg_init = ns_pkg_dir / '__init__.py' - tmpl = '__import__("pkg_resources").declare_namespace({namespace!r})' - decl = tmpl.format(**locals()) - pkg_init.write_text(decl, encoding='utf-8') - pkg_mod = ns_pkg_dir / (rest + '.py') - some_functionality = 'name = {rest!r}'.format(**locals()) - pkg_mod.write_text(some_functionality, encoding='utf-8') - return src_dir - - @staticmethod - def make_site_dir(target): - """ - Add a sitecustomize.py module in target to cause - target to be added to site dirs such that .pth files - are processed there. - """ - sc = target / 'sitecustomize.py' - target_str = str(target) - tmpl = '__import__("site").addsitedir({target_str!r})' - sc.write_text(tmpl.format(**locals()), encoding='utf-8') @staticmethod def install_develop(src_dir, target): @@ -181,8 +143,8 @@ class TestNamespaces: and the other installed using `develop` should leave the namespace in tact and both packages reachable by import. """ - pkg_A = self.build_namespace_package(tmpdir, 'myns.pkgA') - pkg_B = self.build_namespace_package(tmpdir, 'myns.pkgB') + pkg_A = namespaces.build_namespace_package(tmpdir, 'myns.pkgA') + pkg_B = namespaces.build_namespace_package(tmpdir, 'myns.pkgB') target = tmpdir / 'packages' # use pip to install to the target directory install_cmd = [ @@ -193,7 +155,7 @@ class TestNamespaces: ] subprocess.check_call(install_cmd) self.install_develop(pkg_B, target) - self.make_site_dir(target) + namespaces.make_site_dir(target) try_import = [ sys.executable, '-c', 'import myns.pkgA; import myns.pkgB', |