pypa / setuptools

Official project repository for the Setuptools build system
https://pypi.org/project/setuptools/
MIT License
2.48k stars 1.18k forks source link

Project should be tested as installed #2318

Open pganssle opened 4 years ago

pganssle commented 4 years ago

Right now, we are testing an editable install of setuptools and possibly relying on the fact that the tests are run from the repository root, which is a problem. We should instead test our projects as installed, meaning we should:

  1. Remove the usedevelop=True flag from tox.ini.
  2. Either switch to a src/ layout and/or run the tests from another directory per the suggestions in this blog post.

This is especially important after the resolution to #2259, which makes a pretty significant change to the way our project works when it is installed normally as opposed to in an editable install. Considering that we're basically considering editable installs of setuptools to be an unsupported configuration, we should definitely be testing only installed configurations.

jaraco commented 4 years ago

Thanks Paul for writing up this proposal.

While I agree in principle - that the code under test should mirror the supported user's environment as closely as possible, as developers we make lots of compromises that violate that expectation:

I acknowledge that testing as editable-installed is an imperfect representation of the target environment. It is, however, a very close approximation and has at least these advantages that I appreciate:

I'm also concerned with the disadvantages of the proposal. Both approaches for (OP 2) involve several changes to the codebase and add debt. They require more non-default settings and limit the options for overriding. For example, the "run from another directory" approach has these disadvantages:

Regarding (OP 1), I know in the past I've run into bugs in tox for which the best known workaround was to use an editable install. One was tox-dev/tox#467 but the more serious one was tox-dev/tox#373 where the long-term resolution (pytest-dev/pytest#2042) is still imperfect and runs doctests on a different copy of the source than the code under test (another manifestation of "which copy of the code matters").

Some tests in the test suite already honor the proposed intention (e.g. test_integration, test_distutils_adoption), exercising critical behavior that would be masked by an editable install. Most of the tests, however, are exercised at a scope (unit, functional) that's unaffected by an editable install. Moreover, adopting test-as-installed still doesn't address some of the biggest gaps this project has for testing (capturing real-world scenarios like upgrades and source-only bootstrapping).

All of this experience leads me to believe that the costs of this change as proposed would vastly outweigh the benefits.

If running all tests as installed is important, I suggest to consider another approach - create a separate tox environment or other isolated build process that's dedicated to running tests as installed. This opt-in feature could be ignored by most workflows but invoked in select CI environments to provide the necessary protections. Perhaps this feature could run in dedicated docker containers or VMs so as to more accurately represent execution outside of a virtualenv as well.

Could we start with such an approach and evaluate the benefit before considering impacting the default developer workflows?

pganssle commented 4 years ago

I don't think I'm able to confidently make changes to this project at this point, so you can feel free to do as you wish.

I think that if you want to continue your aggressive approach to modernizing the code and your (in my opinion) lax approach to testing, I fear that it will affect the reputation of this project and the PyPA more generally.

If this project cannot pass the tests when it's been installed, that should be a serious red flag.

pganssle commented 4 years ago

It may be worth re-considering this, since after the 50.0.0 release, we've now hit several compatibility issues that would have been found with this testing approach (3.5 and 3.6 compatibility. most notably).

jaraco commented 4 years ago

In the aforementioned commit, I've added support for testing as installed. Just run tox -e native or tox -e py36-native to run the tests as installed. Unfortunately, the tests fail with ImportError: Error importing plugin "setuptools.tests.fixtures": No module named 'setuptools.tests' because tests aren't available in the package as installed.

joergent commented 3 years ago

A better test could have prevented the letsencrypt problem for probably many users See: https://github.com/pypa/setuptools/pull/1788

abravalheri commented 2 years ago

Unfortunately, the tests fail with ImportError: Error importing plugin "setuptools.tests.fixtures": No module named 'setuptools.tests' because tests aren't available in the package as installed.

I believe that this issue can be solved by renaming the fixtures.py file to conftest.py, since pytest natively supports per-dir local plugins.

I have a proof of concept that expands upon https://github.com/pypa/setuptools/commit/645bda8220d80f402a7b7d8e04588bc8906cab59 with some minor changes to improve isolation that seems to be working (I am currently testing it on #3015 against the CI).

When I tried to go one step further and implement the changedir trick explained in @pganssle blog, I still managed to run the tests but there were a few complications:

@pganssle do you know if without the changedir or switching to a src-layout (but using a bare pytest) there could still be some leaking? For example if a test uses subprocess.Popen can it accidentally make use of implicit PYTHONPATH?

abravalheri commented 2 years ago

After some investigation (details in #3015) my thoughts are:

Therefore, I would say that:

  1. If a project uses the flat-layout with in-package, not distributed, tests, it is better to rely completely on usedevelop=True and accept the limitations and shortcomings
    • (a) The alternative here is to have some more complex CI system that untangles the files and reconstruct the directories in the test environment in a way that it eliminates the problems listed above. This proposal is more or less what @webknjaz describes in https://github.com/pypa/setuptools/pull/3015#pullrequestreview-847184271. This may increase the gap between what developers run in their machine and what the CI runs.
    • (b) I suspect that for the simple scenario when there is no in-tree pytest plugin and the test files do not import collocated helper files, things can work well.
  2. The src-layout with a separated tests dir is the less error-prone approach, but it also requires the project to accept its limitations and shortcomings as described in https://github.com/pypa/setuptools/issues/2318#issuecomment-674549040

Now the question is, which one of the 2 approaches is the best for setuptools? (Or do we want to write a more complex CI (a) that enforces the test isolation by dynamically modifying the way the files are organised just before running pytest?)

abravalheri commented 2 years ago

Update: The investigation in #3015 was completed. The available PR implementation makes it possible to run the test suite against an installed version of setuptools, however:

I am happy to drop the PR if we think that this added complexity is not worth.

kloczek commented 2 years ago

Just tested that. Looks like negative result 😢

```console [tkloczko@ss-desktop SPECS]$ rpmbuild -ba --with failing_tests python-setuptools.spec warning: Downloading https://github.com/pypa/setuptools//archive/v60.5.4/python-setuptools-60.5.4.tar.gz to /home/tkloczko/rpmbuild/SOURCES/python-setuptools-60.5.4.tar.gz warning: Downloading https://github.com/pypa/setuptools//pull/3015.patch#/python-setuptools-Adopt-usedevelop=False-for-tests-running-in-CI-3015.patch to /home/tkloczko/rpmbuild/SOURCES/False-for-tests-running-in-CI-3015.patch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.dNJOCu + umask 022 + cd /home/tkloczko/rpmbuild/BUILD + cd /home/tkloczko/rpmbuild/BUILD + rm -rf setuptools-60.5.4 + /usr/bin/gzip -dc /home/tkloczko/rpmbuild/SOURCES/python-setuptools-60.5.4.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd setuptools-60.5.4 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/python-setuptools-strip_shebangs.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/python-setuptools-man3_level.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/python-setuptools-remove_use_sphinxcontrib.towncrier_extension.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/python-setuptools-remove_use_jaraco.tidelift_extension.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/False-for-tests-running-in-CI-3015.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 [..] + /usr/bin/python3 -sBm build -w --no-isolation * Getting dependencies for wheel... running egg_info creating setuptools.egg-info writing manifest file 'setuptools.egg-info/SOURCES.txt' listing git files failed - pretending there aren't any warning: no files found matching '*.py' under directory 'tests' warning: no files found matching '*.txt' under directory 'docs' warning: no files found matching '*.conf' under directory 'docs' warning: no files found matching '*.css' under directory 'docs' warning: no files found matching '*.css_t' under directory 'docs' warning: no files found matching 'Makefile' under directory 'docs' warning: no files found matching 'indexsidebar.html' under directory 'docs' warning: no files found matching 'msvc-build-launcher.cmd' writing manifest file 'setuptools.egg-info/SOURCES.txt' * Building wheel... [..] creating build/bdist.linux-x86_64/wheel/distutils-precedence.pth Successfully built setuptools-60.5.4.post20220119-py3-none-any.whl [..] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.rpxfHN + umask 022 + cd /home/tkloczko/rpmbuild/BUILD + '[' /home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64 '!=' / ']' + rm -rf /home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64 + /usr/bin/mkdir -p /home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64 + cd setuptools-60.5.4 + /usr/bin/python3 -sBm pip install -I dist/setuptools-60.5.4.post20220119-py3-none-any.whl --root /home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64 --disable-pip-version-check --no-cache-dir --no-deps --no-index --no-warn-script-location --progress-bar off --verbose --ignore-installed --no-warn-script-location Using pip 21.3.1 from /usr/lib/python3.8/site-packages/pip (python 3.8) Processing ./dist/setuptools-60.5.4.post20220119-py3-none-any.whl Installing collected packages: setuptools Successfully installed setuptools-60.5.4.post20220119 [..] Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.HRklFs + umask 022 + cd /home/tkloczko/rpmbuild/BUILD + cd setuptools-60.5.4 + PYTHONDONTWRITEBYTECODE=1 + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages + pytest -ra -p no:randomly setuptools -W ignore::DeprecationWarning =========================================================================== test session starts ============================================================================ platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 rootdir: /home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4, configfile: pytest.ini plugins: shutil-1.7.0, forked-1.4.0, cov-3.0.0, virtualenv-1.7.0, checkdocs-2.7.1, flake8-1.0.7, xdist-2.5.0 collected 590 items / 47 errors / 2 skipped / 541 selected ================================================================================== ERRORS ================================================================================== ___________________________________________________________ ERROR collecting setuptools/_deprecation_warning.py ____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools._deprecation_warning', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/_deprecation_warning.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/_deprecation_warning.py')) ___________________________________________________________________ ERROR collecting setuptools/_imp.py ____________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools._imp', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/_imp.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/_imp.py')) _______________________________________________________________ ERROR collecting setuptools/archive_util.py ________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.archive_util', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/archive_util.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/archive_util.py')) ________________________________________________________________ ERROR collecting setuptools/build_meta.py _________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.build_meta', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/build_meta.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/build_meta.py')) __________________________________________________________________ ERROR collecting setuptools/config.py ___________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.config', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/config.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/config.py')) _________________________________________________________________ ERROR collecting setuptools/dep_util.py __________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.dep_util', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/dep_util.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/dep_util.py')) __________________________________________________________________ ERROR collecting setuptools/depends.py __________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.depends', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/depends.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/depends.py')) ___________________________________________________________________ ERROR collecting setuptools/dist.py ____________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.dist', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/dist.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/dist.py')) __________________________________________________________________ ERROR collecting setuptools/errors.py ___________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.errors', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/errors.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/errors.py')) _________________________________________________________________ ERROR collecting setuptools/extension.py _________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.extension', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/extension.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/extension.py')) ___________________________________________________________________ ERROR collecting setuptools/glob.py ____________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.glob', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/glob.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/glob.py')) _________________________________________________________________ ERROR collecting setuptools/installer.py _________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.installer', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/installer.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/installer.py')) __________________________________________________________________ ERROR collecting setuptools/launch.py ___________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.launch', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/launch.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/launch.py')) __________________________________________________________________ ERROR collecting setuptools/logging.py __________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.logging', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/logging.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/logging.py')) __________________________________________________________________ ERROR collecting setuptools/monkey.py ___________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.monkey', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/monkey.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/monkey.py')) ___________________________________________________________________ ERROR collecting setuptools/msvc.py ____________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.msvc', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/msvc.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/msvc.py')) ________________________________________________________________ ERROR collecting setuptools/namespaces.py _________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.namespaces', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/namespaces.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/namespaces.py')) _______________________________________________________________ ERROR collecting setuptools/package_index.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.package_index', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/package_index.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/package_index.py')) ________________________________________________________________ ERROR collecting setuptools/py34compat.py _________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.py34compat', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/py34compat.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/py34compat.py')) __________________________________________________________________ ERROR collecting setuptools/sandbox.py __________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.sandbox', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/sandbox.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/sandbox.py')) _______________________________________________________________ ERROR collecting setuptools/unicode_utils.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.unicode_utils', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/unicode_utils.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/unicode_utils.py')) __________________________________________________________________ ERROR collecting setuptools/version.py __________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.version', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/version.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/version.py')) ___________________________________________________________________ ERROR collecting setuptools/wheel.py ___________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.wheel', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/wheel.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/wheel.py')) ______________________________________________________________ ERROR collecting setuptools/windows_support.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.windows_support', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/windows_support.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/windows_support.py')) _______________________________________________________________ ERROR collecting setuptools/command/alias.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.alias', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/alias.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/alias.py')) _____________________________________________________________ ERROR collecting setuptools/command/bdist_egg.py _____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.bdist_egg', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/bdist_egg.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/bdist_egg.py')) _____________________________________________________________ ERROR collecting setuptools/command/bdist_rpm.py _____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.bdist_rpm', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/bdist_rpm.py')) ____________________________________________________________ ERROR collecting setuptools/command/build_clib.py _____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.build_clib', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/build_clib.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/build_clib.py')) _____________________________________________________________ ERROR collecting setuptools/command/build_ext.py _____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.build_ext', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/build_ext.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/build_ext.py')) _____________________________________________________________ ERROR collecting setuptools/command/build_py.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.build_py', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/build_py.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/build_py.py')) ______________________________________________________________ ERROR collecting setuptools/command/develop.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.develop', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/develop.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/develop.py')) _____________________________________________________________ ERROR collecting setuptools/command/dist_info.py _____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.dist_info', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/dist_info.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/dist_info.py')) ___________________________________________________________ ERROR collecting setuptools/command/easy_install.py ____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.easy_install', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/easy_install.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/easy_install.py')) _____________________________________________________________ ERROR collecting setuptools/command/egg_info.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.egg_info', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/egg_info.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/egg_info.py')) ______________________________________________________________ ERROR collecting setuptools/command/install.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/install.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/install.py')) _________________________________________________________ ERROR collecting setuptools/command/install_egg_info.py __________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install_egg_info', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/install_egg_info.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/install_egg_info.py')) ____________________________________________________________ ERROR collecting setuptools/command/install_lib.py ____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install_lib', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/install_lib.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/install_lib.py')) __________________________________________________________ ERROR collecting setuptools/command/install_scripts.py __________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install_scripts', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/install_scripts.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/install_scripts.py')) ____________________________________________________________ ERROR collecting setuptools/command/py36compat.py _____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.py36compat', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/py36compat.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/py36compat.py')) _____________________________________________________________ ERROR collecting setuptools/command/register.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.register', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/register.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/register.py')) ______________________________________________________________ ERROR collecting setuptools/command/rotate.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.rotate', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/rotate.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/rotate.py')) _____________________________________________________________ ERROR collecting setuptools/command/saveopts.py ______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.saveopts', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/saveopts.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/saveopts.py')) _______________________________________________________________ ERROR collecting setuptools/command/sdist.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.sdist', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/sdist.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/sdist.py')) ______________________________________________________________ ERROR collecting setuptools/command/setopt.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.setopt', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/setopt.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/setopt.py')) _______________________________________________________________ ERROR collecting setuptools/command/test.py ________________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.test', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/test.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/test.py')) ______________________________________________________________ ERROR collecting setuptools/command/upload.py _______________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.upload', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/upload.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/upload.py')) ____________________________________________________________ ERROR collecting setuptools/command/upload_docs.py ____________________________________________________________ /usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.8/site-packages/_pytest/doctest.py:532: in collect module = import_path(self.fspath) /usr/lib/python3.8/site-packages/_pytest/pathlib.py:544: in import_path raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.upload_docs', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/command/upload_docs.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/command/upload_docs.py')) ========================================================================= short test summary info ========================================================================== SKIPPED [2] setuptools/tests/test_msvc.py:17: could not import 'distutils.msvc9compiler': No module named 'winreg' ERROR setuptools/_deprecation_warning.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools._deprecation_warning', '/home/tkloczko/rpmbuild/BUILDROOT/python-setupto... ERROR setuptools/_imp.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools._imp', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib... ERROR setuptools/archive_util.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.archive_util', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc3... ERROR setuptools/build_meta.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.build_meta', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x8... ERROR setuptools/config.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.config', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr... ERROR setuptools/dep_util.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.dep_util', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64... ERROR setuptools/depends.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.depends', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/u... ERROR setuptools/dist.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.dist', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib... ERROR setuptools/errors.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.errors', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr... ERROR setuptools/extension.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.extension', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_... ERROR setuptools/glob.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.glob', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib... ERROR setuptools/installer.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.installer', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_... ERROR setuptools/launch.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.launch', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr... ERROR setuptools/logging.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.logging', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/u... ERROR setuptools/monkey.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.monkey', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr... ERROR setuptools/msvc.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.msvc', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib... ERROR setuptools/namespaces.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.namespaces', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x8... ERROR setuptools/package_index.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.package_index', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.f... ERROR setuptools/py34compat.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.py34compat', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x8... ERROR setuptools/sandbox.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.sandbox', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/u... ERROR setuptools/unicode_utils.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.unicode_utils', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.f... ERROR setuptools/version.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.version', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/u... ERROR setuptools/wheel.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.wheel', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/l... ERROR setuptools/windows_support.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.windows_support', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4... ERROR setuptools/command/alias.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.alias', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.f... ERROR setuptools/command/bdist_egg.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.bdist_egg', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60... ERROR setuptools/command/bdist_rpm.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.bdist_rpm', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60... ERROR setuptools/command/build_clib.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.build_clib', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-... ERROR setuptools/command/build_ext.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.build_ext', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60... ERROR setuptools/command/build_py.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.build_py', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5... ERROR setuptools/command/develop.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.develop', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4... ERROR setuptools/command/dist_info.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.dist_info', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60... ERROR setuptools/command/easy_install.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.easy_install', '/home/tkloczko/rpmbuild/BUILDROOT/python-setupto... ERROR setuptools/command/egg_info.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.egg_info', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5... ERROR setuptools/command/install.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4... ERROR setuptools/command/install_egg_info.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install_egg_info', '/home/tkloczko/rpmbuild/BUILDROOT/python... ERROR setuptools/command/install_lib.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install_lib', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptool... ERROR setuptools/command/install_scripts.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.install_scripts', '/home/tkloczko/rpmbuild/BUILDROOT/python-s... ERROR setuptools/command/py36compat.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.py36compat', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-... ERROR setuptools/command/register.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.register', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5... ERROR setuptools/command/rotate.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.rotate', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2... ERROR setuptools/command/saveopts.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.saveopts', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5... ERROR setuptools/command/sdist.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.sdist', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.f... ERROR setuptools/command/setopt.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.setopt', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2... ERROR setuptools/command/test.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.test', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc3... ERROR setuptools/command/upload.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.upload', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2... ERROR setuptools/command/upload_docs.py - _pytest.pathlib.ImportPathMismatchError: ('setuptools.command.upload_docs', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptool... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 47 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ====================================================================== 2 skipped, 47 errors in 4.05s ======================================================================= ```
kloczek commented 2 years ago

tested as well pytest execution with --import-mode=importlib and result is the same. FYI some details about patches which I'm using

abravalheri commented 2 years ago

Hi @kloczek, I welcome you to post doubts and problems specific to the patch in the discussion of the PR itself: #3015. I will post my comments and recommendations for you there :)

webknjaz commented 2 years ago

@kloczek

E _pytest.pathlib.ImportPathMismatchError: ('setuptools.config', '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-60.5.4-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools/config.py', PosixPath('/home/tkloczko/rpmbuild/BUILD/setuptools-60.5.4/setuptools/config.py'))

This is a typical misconfiguration of the directory layout on your side. Caused by having two locations with copies of setuptools on PYTHONPATH.

kloczek commented 2 years ago

As https://github.com/pypa/setuptools/pull/3015 has been closed and because this ticket still is opened my undestanding is that solution of the "test as installed" issue still is on ToDo list. Am I right? 🤔

Thank you 😄

kloczek commented 2 years ago

I think that I know where ios the main issue with testing setuptools "as installed".

[tkloczko@devel-g2v setuptools-61.1.0]$ grep -r setuptools.tests setuptools
setuptools/tests/server.py:        # The index files should be located in setuptools/tests/indexes
setuptools/tests/server.py:        return 'http://127.0.0.1:%s/setuptools/tests/indexes/' % port
setuptools/tests/test_depends.py:        mod_name = 'setuptools.tests.mod_with_constant'
setuptools/tests/test_depends.py:        assert 'setuptools.tests.mod_with_constant' not in sys.modules
setuptools/tests/test_easy_install.py:from setuptools.tests.server import MockServer, path_to_url
setuptools/tests/test_easy_install.py:from setuptools.tests import fail_on_ascii
setuptools/tests/test_manifest.py:from setuptools.tests.textwrap import DALS
setuptools/tests/test_sdist.py:from setuptools.tests import fail_on_ascii
setuptools/tests/test_setuptools.py:        f, p, i = dep.find_module('setuptools.tests')
setuptools/tests/test_setuptools.py:            'setuptools.tests.test_setuptools', '__doc__') == __doc__
setuptools/tests/test_setuptools.py:        from setuptools.tests import __path__
setuptools/tests/test_setuptools.py:        setuptools.convert_path('setuptools/tests')

Everywhere where is used setuptools.tests.foo it causes that exactly that path needs to be used.

I think that best would be move setuptools/tests/ to /tests and conftest.py to tests/conftest.py and everthing should be adjusted for those new locations of those files. This would allow to stop installing setuptools provate test suite.

kloczek commented 2 years ago

This is a typical misconfiguration of the directory layout on your side. Caused by having two locations with copies of setuptools on PYTHONPATH.

This is as well typical mathgodology of testing modules usinn pytest used for example in Fedora. Everywhere it works exacept setuptoos. Basing on that (it works in most of the cases .. not that it works in Fedora) I would not call that "misconfiguration". I'm using that methodology even on bigger scale than Fedora uses

[tkloczko@devel-g2v SPECS]$ grep ^%pytest *|wc -l
756
[tkloczko@devel-g2v SPECS.fedora]$ grep ^%pytest *|wc -l
610

and trust me .. ItWorks™️ Here is ehat in my case that %pytest macro does:

\

CFLAGS="-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none";
CXXFLAGS="-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none";
FFLAGS="-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules";
FCFLAGS="-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules";
LDFLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1";
CC="/usr/bin/gcc"; CXX="/usr/bin/g++"; FC="/usr/bin/gfortran";
AR="/usr/bin/gcc-ar"; NM="/usr/bin/gcc-nm"; RANLIB="/usr/bin/gcc-ranlib";
export CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS CC CXX FC AR NM RANLIB;
 \
        PATH=/home/tkloczko/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64/usr/bin:$PATH \
        LD_LIBRARY_PATH=/home/tkloczko/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64/usr/lib64 \
        PYTHONDONTWRITEBYTECODE=1 \
        SETUPTOOLS_SCM_PRETEND_VERSION=%{version} \
        PYTHONPATH=${PYTHONPATH:-/home/tkloczko/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64/usr/lib/python3.8/site-packages} \
         \
        /usr/bin/pytest -ra

Above is only extended to use it in more cases than originally it was designed. Core metchodology is the same.

jaraco commented 2 years ago

solution of the "test as installed" issue still is on ToDo list. Am I right?

Aspirationally, yes, although I would caveat: it's still desirable for a developer to be able to rapidly develop on the project. That is, test as authored for fast iteration and subsequently, perhaps in CI, test as installed. I believe I have a branch or PR in place that does attempt to test as installed but it fails due to the packaging mismatch (tests are located in the package under test but aren't installed).

I think that best would be move setuptools/tests/ to /tests and conftest.py to tests/conftest.py and everthing should be adjusted for those new locations of those files.

I think it's more complicated than that. Setuptools specifically presents two packages (setuptools and pkg_resources) each of which has their own test suite. I haven't checked, but I suspect that if you fix the issue of the setuptools test suite by moving it to ./tests, you'll have the same problem with pkg_resources and then you'll need to do something similar, but ./tests is already taken. I'm okay with taking the incremental step of moving setuptools' tests to ./tests and leave pkg_resources to contain its own tests until such a time that it can be moved to its own project or retired.

kloczek commented 2 years ago

Move pkg_resources is part of the https://github.com/pypa/setuptools/issues/863. That module is used by many more projects. Some time ago I've started adding notes to my rpm spec files about such dependenceas (below it is not complete list)

[tkloczko@devel-g2v SPECS]$ grep pkg_resources *
botan2.spec:# NOTE: build needs pkg_resources
clang.spec:# NOTE: build needs pkg_resources module
cmake.spec:# NOTE: build needs pkg_resources
dnf-plugins-core.spec:# NOTE: build needs pkg_resources module
dnf.spec:# NOTE: build needs pkg_resources module
imath.spec:# NOTE: pkg_resources is used during build
libcomps.spec:# NOTE: build uses pkg_resources module
python-importlib-metadata.spec:name. This functionality intends to replace most uses of pkg_resources entry
python-importlib-metadata.spec:eliminate the need to use the older and less efficient pkg_resources package.
python-lingua.spec:# NOTE: test suite uses pkg_resources module
python-pytest-console-scripts.spec:# NOTE: setuptools is added ac CR because it requires pkg_resources which is part of the setuptools
python-setuptools.spec:execute the software that requires pkg_resources.
python-setuptools.spec:execute the software that requires pkg_resources.
python-setuptools.spec:cat pkg_resources/_vendor/vendored.txt setuptools/_vendor/vendored.txt > allvendor.txt
python-setuptools.spec:%{python3_sitelib}/pkg_resources
python-setuptools.spec:%exclude %{python3_sitelib}/{setuptools,pkg_resources}/tests
serd.spec:# NOTE: build uses pkg_resources
z3.spec:# NOTE: build needs pkg_resources

In other woirds this issues needs to be resolved somehow completly independentry from setuptools teste suite.

kloczek commented 2 years ago

As Ive reported in https://github.com/pypa/setuptools/issues/3362 looks like now is possible to run pytest with below patch

--- a/pytest.ini~       2022-06-11 11:09:46.000000000 +0000
+++ b/pytest.ini        2022-06-12 01:15:20.396239151 +0000
@@ -1,4 +1,5 @@
 [pytest]
+testpaths = setuptools/tests
 norecursedirs=dist build .tox .eggs
 addopts=
        --doctest-modules
kloczek commented 2 years ago

Just retested latest 62.4.0 with above patch and there are some failing units. Here is pytest output:

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-62.4.0-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -p no:randomly ==================================================================== test session starts ===================================================================== platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0 rootdir: /home/tkloczko/rpmbuild/BUILD/setuptools-62.4.0, configfile: pytest.ini, testpaths: setuptools/tests plugins: forked-1.4.0, shutil-1.7.0, cov-3.0.0, virtualenv-1.7.0, flake8-1.1.1, xdist-2.5.0, checkdocs-2.7.1, timeout-2.1.0 collected 877 items / 2 skipped setuptools/tests/test_archive_util.py X [ 0%] setuptools/tests/test_bdist_deprecations.py F [ 0%] setuptools/tests/test_bdist_egg.py .x [ 0%] setuptools/tests/test_build.py .. [ 0%] setuptools/tests/test_build_clib.py . [ 0%] setuptools/tests/test_build_ext.py ...F [ 1%] setuptools/tests/test_build_meta.py ..................................F........................................F.........................FFFFFFF.FFF.. [ 14%] ....FFFFFF.......................................F.............. [ 21%] setuptools/tests/test_build_py.py ....x [ 22%] setuptools/tests/test_config_discovery.py ...........FFFFFFFFF...........................................................F [ 31%] setuptools/tests/test_dep_util.py . [ 31%] setuptools/tests/test_depends.py . [ 31%] setuptools/tests/test_develop.py s....F [ 32%] setuptools/tests/test_dist.py F.FFFFFxFFFxFFFFFFFFFFFFFFF.....F.....FFFFFFFFFFFFFFFFFFF [ 38%] setuptools/tests/test_dist_info.py .............................FFFFFF [ 42%] setuptools/tests/test_distutils_adoption.py EEEE.EEEEEEEE [ 44%] setuptools/tests/test_easy_install.py .F...FFF......FF.F..FFFFFFFFFFFFFFFFFFFF..........F [ 49%] setuptools/tests/test_editable_install.py Ex [ 50%] setuptools/tests/test_egg_info.py .........................x............................................... [ 58%] setuptools/tests/test_extern.py ... [ 58%] setuptools/tests/test_find_packages.py ................... [ 61%] setuptools/tests/test_find_py_modules.py ......... [ 62%] setuptools/tests/test_glob.py .... [ 62%] setuptools/tests/test_install_scripts.py .s.s [ 62%] setuptools/tests/test_integration.py sssss [ 63%] setuptools/tests/test_logging.py .. [ 63%] setuptools/tests/test_manifest.py ................................................................... [ 71%] setuptools/tests/test_msvc14.py ssss [ 71%] setuptools/tests/test_namespaces.py FFFF [ 72%] setuptools/tests/test_packageindex.py ...................F [ 74%] setuptools/tests/test_register.py . [ 74%] setuptools/tests/test_sandbox.py .......... [ 75%] setuptools/tests/test_sdist.py ................. [ 77%] setuptools/tests/test_setopt.py .. [ 77%] setuptools/tests/test_setuptools.py ..................EE.E. [ 80%] setuptools/tests/test_test.py . [ 80%] setuptools/tests/test_unicode_utils.py . [ 80%] setuptools/tests/test_upload.py . [ 80%] setuptools/tests/test_virtualenv.py EExEEExEE [ 81%] setuptools/tests/test_wheel.py .....FFFFFFFFFFFFFFFF..F [ 84%] setuptools/tests/test_windows_wrappers.py sss [ 85%] setuptools/tests/config/test_apply_pyprojecttoml.py FFFFFFFFFFFFFFFFFFF................EE [ 89%] setuptools/tests/config/test_expand.py .................. [ 91%] setuptools/tests/config/test_pyprojecttoml.py ....................... [ 93%] setuptools/tests/config/test_setupcfg.py .F.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF. [ 99%] setuptools/tests/integration/test_pip_install_sdist.py EEEEEEEE [100%] [..] ================================================================== short test summary info =================================================================== SKIPPED [2] setuptools/tests/test_msvc.py:17: could not import 'distutils.msvc9compiler': No module named 'winreg' SKIPPED [1] setuptools/tests/test_develop.py:66: TODO: needs a fixture to cause 'develop' to be invoked without mutating environment. SKIPPED [1] setuptools/tests/test_install_scripts.py:50: Windows only SKIPPED [1] setuptools/tests/test_install_scripts.py:78: Windows only SKIPPED [5] setuptools/tests/test_integration.py:31: Integration tests cannot run when pbr is installed SKIPPED [1] setuptools/tests/test_msvc14.py:16: These tests are only for win32 SKIPPED [1] setuptools/tests/test_msvc14.py:34: These tests are only for win32 SKIPPED [1] setuptools/tests/test_msvc14.py:52: These tests are only for win32 SKIPPED [1] setuptools/tests/test_msvc14.py:68: These tests are only for win32 SKIPPED [1] setuptools/tests/test_windows_wrappers.py:80: Windows only SKIPPED [1] setuptools/tests/test_windows_wrappers.py:121: Windows only SKIPPED [1] setuptools/tests/test_windows_wrappers.py:180: Windows only XFAIL setuptools/tests/test_bdist_egg.py::Test::test_exclude_source_files Byte code disabled XFAIL setuptools/tests/test_build_py.py::test_excluded_subpackages reason: #3260 XFAIL setuptools/tests/test_dist.py::test_read_metadata[Metadata Version 1.2: Project-Url-attrs5] Issue #1578: project_urls not read XFAIL setuptools/tests/test_dist.py::test_read_metadata[Metadata Version 2.1: Provides Extra-attrs9] provides_extras not read XFAIL setuptools/tests/test_editable_install.py::test_editable_with_pyproject[None] Editable install is currently only supported with `setup.py` XFAIL setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[extras_require_with_marker_in_setup_cfg] XFAIL setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[pip<20] pypa/pip#6599 XFAIL setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[https://github.com/pypa/pip/archive/main.zip] #2975 XPASS setuptools/tests/test_archive_util.py::test_unicode_files #710 and #712 ERROR setuptools/tests/test_distutils_adoption.py::test_distutils_stdlib - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build', '--w... ERROR setuptools/tests/test_distutils_adoption.py::test_distutils_local_with_setuptools - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m'... ERROR setuptools/tests/test_distutils_adoption.py::test_distutils_local - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build', '--wh... ERROR setuptools/tests/test_distutils_adoption.py::test_pip_import - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build', '--wheel',... ERROR setuptools/tests/test_distutils_adoption.py::test_modules_are_not_duplicated_on_import[stdlib-dir_util] - subprocess.CalledProcessError: Command '['/... ERROR setuptools/tests/test_distutils_adoption.py::test_modules_are_not_duplicated_on_import[stdlib-file_util] - subprocess.CalledProcessError: Command '['... ERROR setuptools/tests/test_distutils_adoption.py::test_modules_are_not_duplicated_on_import[stdlib-archive_util] - subprocess.CalledProcessError: Command ... ERROR setuptools/tests/test_distutils_adoption.py::test_modules_are_not_duplicated_on_import[local-dir_util] - subprocess.CalledProcessError: Command '['/u... ERROR setuptools/tests/test_distutils_adoption.py::test_modules_are_not_duplicated_on_import[local-file_util] - subprocess.CalledProcessError: Command '['/... ERROR setuptools/tests/test_distutils_adoption.py::test_modules_are_not_duplicated_on_import[local-archive_util] - subprocess.CalledProcessError: Command '... ERROR setuptools/tests/test_distutils_adoption.py::test_log_module_is_not_duplicated_on_import[local] - subprocess.CalledProcessError: Command '['/usr/bin/... ERROR setuptools/tests/test_distutils_adoption.py::test_log_module_is_not_duplicated_on_import[stdlib] - subprocess.CalledProcessError: Command '['/usr/bin... ERROR setuptools/tests/test_editable_install.py::test_editable_with_pyproject[__import__('setuptools').setup()] - subprocess.CalledProcessError: Command '[... ERROR setuptools/tests/test_setuptools.py::test_findall - ModuleNotFoundError: No module named 'py._builtin' ERROR setuptools/tests/test_setuptools.py::test_findall_curdir - ModuleNotFoundError: No module named 'py._builtin' ERROR setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', '... ERROR setuptools/tests/test_virtualenv.py::test_clean_env_install - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build', '--wheel', ... ERROR setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[None] - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build',... ERROR setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[pip<20.1] - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'bui... ERROR setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[pip<21] - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build... ERROR setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[pip<22] - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build... ERROR setuptools/tests/test_virtualenv.py::test_test_command_install_requirements - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'bui... ERROR setuptools/tests/test_virtualenv.py::test_no_missing_dependencies - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'build', '--wh... ERROR setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist - subprocess.CalledProcessError: Command '['/usr/bin/python... ERROR setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel - subprocess.CalledProcessError: Command '['/usr/bin/py... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[pandas-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/pyth... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[sphinx-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/pyth... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[pip-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/python3... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[pytest-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/pyth... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[mypy-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/python... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[botocore-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/py... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[kiwisolver-1.3.2] - subprocess.CalledProcessError: Command '['/usr/bin/pyt... ERROR setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist[brotli-v.LATEST] - subprocess.CalledProcessError: Command '['/usr/bin/pyth... FAILED setuptools/tests/test_bdist_deprecations.py::test_bdist_rpm_warning - TypeError: issubclass() arg 1 must be a class FAILED setuptools/tests/test_build_ext.py::test_build_ext_config_handling - AssertionError: FAILED setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_prepare_metadata_for_build_wheel[build_backend5] - SystemExit: error: invalid comman... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_dont_install_setup_requires - SystemExit: error: invalid command 'bdist_wheel' FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_wheel[build_backend0] - SystemExit: usage: setup.py [global_opts] cmd1 [... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_wheel[build_backend1] - SystemExit: usage: setup.py [global_opts] cmd1 [... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_wheel[build_backend2] - SystemExit: usage: setup.py [global_opts] cmd1 [... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_wheel[build_backend3] - SystemExit: usage: setup.py [global_opts] cmd1 [... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_wheel[build_backend4] - SystemExit: usage: setup.py [global_opts] cmd1 [... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_wheel[build_backend5] - SystemExit: usage: setup.py [global_opts] cmd1 [... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_with_existing_file_present[wheel] - SystemExit: usage: setup.py [global_... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_with_pyproject_config[None] - SystemExit: usage: setup.py [global_opts] ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_build_with_pyproject_config[__import__('setuptools').setup()] - SystemExit: us... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_static_metadata_in_pyproject_config - SystemExit: usage: setup.py [global_opts... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_prepare_metadata_for_build_wheel[build_backend0] - SystemExit: error: invalid ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_prepare_metadata_for_build_wheel[build_backend1] - SystemExit: error: invalid ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_prepare_metadata_for_build_wheel[build_backend2] - SystemExit: error: invalid ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_prepare_metadata_for_build_wheel[build_backend3] - SystemExit: error: invalid ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_prepare_metadata_for_build_wheel[build_backend4] - SystemExit: error: invalid ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_prepare_metadata_for_build_wheel[build_backend5] - SystemExit: error: invalid ... FAILED setuptools/tests/test_build_meta.py::TestBuildMetaLegacyBackend::test_dont_install_setup_requires - SystemExit: error: invalid command 'bdist_wheel' FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[explicit-src] - subprocess.CalledProcessError: Command '['... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[variation-lib] - subprocess.CalledProcessError: Command '[... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[explicit-flat] - subprocess.CalledProcessError: Command '[... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[explicit-single_module] - subprocess.CalledProcessError: C... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[explicit-namespace] - subprocess.CalledProcessError: Comma... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[automatic-src] - subprocess.CalledProcessError: Command '[... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[automatic-flat] - subprocess.CalledProcessError: Command '... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[automatic-single_module] - subprocess.CalledProcessError: ... FAILED setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_project[automatic-namespace] - subprocess.CalledProcessError: Comm... FAILED setuptools/tests/test_config_discovery.py::test_compatible_with_numpy_configuration - LookupError: setuptools-scm was unable to detect version for /... FAILED setuptools/tests/test_develop.py::TestNamespaces::test_editable_prefix - subprocess.CalledProcessError: Command '[PosixPath('/tmp/pytest-of-tkloczko... FAILED setuptools/tests/test_dist.py::test_dist_fetch_build_egg - DeprecationWarning: Creating a LegacyVersion has been deprecated and will be removed in t... FAILED setuptools/tests/test_dist.py::test_read_metadata[Metadata version 1.0-attrs0] - LookupError: setuptools-scm was unable to detect version for /home/... FAILED setuptools/tests/test_dist.py::test_read_metadata[Metadata Version 1.0: Short long description-attrs1] - LookupError: setuptools-scm was unable to d... FAILED setuptools/tests/test_dist.py::test_read_metadata[Metadata version 1.1: Classifiers-attrs2] - LookupError: setuptools-scm was unable to detect versi... FAILED setuptools/tests/test_dist.py::test_read_metadata[Metadata version 1.1: Download URL-attrs3] - LookupError: setuptools-scm was unable to detect vers... FAILED setuptools/tests/test_dist.py::test_read_metadata[Metadata Version 1.2: Requires-Python-attrs4] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_read_metadata[Metadata Version 2.1: Long Description Content Type-attrs6] - LookupError: setuptools-scm was unab... FAILED setuptools/tests/test_dist.py::test_read_metadata[License-attrs7] - LookupError: setuptools-scm was unable to detect version for /home/tkloczko/rpmb... FAILED setuptools/tests/test_dist.py::test_read_metadata[License multiline-attrs8] - LookupError: setuptools-scm was unable to detect version for /home/tkl... FAILED setuptools/tests/test_dist.py::test_read_metadata[Missing author-attrs10] - LookupError: setuptools-scm was unable to detect version for /home/tkloc... FAILED setuptools/tests/test_dist.py::test_read_metadata[Missing author e-mail-attrs11] - LookupError: setuptools-scm was unable to detect version for /hom... FAILED setuptools/tests/test_dist.py::test_read_metadata[Missing author and e-mail-attrs12] - LookupError: setuptools-scm was unable to detect version for ... FAILED setuptools/tests/test_dist.py::test_read_metadata[Bypass normalized version-attrs13] - LookupError: setuptools-scm was unable to detect version for ... FAILED setuptools/tests/test_dist.py::test_maintainer_author[No author, no maintainer-attrs0] - LookupError: setuptools-scm was unable to detect version fo... FAILED setuptools/tests/test_dist.py::test_maintainer_author[Author (no e-mail), no maintainer-attrs1] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_maintainer_author[Author (e-mail), no maintainer-attrs2] - LookupError: setuptools-scm was unable to detect vers... FAILED setuptools/tests/test_dist.py::test_maintainer_author[No author, maintainer (no e-mail)-attrs3] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_maintainer_author[No author, maintainer (e-mail)-attrs4] - LookupError: setuptools-scm was unable to detect vers... FAILED setuptools/tests/test_dist.py::test_maintainer_author[Author (no e-mail), Maintainer (no-email)-attrs5] - LookupError: setuptools-scm was unable to ... FAILED setuptools/tests/test_dist.py::test_maintainer_author[Author (e-mail), Maintainer (e-mail)-attrs6] - LookupError: setuptools-scm was unable to detec... FAILED setuptools/tests/test_dist.py::test_maintainer_author[No author (e-mail), no maintainer (e-mail)-attrs7] - LookupError: setuptools-scm was unable to... FAILED setuptools/tests/test_dist.py::test_maintainer_author[Author unicode-attrs8] - LookupError: setuptools-scm was unable to detect version for /home/tk... FAILED setuptools/tests/test_dist.py::test_maintainer_author[Maintainer unicode-attrs9] - LookupError: setuptools-scm was unable to detect version for /hom... FAILED setuptools/tests/test_dist.py::test_provides_extras_deterministic_order - LookupError: setuptools-scm was unable to detect version for /home/tkloczk... FAILED setuptools/tests/test_dist.py::test_check_specifier - LookupError: setuptools-scm was unable to detect version for /home/tkloczko/rpmbuild/BUILD/set... FAILED setuptools/tests/test_dist.py::test_metadata_name - LookupError: setuptools-scm was unable to detect version for /home/tkloczko/rpmbuild/BUILD/setup... FAILED setuptools/tests/test_dist.py::test_dist_default_py_modules[my.pkg-my_pkg] - LookupError: setuptools-scm was unable to detect version for /home/tklo... FAILED setuptools/tests/test_dist.py::test_dist_default_py_modules[my-pkg-my_pkg] - LookupError: setuptools-scm was unable to detect version for /home/tklo... FAILED setuptools/tests/test_dist.py::test_dist_default_py_modules[my_pkg-my_pkg] - LookupError: setuptools-scm was unable to detect version for /home/tklo... FAILED setuptools/tests/test_dist.py::test_dist_default_py_modules[pkg-pkg] - LookupError: setuptools-scm was unable to detect version for /home/tkloczko/r... FAILED setuptools/tests/test_dist.py::test_dist_default_packages[my.pkg-None-package_files0-packages0] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_dist_default_packages[my-pkg-None-package_files1-packages1] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_dist_default_packages[my_pkg-None-package_files2-packages2] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_dist_default_packages[my.pkg-None-package_files3-packages3] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_dist_default_packages[my_pkg-None-package_files4-packages4] - LookupError: setuptools-scm was unable to detect v... FAILED setuptools/tests/test_dist.py::test_dist_default_packages[my_pkg-package_dir5-package_files5-packages5] - LookupError: setuptools-scm was unable to ... FAILED setuptools/tests/test_dist.py::test_dist_default_name[my.pkg.nested-None-package_files0] - LookupError: setuptools-scm was unable to detect version ... FAILED setuptools/tests/test_dist.py::test_dist_default_name[my.pkg-None-package_files1] - LookupError: setuptools-scm was unable to detect version for /ho... FAILED setuptools/tests/test_dist.py::test_dist_default_name[my_pkg-None-package_files2] - LookupError: setuptools-scm was unable to detect version for /ho... FAILED setuptools/tests/test_dist.py::test_dist_default_name[my_pkg-None-package_files3] - LookupError: setuptools-scm was unable to detect version for /ho... FAILED setuptools/tests/test_dist.py::test_dist_default_name[my_pkg-None-package_files4] - LookupError: setuptools-scm was unable to detect version for /ho... FAILED setuptools/tests/test_dist.py::test_dist_default_name[my_pkg-package_dir5-package_files5] - LookupError: setuptools-scm was unable to detect version... FAILED setuptools/tests/test_dist.py::test_dist_default_name[UNKNOWN-None-package_files6] - LookupError: setuptools-scm was unable to detect version for /h... FAILED setuptools/tests/test_dist.py::test_dist_default_name[UNKNOWN-None-package_files7] - LookupError: setuptools-scm was unable to detect version for /h... FAILED setuptools/tests/test_dist_info.py::TestWheelCompatibility::test_dist_info_is_the_same_as_in_wheel[a1-[egg_info]\ntag_build = .a1\n-0.42.13-my.proj] FAILED setuptools/tests/test_dist_info.py::TestWheelCompatibility::test_dist_info_is_the_same_as_in_wheel[a1-[egg_info]\ntag_build = .a1\n-0.42.13-My.Proj] FAILED setuptools/tests/test_dist_info.py::TestWheelCompatibility::test_dist_info_is_the_same_as_in_wheel[+local-[egg_info]\ntag_build = +local\n-0.42.13-my-proj] FAILED setuptools/tests/test_dist_info.py::TestWheelCompatibility::test_dist_info_is_the_same_as_in_wheel[+local-[egg_info]\ntag_build = +local\n-0.42.13-my_proj] FAILED setuptools/tests/test_dist_info.py::TestWheelCompatibility::test_dist_info_is_the_same_as_in_wheel[+local-[egg_info]\ntag_build = +local\n-0.42.13-my.proj] FAILED setuptools/tests/test_dist_info.py::TestWheelCompatibility::test_dist_info_is_the_same_as_in_wheel[+local-[egg_info]\ntag_build = +local\n-0.42.13-My.Proj] FAILED setuptools/tests/test_easy_install.py::TestEasyInstallTest::test_no_find_links - DeprecationWarning: Creating a LegacyVersion has been deprecated an... FAILED setuptools/tests/test_easy_install.py::TestEasyInstallTest::test_unicode_filename_in_sdist - DeprecationWarning: Creating a LegacyVersion has been d... FAILED setuptools/tests/test_easy_install.py::TestEasyInstallTest::test_unicode_content_in_sdist - DeprecationWarning: Creating a LegacyVersion has been de... FAILED setuptools/tests/test_easy_install.py::TestEasyInstallTest::test_script_install - DeprecationWarning: Creating a LegacyVersion has been deprecated a... FAILED setuptools/tests/test_easy_install.py::TestUserInstallTest::test_user_install_not_implied_user_site_enabled - DeprecationWarning: Creating a LegacyV... FAILED setuptools/tests/test_easy_install.py::TestUserInstallTest::test_user_install_not_implied_user_site_disabled - DeprecationWarning: Creating a Legacy... FAILED setuptools/tests/test_easy_install.py::TestUserInstallTest::test_local_index - DeprecationWarning: Creating a LegacyVersion has been deprecated and ... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_honors_fetch_params - AssertionError: assert [] == ['/does-not-exist/'] FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_overrides_version_conflict[use_setup_cfg0] - DeprecationWarning: Creat... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_overrides_version_conflict[use_setup_cfg1] - DeprecationWarning: Creat... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_overrides_version_conflict[use_setup_cfg2] - DeprecationWarning: Creat... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_overrides_version_conflict[use_setup_cfg3] - DeprecationWarning: Creat... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_override_nspkg[use_setup_cfg0] - DeprecationWarning: Creating a Legacy... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_override_nspkg[use_setup_cfg1] - DeprecationWarning: Creating a Legacy... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_override_nspkg[use_setup_cfg2] - DeprecationWarning: Creating a Legacy... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_override_nspkg[use_setup_cfg3] - DeprecationWarning: Creating a Legacy... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_attr_version[use_setup_cfg0] - DeprecationWarning: Creating a Leg... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_attr_version[use_setup_cfg1] - DeprecationWarning: Creating a Leg... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_attr_version[use_setup_cfg2] - DeprecationWarning: Creating a Leg... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_attr_version[use_setup_cfg3] - DeprecationWarning: Creating a Leg... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_honors_pip_env - DeprecationWarning: Creating a LegacyVersion has been... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_pep508_url - DeprecationWarning: Creating a LegacyVersion has bee... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts - DeprecationWarning: Creating a LegacyVersion has be... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_python_requires - DeprecationWarning: Creating a LegacyVersion ha... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_find_links_in_setup_cfg[False] - DeprecationWarning: Creating a L... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_find_links_in_setup_cfg[True] - DeprecationWarning: Creating a Le... FAILED setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency - SystemExit: error: invalid command ... FAILED setuptools/tests/test_easy_install.py::test_editable_user_and_build_isolation - DeprecationWarning: Creating a LegacyVersion has been deprecated and... FAILED setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m... FAILED setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import - subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', ... FAILED setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd - subprocess.CalledProcessError: Command '['/usr/bin/p... FAILED setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd - subprocess.CalledProcessError: Command ... FAILED setuptools/tests/test_packageindex.py::TestPyPIConfig::test_percent_in_password - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/test_wheel.py::test_wheel_install[basic] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_wh... FAILED setuptools/tests/test_wheel.py::test_wheel_install[utf-8] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_wh... FAILED setuptools/tests/test_wheel.py::test_wheel_install[data] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_whe... FAILED setuptools/tests/test_wheel.py::test_wheel_install[extension] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdis... FAILED setuptools/tests/test_wheel.py::test_wheel_install[header] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_w... FAILED setuptools/tests/test_wheel.py::test_wheel_install[script] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_w... FAILED setuptools/tests/test_wheel.py::test_wheel_install[requires1] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdis... FAILED setuptools/tests/test_wheel.py::test_wheel_install[requires2] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdis... FAILED setuptools/tests/test_wheel.py::test_wheel_install[requires3] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdis... FAILED setuptools/tests/test_wheel.py::test_wheel_install[requires4] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdis... FAILED setuptools/tests/test_wheel.py::test_wheel_install[requires5] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdis... FAILED setuptools/tests/test_wheel.py::test_wheel_install[requires_ensure_order] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py',... FAILED setuptools/tests/test_wheel.py::test_wheel_install[namespace_package] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q... FAILED setuptools/tests/test_wheel.py::test_wheel_install[empty_namespace_package] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py... FAILED setuptools/tests/test_wheel.py::test_wheel_install[data_in_package] - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q',... FAILED setuptools/tests/test_wheel.py::test_wheel_install_pep_503 - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_w... FAILED setuptools/tests/test_wheel.py::test_wheel_mode - subprocess.CalledProcessError: Command '('/usr/bin/python3', 'setup.py', '-q', 'bdist_wheel')' ret... FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pypa/setuptools/raw/52c990172fec37766b3566679724aa8bf70ae06d/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pypa/wheel/raw/0acd203cd896afec7f715aa2ff5980a403459a3b/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/python/importlib_metadata/raw/2f05392ca980952a6960d82b2f2d2ea10aa53239/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/jaraco/skeleton/raw/d9008b5c510cd6969127a6a2ab6f832edddef296/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/jaraco/zipp/raw/700d3a96390e970b6b962823bfea78b4f7e1c537/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pallets/jinja/raw/7d72eb7fefb7dce065193967f31f805180508448/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/tkem/cachetools/raw/2fd87a94b8d3861d80e9e4236cd480bfdd21c90d/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/aio-libs/aiohttp/raw/5e0e6b7080f2408d5f1dd544c0e1cf88378b7b10/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pallets/flask/raw/9486b6cf57bd6a8a261f67091aca8ca78eeec1e3/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pallets/click/raw/6411f425fae545f42795665af4162006b36c5e4a/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/sqlalchemy/sqlalchemy/raw/533f5718904b620be8d63f2474229945d6f8ba5d/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pytest-dev/pluggy/raw/461ef63291d13589c4e21aa182cd1529257e9a0a/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pytest-dev/pytest/raw/c7be96dae487edbd2f55b561b31b68afac1dabe6/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/tqdm/tqdm/raw/fc69d5dcf578f7c7986fa76841a6b793f813df35/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/platformdirs/platformdirs/raw/7b7852128dd6f07511b618d6edea35046bd0c6ff/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pandas-dev/pandas/raw/bc17343f934a33dc231c8c74be95d8365537c376/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/django/django/raw/4e249d11a6e56ca8feb4b055b681cec457ef3a3d/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pyscaffold/pyscaffold/raw/de7aa5dc059fbd04307419c667cc4961bc9df4b8/setup.cfg] FAILED setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg[https://github.com/pypa/virtualenv/raw/f92eda6e3da26a4d28c2663ffb85c4960bdb990c/setup.cfg] FAILED setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_basic - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_license_cfg - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_file_mixed - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_file_sandboxed - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_aliases - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_multiline - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_dict - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_version - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_version_file - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_version_with_package_dir_simple - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_version_with_package_dir_rename - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_version_with_package_dir_complex - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_unknown_meta_item - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_usupported_section - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_classifiers - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_deprecated_config_handlers - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_interpolation - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_non_ascii_1 - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_non_ascii_3 - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_non_ascii_4 - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_not_utf8 - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_warn_dash_deprecation - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestMetadata::test_make_option_lowercase - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_basic - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_multiline - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_package_dir_fail - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_package_data - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_packages - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_find_directive - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_find_namespace_directive - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_extras_require - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_dash_preserved_extras_require - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_entry_points - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_case_sensitive_entry_points - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_data_files - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_data_files_globby - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_python_requires_simple - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_python_requires_compound - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_python_requires_invalid - ModuleNotFoundError: No module named 'py._builtin' FAILED setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass - ModuleNotFoundError: No module named 'py._builtin' ================================== 193 failed, 627 passed, 17 skipped, 8 xfailed, 1 xpassed, 33 errors in 830.38s (0:13:50) ================================== ```

Full log in attachment python-setuptools-pytest_full_log.txt

Second thing is that there is second batch of test units in pkg_resources/tests and here situation is much worse because everything fails on collectiong units however my understanding is that pkg_resources is on some trajectory to be removed from setuptools so probably that part is less important.

kloczek commented 2 years ago

Nevertheless good thing is that currently it is possible to pass at least collecting units 😃

kloczek commented 2 years ago

Just tested 64.0.0 and looks like setuptools.tests is no longer installed (which is fine because test suite should not be installed) however pytest is now completly useless and no longer is working my hack with passing pytest testpaths.

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools-64.0.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -p no:randomly setuptools/tests
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 746, in import_plugin
    __import__(importspec)
ModuleNotFoundError: No module named 'setuptools.tests'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/pytest", line 8, in <module>
    sys.exit(console_main())
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 187, in console_main
    code = main()
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 145, in main
    config = _prepareconfig(args, plugins)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 324, in _prepareconfig
    config = pluginmanager.hook.pytest_cmdline_parse(
  File "/usr/lib/python3.8/site-packages/pluggy/_hooks.py", line 265, in __call__
    return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
  File "/usr/lib/python3.8/site-packages/pluggy/_manager.py", line 80, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/lib/python3.8/site-packages/pluggy/_callers.py", line 55, in _multicall
    gen.send(outcome)
  File "/usr/lib/python3.8/site-packages/_pytest/helpconfig.py", line 102, in pytest_cmdline_parse
    config: Config = outcome.get_result()
  File "/usr/lib/python3.8/site-packages/pluggy/_result.py", line 60, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/usr/lib/python3.8/site-packages/pluggy/_callers.py", line 39, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1016, in pytest_cmdline_parse
    self.parse(args)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1304, in parse
    self._preparse(args, addopts=addopts)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1206, in _preparse
    self.hook.pytest_load_initial_conftests(
  File "/usr/lib/python3.8/site-packages/pluggy/_hooks.py", line 265, in __call__
    return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
  File "/usr/lib/python3.8/site-packages/pluggy/_manager.py", line 80, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/lib/python3.8/site-packages/pluggy/_callers.py", line 60, in _multicall
    return outcome.get_result()
  File "/usr/lib/python3.8/site-packages/pluggy/_result.py", line 60, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/usr/lib/python3.8/site-packages/pluggy/_callers.py", line 39, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1083, in pytest_load_initial_conftests
    self.pluginmanager._set_initial_conftests(
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 529, in _set_initial_conftests
    self._try_load_conftest(anchor, namespace.importmode, rootpath)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 546, in _try_load_conftest
    self._getconftestmodules(anchor, importmode, rootpath)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 575, in _getconftestmodules
    mod = self._importconftest(conftestpath, importmode, rootpath)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 623, in _importconftest
    self.consider_conftest(mod)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 704, in consider_conftest
    self.register(conftestmodule, name=conftestmodule.__file__)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 470, in register
    self.consider_module(plugin)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 712, in consider_module
    self._import_plugin_specs(getattr(mod, "pytest_plugins", []))
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 719, in _import_plugin_specs
    self.import_plugin(import_spec)
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 748, in import_plugin
    raise ImportError(
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 746, in import_plugin
    __import__(importspec)
ImportError: Error importing plugin "setuptools.tests.fixtures": No module named 'setuptools.tests'