sarugaku / resolvelib

Resolve abstract dependencies into concrete ones
ISC License
138 stars 31 forks source link

0.9.0: pytest is failing in 6 units #123

Closed kloczek closed 1 year ago

kloczek commented 1 year ago

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

Here is pytest output:

```console + PBR_VERSION=0.9.0 + PDM_PEP517_SCM_VERSION=0.9.0 + SETUPTOOLS_SCM_PRETEND_VERSION=0.9.0 + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.16, pytest-7.2.2, pluggy-1.0.0 rootdir: /home/tkloczko/rpmbuild/BUILD/resolvelib-0.9.0 collected 49 items tests/test_resolvers.py ..... [ 10%] tests/test_structs.py ....... [ 24%] tests/functional/cocoapods/test_resolvers_cocoapods.py x...F..F.x..F.FF....F.... [ 75%] tests/functional/python/test_resolvers_python.py ....x... [ 91%] tests/functional/swift-package-manager/test_resolvers_swift.py .... [100%] ========================================================================================= FAILURES ========================================================================================== ___________________________________________________________________________ test_resolver[conflict_common_parent] ___________________________________________________________________________ provider = , reporter = def test_resolver(provider, reporter): resolver = Resolver(provider, reporter) if provider.expected_conflicts: with pytest.raises(ResolutionImpossible) as ctx: result = resolver.resolve(provider.root_requirements) print(_format_resolution(result)) # Provide some debugging hints. assert _format_conflicts(ctx.value) == provider.expected_conflicts else: > result = resolver.resolve(provider.root_requirements) tests/functional/cocoapods/test_resolvers_cocoapods.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:521: in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:402: in resolve failure_causes = self._attempt_to_pin_criterion(name) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:238: in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:229: in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:168: in _add_to_criteria candidates=build_iter_view(matches), ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/structs.py:169: in build_iter_view matches = list(matches) tests/functional/cocoapods/test_resolvers_cocoapods.py:139: in find_matches candidates = sorted( tests/functional/cocoapods/test_resolvers_cocoapods.py:124: in _iter_matches version = packaging.version.parse(entry["version"]) /usr/lib/python3.8/site-packages/packaging/version.py:52: in parse return Version(version) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'Version' object has no attribute '_version'") raised in repr()] Version object at 0x7fa383932460>, version = '5.0.0-beta1.1' def __init__(self, version: str) -> None: """Initialize a Version object. :param version: The string representation of a version which will be parsed and normalized before use. :raises InvalidVersion: If the ``version`` does not conform to PEP 440 in any way then this exception will be raised. """ # Validate the version and parse it into pieces match = self._regex.search(version) if not match: > raise InvalidVersion(f"Invalid version: '{version}'") E packaging.version.InvalidVersion: Invalid version: '5.0.0-beta1.1' /usr/lib/python3.8/site-packages/packaging/version.py:197: InvalidVersion ___________________________________________________________________________ test_resolver[deep_complex_conflict] ____________________________________________________________________________ provider = , reporter = def test_resolver(provider, reporter): resolver = Resolver(provider, reporter) if provider.expected_conflicts: with pytest.raises(ResolutionImpossible) as ctx: result = resolver.resolve(provider.root_requirements) print(_format_resolution(result)) # Provide some debugging hints. assert _format_conflicts(ctx.value) == provider.expected_conflicts else: > result = resolver.resolve(provider.root_requirements) tests/functional/cocoapods/test_resolvers_cocoapods.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:521: in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:402: in resolve failure_causes = self._attempt_to_pin_criterion(name) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:238: in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:229: in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:168: in _add_to_criteria candidates=build_iter_view(matches), ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/structs.py:169: in build_iter_view matches = list(matches) tests/functional/cocoapods/test_resolvers_cocoapods.py:139: in find_matches candidates = sorted( tests/functional/cocoapods/test_resolvers_cocoapods.py:124: in _iter_matches version = packaging.version.parse(entry["version"]) /usr/lib/python3.8/site-packages/packaging/version.py:52: in parse return Version(version) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'Version' object has no attribute '_version'") raised in repr()] Version object at 0x7fa383f206a0>, version = '4.0.0-preview2.1' def __init__(self, version: str) -> None: """Initialize a Version object. :param version: The string representation of a version which will be parsed and normalized before use. :raises InvalidVersion: If the ``version`` does not conform to PEP 440 in any way then this exception will be raised. """ # Validate the version and parse it into pieces match = self._regex.search(version) if not match: > raise InvalidVersion(f"Invalid version: '{version}'") E packaging.version.InvalidVersion: Invalid version: '4.0.0-preview2.1' /usr/lib/python3.8/site-packages/packaging/version.py:197: InvalidVersion ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Pin Candidate(name='capybara', ver=, deps=[Requirement(name='nokogiri', spec==1.3.3')>), Requirement(name='mime-types', spec==1.16')>), Requirement(name='rack', spec==1.0.0')>), Requirement(name='rack-test', spec==0.5.4')>), Requirement(name='xpath', spec==2.0,~=2.0')>)]) Pin Candidate(name='xpath', ver=, deps=[Requirement(name='nokogiri', spec==1.3,~=1.3')>)]) Pin Candidate(name='rack-test', ver=, deps=[Requirement(name='rack', spec==1.0')>)]) Pin Candidate(name='mime-types', ver=, deps=[]) Pin Candidate(name='nokogiri', ver=, deps=[Requirement(name='mini_portile', spec==0.6.0,~=0.6.0')>)]) Pin Candidate(name='mini_portile', ver=, deps=[]) Pin Candidate(name='rack', ver=, deps=[]) Pin Candidate(name='rails', ver=, deps=[Requirement(name='bundler', spec==1.0,~=1.0')>), Requirement(name='railties', spec=), Requirement(name='actionmailer', spec=), Requirement(name='activeresource', spec=), Requirement(name='activerecord', spec=), Requirement(name='actionpack', spec=), Requirement(name='activesupport', spec=)]) __________________________________________________________________________ test_resolver[pruned_unresolved_orphan] __________________________________________________________________________ provider = , reporter = def test_resolver(provider, reporter): resolver = Resolver(provider, reporter) if provider.expected_conflicts: with pytest.raises(ResolutionImpossible) as ctx: result = resolver.resolve(provider.root_requirements) print(_format_resolution(result)) # Provide some debugging hints. assert _format_conflicts(ctx.value) == provider.expected_conflicts else: > result = resolver.resolve(provider.root_requirements) tests/functional/cocoapods/test_resolvers_cocoapods.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:521: in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:402: in resolve failure_causes = self._attempt_to_pin_criterion(name) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:238: in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:229: in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:168: in _add_to_criteria candidates=build_iter_view(matches), ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/structs.py:169: in build_iter_view matches = list(matches) tests/functional/cocoapods/test_resolvers_cocoapods.py:139: in find_matches candidates = sorted( tests/functional/cocoapods/test_resolvers_cocoapods.py:124: in _iter_matches version = packaging.version.parse(entry["version"]) /usr/lib/python3.8/site-packages/packaging/version.py:52: in parse return Version(version) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'Version' object has no attribute '_version'") raised in repr()] Version object at 0x7fa383dcd5e0>, version = '0.18.0-gh.de28323' def __init__(self, version: str) -> None: """Initialize a Version object. :param version: The string representation of a version which will be parsed and normalized before use. :raises InvalidVersion: If the ``version`` does not conform to PEP 440 in any way then this exception will be raised. """ # Validate the version and parse it into pieces match = self._regex.search(version) if not match: > raise InvalidVersion(f"Invalid version: '{version}'") E packaging.version.InvalidVersion: Invalid version: '0.18.0-gh.de28323' /usr/lib/python3.8/site-packages/packaging/version.py:197: InvalidVersion ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Pin Candidate(name='mail', ver=, deps=[Requirement(name='mime-types', spec==1.16')>)]) __________________________________________________________________________ test_resolver[shared_parent_dependency] __________________________________________________________________________ provider = , reporter = def test_resolver(provider, reporter): resolver = Resolver(provider, reporter) if provider.expected_conflicts: with pytest.raises(ResolutionImpossible) as ctx: result = resolver.resolve(provider.root_requirements) print(_format_resolution(result)) # Provide some debugging hints. assert _format_conflicts(ctx.value) == provider.expected_conflicts else: > result = resolver.resolve(provider.root_requirements) tests/functional/cocoapods/test_resolvers_cocoapods.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:521: in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:372: in resolve self._add_to_criteria(self.state.criteria, r, parent=None) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:168: in _add_to_criteria candidates=build_iter_view(matches), ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/structs.py:169: in build_iter_view matches = list(matches) tests/functional/cocoapods/test_resolvers_cocoapods.py:139: in find_matches candidates = sorted( tests/functional/cocoapods/test_resolvers_cocoapods.py:124: in _iter_matches version = packaging.version.parse(entry["version"]) /usr/lib/python3.8/site-packages/packaging/version.py:52: in parse return Version(version) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'Version' object has no attribute '_version'") raised in repr()] Version object at 0x7fa3835bda00>, version = '0.10.0-qs.0' def __init__(self, version: str) -> None: """Initialize a Version object. :param version: The string representation of a version which will be parsed and normalized before use. :raises InvalidVersion: If the ``version`` does not conform to PEP 440 in any way then this exception will be raised. """ # Validate the version and parse it into pieces match = self._regex.search(version) if not match: > raise InvalidVersion(f"Invalid version: '{version}'") E packaging.version.InvalidVersion: Invalid version: '0.10.0-qs.0' /usr/lib/python3.8/site-packages/packaging/version.py:197: InvalidVersion ___________________________________________________________________ test_resolver[shared_parent_dependency_with_swapping] ___________________________________________________________________ provider = , reporter = def test_resolver(provider, reporter): resolver = Resolver(provider, reporter) if provider.expected_conflicts: with pytest.raises(ResolutionImpossible) as ctx: result = resolver.resolve(provider.root_requirements) print(_format_resolution(result)) # Provide some debugging hints. assert _format_conflicts(ctx.value) == provider.expected_conflicts else: > result = resolver.resolve(provider.root_requirements) tests/functional/cocoapods/test_resolvers_cocoapods.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:521: in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:402: in resolve failure_causes = self._attempt_to_pin_criterion(name) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:238: in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:229: in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:168: in _add_to_criteria candidates=build_iter_view(matches), ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/structs.py:169: in build_iter_view matches = list(matches) tests/functional/cocoapods/test_resolvers_cocoapods.py:139: in find_matches candidates = sorted( tests/functional/cocoapods/test_resolvers_cocoapods.py:124: in _iter_matches version = packaging.version.parse(entry["version"]) /usr/lib/python3.8/site-packages/packaging/version.py:52: in parse return Version(version) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'Version' object has no attribute '_version'") raised in repr()] Version object at 0x7fa383dcc070>, version = '0.3.6-pre.f7e3358' def __init__(self, version: str) -> None: """Initialize a Version object. :param version: The string representation of a version which will be parsed and normalized before use. :raises InvalidVersion: If the ``version`` does not conform to PEP 440 in any way then this exception will be raised. """ # Validate the version and parse it into pieces match = self._regex.search(version) if not match: > raise InvalidVersion(f"Invalid version: '{version}'") E packaging.version.InvalidVersion: Invalid version: '0.3.6-pre.f7e3358' /usr/lib/python3.8/site-packages/packaging/version.py:197: InvalidVersion ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Pin Candidate(name='avro_turf', ver=, deps=[Requirement(name='avro', spec==1.7.7')>), Requirement(name='excon', spec==0.45.4,~=0.45.4')>)]) ___________________________________________________________________________ test_resolver[spapping_and_rewinding] ___________________________________________________________________________ provider = , reporter = def test_resolver(provider, reporter): resolver = Resolver(provider, reporter) if provider.expected_conflicts: with pytest.raises(ResolutionImpossible) as ctx: result = resolver.resolve(provider.root_requirements) print(_format_resolution(result)) # Provide some debugging hints. assert _format_conflicts(ctx.value) == provider.expected_conflicts else: > result = resolver.resolve(provider.root_requirements) tests/functional/cocoapods/test_resolvers_cocoapods.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:521: in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:402: in resolve failure_causes = self._attempt_to_pin_criterion(name) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:238: in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:229: in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/resolvers.py:168: in _add_to_criteria candidates=build_iter_view(matches), ../../BUILDROOT/python-resolvelib-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/resolvelib/structs.py:169: in build_iter_view matches = list(matches) tests/functional/cocoapods/test_resolvers_cocoapods.py:139: in find_matches candidates = sorted( tests/functional/cocoapods/test_resolvers_cocoapods.py:124: in _iter_matches version = packaging.version.parse(entry["version"]) /usr/lib/python3.8/site-packages/packaging/version.py:52: in parse return Version(version) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'Version' object has no attribute '_version'") raised in repr()] Version object at 0x7fa383f20d90>, version = '2.0.0.pre.develop.2' def __init__(self, version: str) -> None: """Initialize a Version object. :param version: The string representation of a version which will be parsed and normalized before use. :raises InvalidVersion: If the ``version`` does not conform to PEP 440 in any way then this exception will be raised. """ # Validate the version and parse it into pieces match = self._regex.search(version) if not match: > raise InvalidVersion(f"Invalid version: '{version}'") E packaging.version.InvalidVersion: Invalid version: '2.0.0.pre.develop.2' /usr/lib/python3.8/site-packages/packaging/version.py:197: InvalidVersion ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Pin Candidate(name='ruby', ver=, deps=[]) ================================================================================== short test summary info ================================================================================== XFAIL tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[circular] - circular dependencies works for us, no conflicts XFAIL tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[fixed_circular] - circular dependencies works for us, no backtracks XFAIL tests/functional/python/test_resolvers_python.py::test_resolver[pyrex-1.9.8] - Too many rounds (>500) FAILED tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[conflict_common_parent] - packaging.version.InvalidVersion: Invalid version: '5.0.0-beta1.1' FAILED tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[deep_complex_conflict] - packaging.version.InvalidVersion: Invalid version: '4.0.0-preview2.1' FAILED tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[pruned_unresolved_orphan] - packaging.version.InvalidVersion: Invalid version: '0.18.0-gh.de28323' FAILED tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency] - packaging.version.InvalidVersion: Invalid version: '0.10.0-qs.0' FAILED tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency_with_swapping] - packaging.version.InvalidVersion: Invalid version: '0.3.6-pre.f7e3358' FAILED tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[spapping_and_rewinding] - packaging.version.InvalidVersion: Invalid version: '2.0.0.pre.develop.2' ========================================================================== 6 failed, 40 passed, 3 xfailed in 9.67s ========================================================================== ```

Here is list of installed modules in build env

```console Package Version ----------------------------- ----------------- alabaster 0.7.13 attrs 22.2.0 Babel 2.12.1 build 0.9.0 charset-normalizer 3.0.1 commentjson 0.9.0 distro 1.8.0 docutils 0.19 exceptiongroup 1.0.0 gpg 1.18.0-unknown idna 3.4 imagesize 1.4.1 importlib-metadata 6.0.0 iniconfig 2.0.0 Jinja2 3.1.2 lark 1.1.5 libcomps 0.1.19 MarkupSafe 2.1.2 packaging 23.0 pep517 0.13.0 pip 22.3.1 pluggy 1.0.0 Pygments 2.14.0 pytest 7.2.2 python-dateutil 2.8.2 pytz 2022.4 requests 2.28.2 rpm 4.17.0 setuptools 65.6.3 six 1.16.0 snowballstemmer 2.2.0 Sphinx 6.1.3 sphinxcontrib-applehelp 1.0.4 sphinxcontrib-devhelp 1.0.2.dev20230202 sphinxcontrib-htmlhelp 2.0.0 sphinxcontrib-jsmath 1.0.1.dev20230128 sphinxcontrib-qthelp 1.0.3.dev20230128 sphinxcontrib-serializinghtml 1.1.5 tomli 2.0.1 urllib3 1.26.12 wheel 0.38.4 zipp 3.15.0 ```
uranusjr commented 1 year ago

114

kloczek commented 1 year ago

114

Are you sure that this ticket has somerhing to do with this one? 🤔

pfmoore commented 1 year ago

Yes. Your bug report states that you have packaging 23.0 installed.