Viewing file: test_integration_zope_interface.py (1.61 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import platform from inspect import cleandoc
import jaraco.path import pytest
pytestmark = pytest.mark.integration
# For the sake of simplicity this test uses fixtures defined in # `setuptools.test.fixtures`, # and it also exercise conditions considered deprecated... # So if needed this test can be deleted. @pytest.mark.skipif( platform.system() != "Linux", reason="only demonstrated to fail on Linux in #4399", ) def test_interop_pkg_resources_iter_entry_points(tmp_path, venv): """ Importing pkg_resources.iter_entry_points on console_scripts seems to cause trouble with zope-interface, when deprecates installation method is used. See #4399. """ project = { "pkg": { "foo.py": cleandoc( """ from pkg_resources import iter_entry_points
def bar(): print("Print me if you can") """ ), "setup.py": cleandoc( """ from setuptools import setup, find_packages
setup( install_requires=["zope-interface==6.4.post2"], entry_points={ "console_scripts": [ "foo=foo:bar", ], }, ) """ ), } } jaraco.path.build(project, prefix=tmp_path) cmd = ["pip", "install", "-e", ".", "--no-use-pep517"] venv.run(cmd, cwd=tmp_path / "pkg") # Needs this version of pkg_resources installed out = venv.run(["foo"]) assert "Print me if you can" in out
|