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.