Skip to content

TestNamespaces.test_namespace_package_importable failed with 31.0.0 #884

@felixonmars

Description

@felixonmars

Python 3.5.2
pip 9.0.1
Arch Linux x86_64 latest.

The following new test failure was introduced in 31.0.0:

=================================== FAILURES ===================================
_______________ TestNamespaces.test_namespace_package_importable _______________

self = <setuptools.tests.test_develop.TestNamespaces object at 0x7f9a0d93ab38>
tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_namespace_package_importa0')

    def test_namespace_package_importable(self, tmpdir):
        """
            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.
            """
        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 = [
            'pip',
            'install',
            str(pkg_A),
            '-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',
        ]
        env = dict(PYTHONPATH=str(target))
>       subprocess.check_call(try_import, env=env)

setuptools/tests/test_develop.py:164:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/python', '-c', 'import myns.pkgA; import myns.pkgB'],)
kwargs = {'env': {'PYTHONPATH': '/tmp/pytest-of-builduser/pytest-0/test_namespace_package_importa0/packages'}}
retcode = 1
cmd = ['/usr/bin/python', '-c', 'import myns.pkgA; import myns.pkgB']

    def check_call(*popenargs, **kwargs):
        """Run command with arguments.  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.

        The arguments are the same as for the call function.  Example:

        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['/usr/bin/python', '-c', 'import myns.pkgA; import myns.pkgB']' returned non-zero exit status 1

/usr/lib/python3.5/subprocess.py:581: CalledProcessError
----------------------------- Captured stdout call -----------------------------
Processing /tmp/pytest-of-builduser/pytest-0/test_namespace_package_importa0/myns.pkgA
Installing collected packages: myns.pkgA
  Running setup.py install for myns.pkgA: started
    Running setup.py install for myns.pkgA: finished with status 'done'
Successfully installed myns.pkgA-1.0
running develop
running egg_info
creating myns.pkgB.egg-info
writing dependency_links to myns.pkgB.egg-info/dependency_links.txt
writing top-level names to myns.pkgB.egg-info/top_level.txt
writing myns.pkgB.egg-info/PKG-INFO
writing namespace_packages to myns.pkgB.egg-info/namespace_packages.txt
writing manifest file 'myns.pkgB.egg-info/SOURCES.txt'
reading manifest file 'myns.pkgB.egg-info/SOURCES.txt'
writing manifest file 'myns.pkgB.egg-info/SOURCES.txt'
running build_ext
Creating /tmp/pytest-of-builduser/pytest-0/test_namespace_package_importa0/packages/site.py
Creating /tmp/pytest-of-builduser/pytest-0/test_namespace_package_importa0/packages/myns.pkgB.egg-link (link to .)
Adding myns.pkgB 1.0 to easy-install.pth file

Installed /tmp/pytest-of-builduser/pytest-0/test_namespace_package_importa0/myns.pkgB
Processing dependencies for myns.pkgB==1.0
Finished processing dependencies for myns.pkgB==1.0
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'myns.pkgB'
========= 1 failed, 206 passed, 12 skipped, 2 xpassed in 15.65 seconds =========

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions