diff options
Diffstat (limited to 'setuptools/tests/test_develop.py')
| -rw-r--r-- | setuptools/tests/test_develop.py | 73 |
1 files changed, 22 insertions, 51 deletions
diff --git a/setuptools/tests/test_develop.py b/setuptools/tests/test_develop.py index df8db4e2..3c2d924c 100644 --- a/setuptools/tests/test_develop.py +++ b/setuptools/tests/test_develop.py @@ -16,7 +16,6 @@ import pytest from setuptools.command.develop import develop from setuptools.dist import Distribution -from setuptools.tests import ack_2to3 from . import contexts from . import namespaces @@ -25,7 +24,6 @@ from setuptools import setup setup(name='foo', packages=['foo'], - use_2to3=True, ) """ @@ -62,43 +60,6 @@ class TestDevelop: in_virtualenv = hasattr(sys, 'real_prefix') in_venv = hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix - @pytest.mark.skipif( - in_virtualenv or in_venv, - reason="Cannot run when invoked in a virtualenv or venv") - @ack_2to3 - def test_2to3_user_mode(self, test_env): - settings = dict( - name='foo', - packages=['foo'], - use_2to3=True, - version='0.0', - ) - dist = Distribution(settings) - dist.script_name = 'setup.py' - cmd = develop(dist) - cmd.user = 1 - cmd.ensure_finalized() - cmd.install_dir = site.USER_SITE - cmd.user = 1 - with contexts.quiet(): - cmd.run() - - # let's see if we got our egg link at the right place - content = os.listdir(site.USER_SITE) - content.sort() - assert content == ['easy-install.pth', 'foo.egg-link'] - - # Check that we are using the right code. - fn = os.path.join(site.USER_SITE, 'foo.egg-link') - with io.open(fn) as egg_link_file: - path = egg_link_file.read().split()[0].strip() - fn = os.path.join(path, 'foo', '__init__.py') - with io.open(fn) as init_file: - init = init_file.read().strip() - - expected = 'print("foo")' - assert init == expected - def test_console_scripts(self, tmpdir): """ Test that console scripts are installed and that they reference @@ -106,7 +67,8 @@ class TestDevelop: """ pytest.skip( "TODO: needs a fixture to cause 'develop' " - "to be invoked without mutating environment.") + "to be invoked without mutating environment." + ) settings = dict( name='foo', packages=['foo'], @@ -132,6 +94,7 @@ class TestResolver: of what _resolve_setup_path is intending to do. Come up with more meaningful cases that look like real-world scenarios. """ + def test_resolve_setup_path_cwd(self): assert develop._resolve_setup_path('.', '.', '.') == '.' @@ -143,7 +106,6 @@ class TestResolver: class TestNamespaces: - @staticmethod def install_develop(src_dir, target): @@ -151,7 +113,8 @@ class TestNamespaces: sys.executable, 'setup.py', 'develop', - '--install-dir', str(target), + '--install-dir', + str(target), ] with src_dir.as_cwd(): with test.test.paths_on_pythonpath([str(target)]): @@ -182,14 +145,16 @@ class TestNamespaces: 'pip', 'install', str(pkg_A), - '-t', str(target), + '-t', + str(target), ] subprocess.check_call(install_cmd) self.install_develop(pkg_B, target) namespaces.make_site_dir(target) try_import = [ sys.executable, - '-c', 'import myns.pkgA; import myns.pkgB', + '-c', + 'import myns.pkgA; import myns.pkgB', ] with test.test.paths_on_pythonpath([str(target)]): subprocess.check_call(try_import) @@ -197,7 +162,8 @@ class TestNamespaces: # additionally ensure that pkg_resources import works pkg_resources_imp = [ sys.executable, - '-c', 'import pkg_resources', + '-c', + 'import pkg_resources', ] with test.test.paths_on_pythonpath([str(target)]): subprocess.check_call(pkg_resources_imp) @@ -206,12 +172,16 @@ class TestNamespaces: def install_workaround(site_packages): site_packages.mkdir(parents=True) sc = site_packages / 'sitecustomize.py' - sc.write_text(textwrap.dedent(""" + sc.write_text( + textwrap.dedent( + """ import site import pathlib here = pathlib.Path(__file__).parent site.addsitedir(str(here)) - """).lstrip()) + """ + ).lstrip() + ) @pytest.mark.xfail( platform.python_implementation() == 'PyPy', @@ -228,8 +198,7 @@ class TestNamespaces: site_packages = prefix / next( pathlib.Path(path).relative_to(sys.prefix) for path in sys.path - if 'site-packages' in path - and path.startswith(sys.prefix) + if 'site-packages' in path and path.startswith(sys.prefix) ) # install the workaround @@ -238,11 +207,13 @@ class TestNamespaces: env = dict(os.environ, PYTHONPATH=str(site_packages)) cmd = [ sys.executable, - '-m', 'pip', + '-m', + 'pip', 'install', '--editable', str(sample_project), - '--prefix', str(prefix), + '--prefix', + str(prefix), '--no-build-isolation', ] subprocess.check_call(cmd, env=env) |
