Your message dated Sun, 15 Jan 2023 00:07:53 +0000
with message-id <e1pgqyz-0076ql...@fasolo.debian.org>
and subject line Bug#1027606: fixed in python-resolvelib 0.9.0-2
has caused the Debian Bug report #1027606,
regarding python-resolvelib: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p "3.11 3.10" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1027606: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027606
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Source: python-resolvelib
Source-Version: 0.9.0-2
Done: Scott Kitterman <sc...@kitterman.com>

We believe that the bug you reported is fixed in the latest version of
python-resolvelib, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1027...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Scott Kitterman <sc...@kitterman.com> (supplier of updated python-resolvelib 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 14 Jan 2023 18:26:42 -0500
Source: python-resolvelib
Architecture: source
Version: 0.9.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Scott Kitterman <sc...@kitterman.com>
Closes: 1027606
Changes:
 python-resolvelib (0.9.0-2) unstable; urgency=medium
 .
   * Add d/patch/fix_tests.patch to remediate inappropriate test failures
     caused by changes in python-packaging (Closes: #1027606)
   * Add hint-testsuite-triggers to d/tests/control so that if
     python3-packaging is updated, python-resolvelib autopkgtest will be
     triggered
   * Bump standards-version to 4.6.2 without further change
Checksums-Sha1:
 f009970cfd9d085d2edacb3c182a768d6fd8e5ed 2241 python-resolvelib_0.9.0-2.dsc
 1bda9799959d5d554f469d743afdc2780208cd7f 4464 
python-resolvelib_0.9.0-2.debian.tar.xz
 0064525ff825ffa9c0a257eb8adcaf8be22d51f2 6880 
python-resolvelib_0.9.0-2_source.buildinfo
Checksums-Sha256:
 5df430240c2a25d3dfadd790afb5d7384a1c8dbd2fbcf7093565b1700f3bae49 2241 
python-resolvelib_0.9.0-2.dsc
 6899e3d87de4cf8f73113bd7e0fd4b29b7f49430cbc7aea0b6eff531d21a68ea 4464 
python-resolvelib_0.9.0-2.debian.tar.xz
 680a64788ee68cf78d2b7e4d83681ba6040a80e8ab20f37fa30d5b5b4bd97e64 6880 
python-resolvelib_0.9.0-2_source.buildinfo
Files:
 02a24185b56dfe1acf927895208e6d89 2241 python optional 
python-resolvelib_0.9.0-2.dsc
 145e4ad9d26048735696851fbc70a7f1 4464 python optional 
python-resolvelib_0.9.0-2.debian.tar.xz
 5566b38fb92ad0411e55124d6906167e 6880 python optional 
python-resolvelib_0.9.0-2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE53Kb/76FQA/u7iOxeNfe+5rVmvEFAmPDPGkACgkQeNfe+5rV
mvEbrA/6AxhbANy9loMPcQGsKxL1HZQMpG5WhX0bfRCY0pAJdv+l3c6X6ZSdUm+y
K2Au+KuUc+wPxHbqzwinrGUbDnkhgkibDgwxcInHATohXyp7yAlTiRE7RjgTwWdG
C9zjkjCRAkWdLbOoPdTxiSckudTpvMvLjMOPDAELn2KainPuAh6NQlT6h0dJGtMK
tjpIlKfDfhFSHiiSZy690XJln58D3T4FizSIt/vLTeUbRLiUz8s4yHRmyVhWfuUy
X3m9leE49++jQUTZFTQwq/8O7XgSiib/ZVry0Jvje6Ve7lev12ioPgejaenvXSc3
ap5syfkuoM7QyxkGNPdEO7aD9dwVDsgFwa/5LYjM31Lsk/vuzF1HhHL4u/CBVo5C
FHNCevO00Ip52z9+S25iQftE2+sdxa1Aldi6B1O1Hel7BJ0sp2JTaMuIPnCYPvLl
cEDHWForVjPhGVogE/nZiMkc+tKOH+euQzLlt394IOxzcwLgIxZ/itH1244uF+08
HCLVv8iYL8RE/BIlJs/CINkaEyLD+WLET3WtTTiwdfwtTBO/ae+NzmUTFFQrwXdz
XvY+fGD5eIFzDcxwiYUrE2ADI970NC5DE2ez3SlERTaf6arAw329Me5w5KR2PM+m
41NPigIYNlvJx1jg+Hzt+un/t30bKU50mw3t4w40TmFNI6fmw3I=
=8DBx
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to