Source: python-resolvelib
Version: 0.9.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230101 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:107: Building wheel for python3.11 with "build" 
> module
> I: pybuild base:240: python3.11 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_resolvelib 
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/resolvelib
> copying src/resolvelib/__init__.py -> build/lib/resolvelib
> copying src/resolvelib/resolvers.py -> build/lib/resolvelib
> copying src/resolvelib/reporters.py -> build/lib/resolvelib
> copying src/resolvelib/structs.py -> build/lib/resolvelib
> copying src/resolvelib/providers.py -> build/lib/resolvelib
> creating build/lib/resolvelib/compat
> copying src/resolvelib/compat/__init__.py -> build/lib/resolvelib/compat
> copying src/resolvelib/compat/collections_abc.py -> 
> build/lib/resolvelib/compat
> running egg_info
> creating src/resolvelib.egg-info
> writing src/resolvelib.egg-info/PKG-INFO
> writing dependency_links to src/resolvelib.egg-info/dependency_links.txt
> writing requirements to src/resolvelib.egg-info/requires.txt
> writing top-level names to src/resolvelib.egg-info/top_level.txt
> writing manifest file 'src/resolvelib.egg-info/SOURCES.txt'
> reading manifest file 'src/resolvelib.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'src/resolvelib.egg-info/SOURCES.txt'
> copying src/resolvelib/__init__.pyi -> build/lib/resolvelib
> copying src/resolvelib/providers.pyi -> build/lib/resolvelib
> copying src/resolvelib/py.typed -> build/lib/resolvelib
> copying src/resolvelib/reporters.pyi -> build/lib/resolvelib
> copying src/resolvelib/resolvers.pyi -> build/lib/resolvelib
> copying src/resolvelib/structs.pyi -> build/lib/resolvelib
> copying src/resolvelib/compat/collections_abc.pyi -> 
> build/lib/resolvelib/compat
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/__init__.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/resolvers.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> creating build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/compat/__init__.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/compat/collections_abc.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/compat/collections_abc.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/py.typed -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/structs.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/reporters.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/providers.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/resolvers.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/reporters.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/structs.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/providers.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/__init__.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> running install_egg_info
> Copying src/resolvelib.egg-info to 
> build/bdist.linux-x86_64/wheel/resolvelib-0.9.0.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/resolvelib-0.9.0.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_resolvelib/.tmp-l3nb_s2t/resolvelib-0.9.0-py2.py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'resolvelib/__init__.py'
> adding 'resolvelib/__init__.pyi'
> adding 'resolvelib/providers.py'
> adding 'resolvelib/providers.pyi'
> adding 'resolvelib/py.typed'
> adding 'resolvelib/reporters.py'
> adding 'resolvelib/reporters.pyi'
> adding 'resolvelib/resolvers.py'
> adding 'resolvelib/resolvers.pyi'
> adding 'resolvelib/structs.py'
> adding 'resolvelib/structs.pyi'
> adding 'resolvelib/compat/__init__.py'
> adding 'resolvelib/compat/collections_abc.py'
> adding 'resolvelib/compat/collections_abc.pyi'
> adding 'resolvelib-0.9.0.dist-info/LICENSE'
> adding 'resolvelib-0.9.0.dist-info/METADATA'
> adding 'resolvelib-0.9.0.dist-info/WHEEL'
> adding 'resolvelib-0.9.0.dist-info/top_level.txt'
> adding 'resolvelib-0.9.0.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built resolvelib-0.9.0-py2.py3-none-any.whl
> I: pybuild plugin_pyproject:119: Unpacking wheel built for python3.11 with 
> "installer" module
> I: pybuild plugin_pyproject:107: Building wheel for python3.10 with "build" 
> module
> I: pybuild base:240: python3.10 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_resolvelib 
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> running egg_info
> writing src/resolvelib.egg-info/PKG-INFO
> writing dependency_links to src/resolvelib.egg-info/dependency_links.txt
> writing requirements to src/resolvelib.egg-info/requires.txt
> writing top-level names to src/resolvelib.egg-info/top_level.txt
> reading manifest file 'src/resolvelib.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'src/resolvelib.egg-info/SOURCES.txt'
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/__init__.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/resolvers.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> creating build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/compat/__init__.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/compat/collections_abc.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/compat/collections_abc.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib/compat
> copying build/lib/resolvelib/py.typed -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/structs.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/reporters.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/providers.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/resolvers.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/reporters.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/structs.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/providers.py -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> copying build/lib/resolvelib/__init__.pyi -> 
> build/bdist.linux-x86_64/wheel/resolvelib
> running install_egg_info
> Copying src/resolvelib.egg-info to 
> build/bdist.linux-x86_64/wheel/resolvelib-0.9.0.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/resolvelib-0.9.0.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_resolvelib/.tmp-jiurszmw/resolvelib-0.9.0-py2.py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'resolvelib/__init__.py'
> adding 'resolvelib/__init__.pyi'
> adding 'resolvelib/providers.py'
> adding 'resolvelib/providers.pyi'
> adding 'resolvelib/py.typed'
> adding 'resolvelib/reporters.py'
> adding 'resolvelib/reporters.pyi'
> adding 'resolvelib/resolvers.py'
> adding 'resolvelib/resolvers.pyi'
> adding 'resolvelib/structs.py'
> adding 'resolvelib/structs.pyi'
> adding 'resolvelib/compat/__init__.py'
> adding 'resolvelib/compat/collections_abc.py'
> adding 'resolvelib/compat/collections_abc.pyi'
> adding 'resolvelib-0.9.0.dist-info/LICENSE'
> adding 'resolvelib-0.9.0.dist-info/METADATA'
> adding 'resolvelib-0.9.0.dist-info/WHEEL'
> adding 'resolvelib-0.9.0.dist-info/top_level.txt'
> adding 'resolvelib-0.9.0.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built resolvelib-0.9.0-py2.py3-none-any.whl
> I: pybuild plugin_pyproject:119: Unpacking wheel built for python3.10 with 
> "installer" module
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_resolvelib/build; python3.11 -m 
> pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>
> collected 49 items
> 
> tests/test_resolvers.py .....                                            [ 
> 10%]
> tests/test_structs.py .......                                            [ 
> 24%]
> tests/functional/cocoapods/test_resolvers_cocoapods.py ....xx....F.FFF.F [ 
> 59%]
> ....F...                                                                 [ 
> 75%]
> tests/functional/python/test_resolvers_python.py .x......                [ 
> 91%]
> tests/functional/swift-package-manager/test_resolvers_swift.py ....      
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ____________ test_resolver[shared_parent_dependency_with_swapping] 
> _____________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fc5b73b38d0>
> reporter = <conftest.TestReporter object at 0x7fc5b73f8550>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fc5b6d53ed0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='avro_turf', ver=<Version('0.6.2')>, 
> deps=[Requirement(name='avro', spec=<SpecifierSet('<1.9,>=1.7.7')>), 
> Requirement(name='excon', spec=<SpecifierSet('>=0.45.4,~=0.45.4')>)])
> _____________________ test_resolver[deep_complex_conflict] 
> _____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fc5b6dc8a10>
> reporter = <conftest.TestReporter object at 0x7fc5b6d846d0>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fc5b6c441d0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='capybara', ver=<Version('2.2.1')>, 
> deps=[Requirement(name='nokogiri', spec=<SpecifierSet('>=1.3.3')>), 
> Requirement(name='mime-types', spec=<SpecifierSet('>=1.16')>), 
> Requirement(name='rack', spec=<SpecifierSet('>=1.0.0')>), 
> Requirement(name='rack-test', spec=<SpecifierSet('>=0.5.4')>), 
> Requirement(name='xpath', spec=<SpecifierSet('>=2.0,~=2.0')>)])
>  Pin  Candidate(name='xpath', ver=<Version('2.0.0')>, 
> deps=[Requirement(name='nokogiri', spec=<SpecifierSet('>=1.3,~=1.3')>)])
>   Pin  Candidate(name='rack-test', ver=<Version('0.6.3')>, 
> deps=[Requirement(name='rack', spec=<SpecifierSet('>=1.0')>)])
>    Pin  Candidate(name='mime-types', ver=<Version('2.4.3')>, deps=[])
>     Pin  Candidate(name='nokogiri', ver=<Version('1.6.6')>, 
> deps=[Requirement(name='mini_portile', 
> spec=<SpecifierSet('>=0.6.0,~=0.6.0')>)])
>      Pin  Candidate(name='mini_portile', ver=<Version('0.6.2')>, deps=[])
>       Pin  Candidate(name='rack', ver=<Version('1.6.0')>, deps=[])
>        Pin  Candidate(name='rails', ver=<Version('3.2.21')>, 
> deps=[Requirement(name='bundler', spec=<SpecifierSet('>=1.0,~=1.0')>), 
> Requirement(name='railties', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='actionmailer', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='activeresource', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='activerecord', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='actionpack', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='activesupport', spec=<SpecifierSet('==3.2.21')>)])
> ___________________ test_resolver[pruned_unresolved_orphan] 
> ____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fc5b6d7b7d0>
> reporter = <conftest.TestReporter object at 0x7fc5b7140f90>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fc5b6630050>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='mail', ver=<Version('2.6.3')>, 
> deps=[Requirement(name='mime-types', spec=<SpecifierSet('<3,>=1.16')>)])
> ___________________ test_resolver[shared_parent_dependency] 
> ____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fc5b6d84490>
> reporter = <conftest.TestReporter object at 0x7fc5b6521310>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:372: in resolve
>     self._add_to_criteria(self.state.criteria, r, parent=None)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fc5b65206d0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ____________________ test_resolver[conflict_common_parent] 
> _____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fc5b6320e50>
> reporter = <conftest.TestReporter object at 0x7fc5b6520950>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fc5b6f74b90>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ____________________ test_resolver[spapping_and_rewinding] 
> _____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fc5b6d0c610>
> reporter = <conftest.TestReporter object at 0x7fc5b706b990>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fc5b6224310>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='ruby', ver=<Version('1.9.3.551')>, deps=[])
> =========================== short test summary info 
> ============================
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency_with_swapping]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[deep_complex_conflict]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[pruned_unresolved_orphan]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[conflict_common_parent]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[spapping_and_rewinding]
> =================== 6 failed, 40 passed, 3 xfailed in 7.53s 
> ====================
> E: pybuild pybuild:388: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_resolvelib/build; python3.11 -m 
> pytest tests
> I: pybuild base:240: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_resolvelib/build; python3.10 -m 
> pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.10.9, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>
> collected 49 items
> 
> tests/test_resolvers.py .....                                            [ 
> 10%]
> tests/test_structs.py .......                                            [ 
> 24%]
> tests/functional/cocoapods/test_resolvers_cocoapods.py ....xx....F.FFF.F [ 
> 59%]
> ....F...                                                                 [ 
> 75%]
> tests/functional/python/test_resolvers_python.py .x......                [ 
> 91%]
> tests/functional/swift-package-manager/test_resolvers_swift.py ....      
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ____________ test_resolver[shared_parent_dependency_with_swapping] 
> _____________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fe93a0c3af0>
> reporter = <conftest.TestReporter object at 0x7fe93a0c3010>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fe939e8ccd0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='avro_turf', ver=<Version('0.6.2')>, 
> deps=[Requirement(name='avro', spec=<SpecifierSet('<1.9,>=1.7.7')>), 
> Requirement(name='excon', spec=<SpecifierSet('>=0.45.4,~=0.45.4')>)])
> _____________________ test_resolver[deep_complex_conflict] 
> _____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fe939edf670>
> reporter = <conftest.TestReporter object at 0x7fe939edfc10>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fe9398c9c30>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='capybara', ver=<Version('2.2.1')>, 
> deps=[Requirement(name='nokogiri', spec=<SpecifierSet('>=1.3.3')>), 
> Requirement(name='mime-types', spec=<SpecifierSet('>=1.16')>), 
> Requirement(name='rack', spec=<SpecifierSet('>=1.0.0')>), 
> Requirement(name='rack-test', spec=<SpecifierSet('>=0.5.4')>), 
> Requirement(name='xpath', spec=<SpecifierSet('>=2.0,~=2.0')>)])
>  Pin  Candidate(name='xpath', ver=<Version('2.0.0')>, 
> deps=[Requirement(name='nokogiri', spec=<SpecifierSet('>=1.3,~=1.3')>)])
>   Pin  Candidate(name='rack-test', ver=<Version('0.6.3')>, 
> deps=[Requirement(name='rack', spec=<SpecifierSet('>=1.0')>)])
>    Pin  Candidate(name='mime-types', ver=<Version('2.4.3')>, deps=[])
>     Pin  Candidate(name='nokogiri', ver=<Version('1.6.6')>, 
> deps=[Requirement(name='mini_portile', 
> spec=<SpecifierSet('>=0.6.0,~=0.6.0')>)])
>      Pin  Candidate(name='mini_portile', ver=<Version('0.6.2')>, deps=[])
>       Pin  Candidate(name='rack', ver=<Version('1.6.0')>, deps=[])
>        Pin  Candidate(name='rails', ver=<Version('3.2.21')>, 
> deps=[Requirement(name='bundler', spec=<SpecifierSet('>=1.0,~=1.0')>), 
> Requirement(name='railties', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='actionmailer', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='activeresource', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='activerecord', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='actionpack', spec=<SpecifierSet('==3.2.21')>), 
> Requirement(name='activesupport', spec=<SpecifierSet('==3.2.21')>)])
> ___________________ test_resolver[pruned_unresolved_orphan] 
> ____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fe939911750>
> reporter = <conftest.TestReporter object at 0x7fe9399116f0>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fe9399105b0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='mail', ver=<Version('2.6.3')>, 
> deps=[Requirement(name='mime-types', spec=<SpecifierSet('<3,>=1.16')>)])
> ___________________ test_resolver[shared_parent_dependency] 
> ____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fe939f38280>
> reporter = <conftest.TestReporter object at 0x7fe939f38d60>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:372: in resolve
>     self._add_to_criteria(self.state.criteria, r, parent=None)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fe939f3a0b0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ____________________ test_resolver[conflict_common_parent] 
> _____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fe939f35ff0>
> reporter = <conftest.TestReporter object at 0x7fe939f35ae0>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fe938de3eb0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ____________________ test_resolver[spapping_and_rewinding] 
> _____________________
> 
> provider = <test_resolvers_cocoapods.CocoaPodsInputProvider object at 
> 0x7fe938df9840>
> reporter = <conftest.TestReporter object at 0x7fe938df9660>
> 
>     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: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> resolvelib/resolvers.py:521: in resolve
>     state = resolution.resolve(requirements, max_rounds=max_rounds)
> resolvelib/resolvers.py:402: in resolve
>     failure_causes = self._attempt_to_pin_criterion(name)
> resolvelib/resolvers.py:238: in _attempt_to_pin_criterion
>     criteria = self._get_updated_criteria(candidate)
> resolvelib/resolvers.py:229: in _get_updated_criteria
>     self._add_to_criteria(criteria, requirement, parent=candidate)
> resolvelib/resolvers.py:168: in _add_to_criteria
>     candidates=build_iter_view(matches),
> 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/dist-packages/packaging/version.py:52: in parse
>     return Version(version)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <[AttributeError("'Version' object has no attribute '_version'") 
> raised in repr()] Version object at 0x7fe938e006a0>
> 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/dist-packages/packaging/version.py:197: InvalidVersion
> ----------------------------- Captured stdout call 
> -----------------------------
> Pin  Candidate(name='ruby', ver=<Version('1.9.3.551')>, deps=[])
> =========================== short test summary info 
> ============================
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency_with_swapping]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[deep_complex_conflict]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[pruned_unresolved_orphan]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[conflict_common_parent]
> FAILED 
> tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[spapping_and_rewinding]
> =================== 6 failed, 40 passed, 3 xfailed in 7.35s 
> ====================
> E: pybuild pybuild:388: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_resolvelib/build; python3.10 -m 
> pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.11 
> 3.10" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/01/01/python-resolvelib_0.9.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230101;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230101&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to