PythonProject1
/
.venv
/Lib
/site-packages
/pkg_resources
/tests
/test_integration_zope_interface.py
| 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. | |
| 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 | |