tox-dev / pyproject-api

API to interact with the python pyproject.toml based projects
https://pyproject-api.readthedocs.io/en/latest/?badge=latest
MIT License
23 stars 12 forks source link

1.7.1: pytest fails in 2 units #142

Open kloczek opened 1 week ago

kloczek commented 1 week ago

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

Here is pytest output: ```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pyproject-api-1.7.1-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pyproject-api-1.7.1-2.fc37.x86_64/usr/lib/python3.10/site-packages + /usr/bin/pytest -ra -m 'not network' ============================= test session starts ============================== platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0 rootdir: /home/tkloczko/rpmbuild/BUILD/pyproject-api-1.7.1 configfile: pyproject.toml plugins: mock-3.14.0 collected 59 items tests/test_backend.py ........ [ 13%] tests/test_frontend.py ............................. [ 62%] tests/test_frontend_setuptools.py .F.F...... [ 79%] tests/test_main.py ....... [ 91%] tests/test_util.py .... [ 98%] tests/test_version.py . [100%] =================================== FAILURES =================================== _________________ test_setuptools_get_requires_for_build_wheel _________________ frontend_setuptools = def test_setuptools_get_requires_for_build_wheel(frontend_setuptools: SubprocessFrontend) -> None: result = frontend_setuptools.get_requires_for_build_wheel() > assert not result.requires E assert not (,) E + where (,) = RequiresBuildWheelResult(requires=(,), out="started backend BackendProxy(backend= tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-73/test_setuptools_build_sdist0') def test_setuptools_build_sdist(frontend_setuptools: SubprocessFrontend, tmp_path: Path) -> None: result = frontend_setuptools.build_sdist(tmp_path) sdist = result.sdist assert sdist.exists() assert sdist.is_file() > assert sdist.name == "demo-1.0.tar.gz" E AssertionError: assert 'demo-1.tar.gz' == 'demo-1.0.tar.gz' E E - demo-1.0.tar.gz E ? -- E + demo-1.tar.gz tests/test_frontend_setuptools.py:93: AssertionError =========================== short test summary info ============================ FAILED tests/test_frontend_setuptools.py::test_setuptools_get_requires_for_build_wheel FAILED tests/test_frontend_setuptools.py::test_setuptools_build_sdist - Asser... ========================= 2 failed, 57 passed in 5.20s ========================= ```
List of installed modules in build env: ```console Package Version ----------------------------- ----------- alabaster 0.7.16 Babel 2.15.0 build 1.2.1 charset-normalizer 3.3.2 defusedxml 0.7.1 distro 1.9.0 docutils 0.20.1 exceptiongroup 1.1.3 hatch-vcs 0.4.0 hatchling 1.24.2 imagesize 1.4.1 importlib_metadata 7.2.0 iniconfig 2.0.0 installer 0.7.0 Jinja2 3.1.4 MarkupSafe 2.1.5 packaging 24.0 pathspec 0.12.1 pluggy 1.5.0 Pygments 2.18.0 pyproject_hooks 1.0.0 pytest 8.2.2 pytest-mock 3.14.0 python-dateutil 2.9.0.post0 requests 2.32.3 setuptools 69.4.0 setuptools-scm 8.1.0 snowballstemmer 2.2.0 Sphinx 7.3.7 sphinx-autodoc-typehints 2.2.1 sphinxcontrib-applehelp 1.0.8 sphinxcontrib-devhelp 1.0.6 sphinxcontrib-htmlhelp 2.0.5 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.7 sphinxcontrib-serializinghtml 1.1.10 tokenize_rt 5.2.0 tomli 2.0.1 trove-classifiers 2024.6.19 urllib3 2.2.2 wheel 0.43.0 zipp 3.19.2 ```

Please let me know if you need more details or want me to perform some diagnostics.

mtelka commented 1 week ago

I do see the test_setuptools_get_requires_for_build_wheel failure too on OpenIndiana. The test_setuptools_build_sdist test pass here. Tested with setuptools 70.0.0.