[1m[32m==>[m[1m Building on minun[m
[1m[32m==>[m[1m Checking for remote environment...[m
[1m[32m==>[m[1m Syncing package to remote host...[m
sending incremental file list
./
.SRCINFO
700 86% 0.00kB/s 0:00:00
807 100% 104.49kB/s 0:00:00 (xfr#1, to-chk=7/9)
.nvchecker.toml
86 100% 83.98kB/s 0:00:00
86 100% 83.98kB/s 0:00:00 (xfr#2, to-chk=6/9)
LICENSE
646 100% 630.86kB/s 0:00:00
646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9)
PKGBUILD
700 53% 683.59kB/s 0:00:00
1,311 100% 1.25MB/s 0:00:00 (xfr#4, to-chk=4/9)
REUSE.toml
375 100% 366.21kB/s 0:00:00
375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9)
python-resolvelib-1.2.1-2.log
570 100% 556.64kB/s 0:00:00
570 100% 556.64kB/s 0:00:00 (xfr#6, to-chk=2/9)
LICENSES/
sent 790 bytes received 198 bytes 658.67 bytes/sec
total size is 3,427 speedup is 3.47
[1m[32m==>[m[1m Running pkgctl build --arch riscv64 on remote host...[m
[1m[33m==> WARNING:[m[1m invalid architecture: riscv64[m
[1m[32m==>[m[1m Updating pacman database cache[m
[?25l:: Synchronizing package databases...
core downloading...
extra downloading...
multilib downloading...
[?25h[1m[32m==>[m[1m Building python-resolvelib[m
[1m[34m ->[m[1m repo: extra[m
[1m[34m ->[m[1m arch: riscv64[m
[1m[34m ->[m[1m worker: felix-2[m
[1m[32m==>[m[1m Building python-resolvelib for [extra] (riscv64)[m
[1m[32m==>[m[1m Locking clean chroot...[m[1mdone[m
]3008;start=6ba88e8854da4cbf966ff2b1bb753b91;user=root;hostname=minun.felixc.at;machineid=0ffe3ef7ad56462790c2861f2a747f6b;bootid=32d9c4b537a24816afcaf7574fd06933;pid=311653;pidfdid=21278912;comm=systemd-nspawn;container=arch-nspawn-311653;type=container\]11;?\[22;2t]2;🔵 Container arch-nspawn-311653 on minun.felixc.at\:: Synchronizing package databases...
core downloading...
extra downloading...
:: Starting full system upgrade...
there is nothing to do
[23;2t[!p]104[?7h[1G[0J]3008;end=6ba88e8854da4cbf966ff2b1bb753b91\[1m[32m==>[m[1m Building in chroot for [extra] (riscv64)...[m
[1m[32m==>[m[1m Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-2]...[m[1mdone[m
[1m[32m==>[m[1m Making package: python-resolvelib 1.2.1-2 (Tue Jan 27 07:06:12 2026)[m
[1m[32m==>[m[1m Retrieving sources...[m
[1m[34m ->[m[1m Found resolvelib-1.2.1.tar.gz[m
[1m[32m==>[m[1m Validating source files with sha512sums...[m
resolvelib-1.2.1.tar.gz ... Passed
[1m[32m==>[m[1m Validating source files with b2sums...[m
resolvelib-1.2.1.tar.gz ... Passed
]3008;start=b8bebb51985e4c21a6031951bd94babe;user=root;hostname=minun.felixc.at;machineid=0ffe3ef7ad56462790c2861f2a747f6b;bootid=32d9c4b537a24816afcaf7574fd06933;pid=313661;pidfdid=21280920;comm=systemd-nspawn;container=arch-nspawn-313661;type=container\]11;?\[22;2t]2;🔵 Container arch-nspawn-313661 on minun.felixc.at\==> Making package: python-resolvelib 1.2.1-2 (Tue Jan 27 06:06:24 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (2) New Version Net Change
core/mpdecimal 4.0.1-1 0.31 MiB
core/python 3.14.2-2 132.78 MiB
Total Installed Size: 133.09 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing mpdecimal...
installing python...
Optional dependencies for python
python-setuptools: for building Python packages using tooling that is usually bundled with Python
python-pip: for installing Python packages using tooling that is usually bundled with Python
python-pipx: for installing Python software not packaged on Arch Linux
sqlite: for a default database integration [installed]
xz: for lzma [installed]
tk: for tkinter
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (17) New Version Net Change
extra/python-autocommand 2.2.2-9 0.08 MiB
extra/python-iniconfig 2.1.0-3.1 0.05 MiB
extra/python-jaraco.collections 5.1.0-3 0.11 MiB
extra/python-jaraco.context 6.0.1-3 0.04 MiB
extra/python-jaraco.functools 4.1.0-3 0.07 MiB
extra/python-jaraco.text 4.0.0-4 0.08 MiB
extra/python-more-itertools 10.8.0-2 0.73 MiB
extra/python-platformdirs 4.5.1-3 0.28 MiB
extra/python-pluggy 1.6.0-3.1 0.23 MiB
extra/python-pygments 2.19.2-3 15.30 MiB
extra/python-pyproject-hooks 1.2.0-6 0.11 MiB
extra/python-build 1.4.0-1 0.24 MiB
extra/python-installer 0.7.0-14 0.20 MiB
extra/python-packaging 26.0-1 0.89 MiB
extra/python-pytest 1:8.4.2-3 4.69 MiB
extra/python-setuptools 1:80.9.0-4 8.03 MiB
extra/python-wheel 0.45.1-4 0.30 MiB
Total Installed Size: 31.44 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing python-packaging...
installing python-pyproject-hooks...
installing python-build...
Optional dependencies for python-build
python-pip: to use as the Python package installer (default)
python-uv: to use as the Python package installer
python-virtualenv: to use virtualenv for build isolation
installing python-installer...
installing python-more-itertools...
installing python-jaraco.functools...
installing python-jaraco.context...
installing python-autocommand...
installing python-jaraco.text...
Optional dependencies for python-jaraco.text
python-inflect: for show-newlines script
installing python-jaraco.collections...
installing python-platformdirs...
installing python-wheel...
Optional dependencies for python-wheel
python-keyring: for wheel.signatures
python-xdg: for wheel.signatures
python-setuptools: for legacy bdist_wheel subcommand [pending]
installing python-setuptools...
installing python-iniconfig...
installing python-pluggy...
installing python-pygments...
installing python-pytest...
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Retrieving sources...
-> Found resolvelib-1.2.1.tar.gz
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Extracting resolvelib-1.2.1.tar.gz with bsdtar
==> Starting build()...
* Getting build dependencies for wheel...
/usr/lib/python3.14/site-packages/setuptools/config/pyprojecttoml.py:72: _ExperimentalConfiguration: `[tool.distutils]` in `pyproject.toml` is still *experimental* and likely to change in future releases.
config = read_configuration(filepath, True, ignore_option_errors, dist)
/usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
!!
********************************************************************************
Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).
By 2026-Feb-18, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
corresp(dist, value, root_dir)
/usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: ISC License (ISCL)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
dist._finalize_license_expression()
/usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: ISC License (ISCL)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
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'
warning: no files found matching '*.pyi' under directory 'src'
warning: manifest_maker: MANIFEST.in, line 3: 'recursive-include' expects
...
adding license file 'LICENSE'
writing manifest file 'src/resolvelib.egg-info/SOURCES.txt'
* Building wheel...
/usr/lib/python3.14/site-packages/setuptools/config/pyprojecttoml.py:72: _ExperimentalConfiguration: `[tool.distutils]` in `pyproject.toml` is still *experimental* and likely to change in future releases.
config = read_configuration(filepath, True, ignore_option_errors, dist)
/usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
!!
********************************************************************************
Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).
By 2026-Feb-18, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
corresp(dist, value, root_dir)
/usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: ISC License (ISCL)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
dist._finalize_license_expression()
/usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: ISC License (ISCL)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running bdist_wheel
running build
running build_py
creating build/lib/resolvelib
copying src/resolvelib/__init__.py -> build/lib/resolvelib
copying src/resolvelib/providers.py -> build/lib/resolvelib
copying src/resolvelib/reporters.py -> build/lib/resolvelib
copying src/resolvelib/structs.py -> build/lib/resolvelib
creating build/lib/resolvelib/resolvers
copying src/resolvelib/resolvers/__init__.py -> build/lib/resolvelib/resolvers
copying src/resolvelib/resolvers/abstract.py -> build/lib/resolvelib/resolvers
copying src/resolvelib/resolvers/criterion.py -> build/lib/resolvelib/resolvers
copying src/resolvelib/resolvers/exceptions.py -> build/lib/resolvelib/resolvers
copying src/resolvelib/resolvers/resolution.py -> build/lib/resolvelib/resolvers
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'
warning: no files found matching '*.pyi' under directory 'src'
warning: manifest_maker: MANIFEST.in, line 3: 'recursive-include' expects ...
adding license file 'LICENSE'
writing manifest file 'src/resolvelib.egg-info/SOURCES.txt'
copying src/resolvelib/py.typed -> build/lib/resolvelib
installing to build/bdist.linux-riscv64/wheel
running install
running install_lib
creating build/bdist.linux-riscv64/wheel
creating build/bdist.linux-riscv64/wheel/resolvelib
copying build/lib/resolvelib/__init__.py -> build/bdist.linux-riscv64/wheel/./resolvelib
copying build/lib/resolvelib/providers.py -> build/bdist.linux-riscv64/wheel/./resolvelib
copying build/lib/resolvelib/reporters.py -> build/bdist.linux-riscv64/wheel/./resolvelib
copying build/lib/resolvelib/structs.py -> build/bdist.linux-riscv64/wheel/./resolvelib
creating build/bdist.linux-riscv64/wheel/resolvelib/resolvers
copying build/lib/resolvelib/resolvers/__init__.py -> build/bdist.linux-riscv64/wheel/./resolvelib/resolvers
copying build/lib/resolvelib/resolvers/abstract.py -> build/bdist.linux-riscv64/wheel/./resolvelib/resolvers
copying build/lib/resolvelib/resolvers/criterion.py -> build/bdist.linux-riscv64/wheel/./resolvelib/resolvers
copying build/lib/resolvelib/resolvers/exceptions.py -> build/bdist.linux-riscv64/wheel/./resolvelib/resolvers
copying build/lib/resolvelib/resolvers/resolution.py -> build/bdist.linux-riscv64/wheel/./resolvelib/resolvers
copying build/lib/resolvelib/py.typed -> build/bdist.linux-riscv64/wheel/./resolvelib
running install_egg_info
Copying src/resolvelib.egg-info to build/bdist.linux-riscv64/wheel/./resolvelib-1.2.1-py3.14.egg-info
running install_scripts
creating build/bdist.linux-riscv64/wheel/resolvelib-1.2.1.dist-info/WHEEL
creating '/build/python-resolvelib/src/resolvelib-1.2.1/dist/.tmp-z3idc93h/resolvelib-1.2.1-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it
adding 'resolvelib/__init__.py'
adding 'resolvelib/providers.py'
adding 'resolvelib/py.typed'
adding 'resolvelib/reporters.py'
adding 'resolvelib/structs.py'
adding 'resolvelib/resolvers/__init__.py'
adding 'resolvelib/resolvers/abstract.py'
adding 'resolvelib/resolvers/criterion.py'
adding 'resolvelib/resolvers/exceptions.py'
adding 'resolvelib/resolvers/resolution.py'
adding 'resolvelib-1.2.1.dist-info/licenses/LICENSE'
adding 'resolvelib-1.2.1.dist-info/METADATA'
adding 'resolvelib-1.2.1.dist-info/WHEEL'
adding 'resolvelib-1.2.1.dist-info/top_level.txt'
adding 'resolvelib-1.2.1.dist-info/RECORD'
removing build/bdist.linux-riscv64/wheel
Successfully built resolvelib-1.2.1-py3-none-any.whl
==> Starting check()...
============================= test session starts ==============================
platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python
cachedir: .pytest_cache
rootdir: /build/python-resolvelib/src/resolvelib-1.2.1
configfile: pyproject.toml
collecting ... collected 94 items
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[circular] XFAIL [ 1%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[complex_conflict] PASSED [ 2%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[complex_conflict_unwinding] PASSED [ 3%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[conflict] PASSED [ 4%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[conflict_common_parent] PASSED [ 5%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[conflict_on_child] PASSED [ 6%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[contiguous_grouping] PASSED [ 7%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[deep_complex_conflict] PASSED [ 8%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[empty] PASSED [ 9%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[fixed_circular] XFAIL [ 10%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[previous_conflict] PASSED [ 11%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[previous_primary_conflict] PASSED [ 12%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[pruned_unresolved_orphan] PASSED [ 13%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[root_conflict_on_child] PASSED [ 14%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency] PASSED [ 15%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[shared_parent_dependency_with_swapping] PASSED [ 17%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[simple] PASSED [ 18%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[simple_with_base] PASSED [ 19%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[simple_with_dependencies] PASSED [ 20%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[simple_with_shared_dependencies] PASSED [ 21%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[spapping_and_rewinding] PASSED [ 22%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[swapping_changes_transitive_dependency] PASSED [ 23%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[swapping_children_with_successors] PASSED [ 24%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[three_way_conflict] PASSED [ 25%]
tests/functional/cocoapods/test_resolvers_cocoapods.py::test_resolver[unresolvable_child] PASSED [ 26%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-1-PythonInputProvider] PASSED [ 27%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-2-PythonInputProvider] PASSED [ 28%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-3-PythonInputProvider] PASSED [ 29%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-4-PythonInputProvider] PASSED [ 30%]
tests/functional/python/test_resolvers_python.py::test_resolver[chalice-PythonInputProvider] PASSED [ 31%]
tests/functional/python/test_resolvers_python.py::test_resolver[cheroot-PythonInputProvider] FAILED [ 32%]
tests/functional/python/test_resolvers_python.py::test_resolver[conflict-with-dependency-PythonInputProvider] PASSED [ 34%]
tests/functional/python/test_resolvers_python.py::test_resolver[different-extras-PythonInputProvider] PASSED [ 35%]
tests/functional/python/test_resolvers_python.py::test_resolver[issue-134-PythonInputProvider] PASSED [ 36%]
tests/functional/python/test_resolvers_python.py::test_resolver[pyrex-1.9.8-PythonInputProvider] XFAIL [ 37%]
tests/functional/python/test_resolvers_python.py::test_resolver[same-package-extras-PythonInputProvider] PASSED [ 38%]
tests/functional/python/test_resolvers_python.py::test_resolver[same-package-PythonInputProvider] PASSED [ 39%]
tests/functional/python/test_resolvers_python.py::test_resolver[with-without-extras-PythonInputProvider] PASSED [ 40%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-1-PythonInputProviderNarrowRequirements] PASSED [ 41%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-2-PythonInputProviderNarrowRequirements] PASSED [ 42%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-3-PythonInputProviderNarrowRequirements] PASSED [ 43%]
tests/functional/python/test_resolvers_python.py::test_resolver[backjump-test-4-PythonInputProviderNarrowRequirements] PASSED [ 44%]
tests/functional/python/test_resolvers_python.py::test_resolver[chalice-PythonInputProviderNarrowRequirements] PASSED [ 45%]
tests/functional/python/test_resolvers_python.py::test_resolver[cheroot-PythonInputProviderNarrowRequirements] FAILED [ 46%]
tests/functional/python/test_resolvers_python.py::test_resolver[conflict-with-dependency-PythonInputProviderNarrowRequirements] PASSED [ 47%]
tests/functional/python/test_resolvers_python.py::test_resolver[different-extras-PythonInputProviderNarrowRequirements] PASSED [ 48%]
tests/functional/python/test_resolvers_python.py::test_resolver[issue-134-PythonInputProviderNarrowRequirements] PASSED [ 50%]
tests/functional/python/test_resolvers_python.py::test_resolver[pyrex-1.9.8-PythonInputProviderNarrowRequirements] XFAIL [ 51%]
tests/functional/python/test_resolvers_python.py::test_resolver[same-package-extras-PythonInputProviderNarrowRequirements] PASSED [ 52%]
tests/functional/python/test_resolvers_python.py::test_resolver[same-package-PythonInputProviderNarrowRequirements] PASSED [ 53%]
tests/functional/python/test_resolvers_python.py::test_resolver[with-without-extras-PythonInputProviderNarrowRequirements] PASSED [ 54%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-1-PythonInputProvider] PASSED [ 55%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-2-PythonInputProvider] PASSED [ 56%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-3-PythonInputProvider] PASSED [ 57%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-4-PythonInputProvider] PASSED [ 58%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[chalice-PythonInputProvider] PASSED [ 59%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[cheroot-PythonInputProvider] FAILED [ 60%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[conflict-with-dependency-PythonInputProvider] PASSED [ 61%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[different-extras-PythonInputProvider] PASSED [ 62%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[issue-134-PythonInputProvider] PASSED [ 63%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[pyrex-1.9.8-PythonInputProvider] XFAIL [ 64%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[same-package-extras-PythonInputProvider] PASSED [ 65%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[same-package-PythonInputProvider] PASSED [ 67%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[with-without-extras-PythonInputProvider] PASSED [ 68%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-1-PythonInputProviderNarrowRequirements] PASSED [ 69%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-2-PythonInputProviderNarrowRequirements] PASSED [ 70%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-3-PythonInputProviderNarrowRequirements] PASSED [ 71%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[backjump-test-4-PythonInputProviderNarrowRequirements] PASSED [ 72%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[chalice-PythonInputProviderNarrowRequirements] PASSED [ 73%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[cheroot-PythonInputProviderNarrowRequirements] FAILED [ 74%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[conflict-with-dependency-PythonInputProviderNarrowRequirements] PASSED [ 75%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[different-extras-PythonInputProviderNarrowRequirements] PASSED [ 76%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[issue-134-PythonInputProviderNarrowRequirements] PASSED [ 77%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[pyrex-1.9.8-PythonInputProviderNarrowRequirements] XFAIL [ 78%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[same-package-extras-PythonInputProviderNarrowRequirements] PASSED [ 79%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[same-package-PythonInputProviderNarrowRequirements] PASSED [ 80%]
tests/functional/python/test_resolvers_python.py::test_no_optimistic_backtracking_resolver[with-without-extras-PythonInputProviderNarrowRequirements] PASSED [ 81%]
tests/functional/swift-package-manager/test_resolvers_swift.py::test_resolver[PerfectHTTPServer] PASSED [ 82%]
tests/functional/swift-package-manager/test_resolvers_swift.py::test_resolver[SourceKitten] PASSED [ 84%]
tests/functional/swift-package-manager/test_resolvers_swift.py::test_resolver[ZewoHTTPServer] PASSED [ 85%]
tests/functional/swift-package-manager/test_resolvers_swift.py::test_resolver[kitura] PASSED [ 86%]
tests/test_backjump_exhaustion.py::test_backjump_exhaustion PASSED [ 87%]
tests/test_resolvers.py::test_candidate_inconsistent_error PASSED [ 88%]
tests/test_resolvers.py::test_candidate_depends_on_requirements_of_same_identifier[specifiers0] PASSED [ 89%]
tests/test_resolvers.py::test_candidate_depends_on_requirements_of_same_identifier[specifiers1] PASSED [ 90%]
tests/test_resolvers.py::test_resolving_conflicts PASSED [ 91%]
tests/test_resolvers.py::test_pin_conflict_with_self PASSED [ 92%]
tests/test_structs.py::test_graph PASSED [ 93%]
tests/test_structs.py::test_iter_view_iterable[_generate] PASSED [ 94%]
tests/test_structs.py::test_iter_view_iterable[source1] PASSED [ 95%]
tests/test_structs.py::test_iter_view_iterable[source2] PASSED [ 96%]
tests/test_structs.py::test_iter_view_multiple_iterable[_generate] PASSED [ 97%]
tests/test_structs.py::test_iter_view_multiple_iterable[source1] PASSED [ 98%]
tests/test_structs.py::test_iter_view_multiple_iterable[source2] PASSED [100%]
=================================== FAILURES ===================================
__________________ test_resolver[cheroot-PythonInputProvider] __________________
provider =
reporter =
def test_resolver(provider, reporter):
resolver = Resolver(provider, reporter)
if provider.expected_confliction:
with pytest.raises(ResolutionImpossible) as ctx:
result = resolver.resolve(provider.root_requirements)
print(_format_resolution(result)) # Provide some debugging hints.
assert _format_confliction(ctx.value) == provider.expected_confliction
else:
resolution = resolver.resolve(provider.root_requirements)
> assert _format_resolution(resolution) == provider.expected_resolution
E AssertionError: assert {'coverage': , 'pytest-mock': , 'pytest-sugar': , 'pytest-testmon': , 'packaging': , 'pyparsing': , 'pytest': , 'atomicwrites': , 'attrs': , 'more-itertools': , 'pluggy': , 'py': , 'setuptools': , 'six': , 'termcolor': } == {'atomicwrites': , 'attrs': , 'coverage': , 'more-itertools': , 'packaging': , 'pluggy': , 'py': , 'pyparsing': , 'pytest': , 'pytest-mock': , 'pytest-sugar': , 'pytest-testmon': , 'setuptools': , 'six': , 'termcolor': }
E
E Common items:
E {'atomicwrites': ,
E 'attrs': ,
E 'coverage': ,
E 'more-itertools': ,
E 'packaging': ,
E 'py': ,
E 'pytest': ,
E 'pytest-mock': ,
E 'pytest-sugar': ,
E 'pytest-testmon': ,
E 'setuptools': ,
E 'six': ,
E 'termcolor': }
E Differing items:
E {'pluggy': } != {'pluggy': }
E {'pyparsing': } != {'pyparsing': }
E
E Full diff:
E {
E 'atomicwrites': ,
E 'attrs': ,
E 'coverage': ,
E 'more-itertools': ,
E 'packaging': ,
E - 'pluggy': ,
E ? ^^ ^
E + 'pluggy': ,
E ? ++ ^ ^^^^
E 'py': ,
E - 'pyparsing': ,
E ? ^ ^ ^
E + 'pyparsing': ,
E ? ^ ^ ^^^
E 'pytest': ,
E 'pytest-mock': ,
E 'pytest-sugar': ,
E 'pytest-testmon': ,
E 'setuptools': ,
E 'six': ,
E 'termcolor': ,
E }
tests/functional/python/test_resolvers_python.py:212: AssertionError
----------------------------- Captured stdout call -----------------------------
Pin Candidate(name='coverage', version=, extras=set())
Pin Candidate(name='pytest-mock', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-mock', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-mock', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='packaging', version=, extras=set())
Pin Candidate(name='pyparsing', version=, extras=set())
Pin Candidate(name='pytest', version=, extras=set())
Pin Candidate(name='atomicwrites', version=, extras=set())
Pin Candidate(name='attrs', version=, extras=set())
Pin Candidate(name='more-itertools', version=, extras=set())
Pin Candidate(name='pluggy', version=, extras=set())
Pin Candidate(name='py', version=, extras=set())
Pin Candidate(name='setuptools', version=, extras=set())
Pin Candidate(name='six', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
_________ test_resolver[cheroot-PythonInputProviderNarrowRequirements] _________
provider =
reporter =
def test_resolver(provider, reporter):
resolver = Resolver(provider, reporter)
if provider.expected_confliction:
with pytest.raises(ResolutionImpossible) as ctx:
result = resolver.resolve(provider.root_requirements)
print(_format_resolution(result)) # Provide some debugging hints.
assert _format_confliction(ctx.value) == provider.expected_confliction
else:
resolution = resolver.resolve(provider.root_requirements)
> assert _format_resolution(resolution) == provider.expected_resolution
E AssertionError: assert {'coverage': , 'pytest-mock': , 'pytest-sugar': , 'termcolor': , 'pytest-testmon': , 'packaging': , 'pyparsing': , 'pytest': , 'atomicwrites': , 'attrs': , 'more-itertools': , 'pluggy': , 'py': , 'setuptools': , 'six': } == {'atomicwrites': , 'attrs': , 'coverage': , 'more-itertools': , 'packaging': , 'pluggy': , 'py': , 'pyparsing': , 'pytest': , 'pytest-mock': , 'pytest-sugar': , 'pytest-testmon': , 'setuptools': , 'six': , 'termcolor': }
E
E Common items:
E {'atomicwrites': ,
E 'attrs': ,
E 'coverage': ,
E 'more-itertools': ,
E 'packaging': ,
E 'py': ,
E 'pytest': ,
E 'pytest-mock': ,
E 'pytest-sugar': ,
E 'pytest-testmon': ,
E 'setuptools': ,
E 'six': ,
E 'termcolor': }
E Differing items:
E {'pluggy': } != {'pluggy': }
E {'pyparsing': } != {'pyparsing': }
E
E Full diff:
E {
E 'atomicwrites': ,
E 'attrs': ,
E 'coverage': ,
E 'more-itertools': ,
E 'packaging': ,
E - 'pluggy': ,
E ? ^^ ^
E + 'pluggy': ,
E ? ++ ^ ^^^^
E 'py': ,
E - 'pyparsing': ,
E ? ^ ^ ^
E + 'pyparsing': ,
E ? ^ ^ ^^^
E 'pytest': ,
E 'pytest-mock': ,
E 'pytest-sugar': ,
E 'pytest-testmon': ,
E 'setuptools': ,
E 'six': ,
E 'termcolor': ,
E }
tests/functional/python/test_resolvers_python.py:212: AssertionError
----------------------------- Captured stdout call -----------------------------
Pin Candidate(name='coverage', version=, extras=set())
Pin Candidate(name='pytest-mock', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-mock', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Pin Candidate(name='pytest-sugar', version=, extras=set())
Pin Candidate(name='termcolor', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=, extras=set())
Reject Candidate(name='pytest-testmon', version=