Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202606/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:pydantic-core, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
test ! -f pydantic-core/Cargo.lock.saved || \
mv pydantic-core/Cargo.lock.saved pydantic-core/Cargo.lock
dh_auto_clean --sourcedir=pydantic-core
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
debian/rules override_dh_auto_configure
[... snipped ...]
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,
) -> CallInfo[TResult]:
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:type func: Callable[[], _pytest.runner.TResult]
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
instant = timing.Instant()
try:
^^^^^^
/usr/lib/python3/dist-packages/_pytest/runner.py:361:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/_pytest/runner.py:250: in <lambda>
lambda: runtest_hook(item=item, **kwds),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pluggy/_hooks.py:512: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/_pytest/logging.py:858: in pytest_runtest_setup
yield
/usr/lib/python3/dist-packages/_pytest/capture.py:895: in pytest_runtest_setup
return (yield)
^^^^^
/usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3/dist-packages/_pytest/runner.py:536: in setup
col.setup()
/usr/lib/python3/dist-packages/_pytest/python.py:1710: in setup
self._request._fillfixtures()
/usr/lib/python3/dist-packages/_pytest/fixtures.py:806: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/_pytest/fixtures.py:630: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/_pytest/fixtures.py:726: in _get_active_fixturedef
fixturedef.execute(request=subrequest)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <FixtureDef argname='schema_validator' scope='class' baseid='tests/validators/test_union.py::TestModelClassSimilar'>
request = <SubRequest 'schema_validator' for <Function test_model_b_preferred>>
def execute(self, request: SubRequest) -> FixtureValue:
"""Return the value of this fixture, executing it if not cached."""
# Ensure that the dependent fixtures requested by this fixture are loaded.
# This needs to be done before checking if we have a cached value, since
# if a dependent fixture has their cache invalidated, e.g. due to
# parametrization, they finalize themselves and fixtures depending on it
# (which will likely include this fixture) setting `self.cached_result = None`.
# See #4871
requested_fixtures_that_should_finalize_us = []
for argname in self.argnames:
fixturedef = request._get_active_fixturedef(argname)
# Saves requested fixtures in a list so we later can add our finalizer
# to them, ensuring that if a requested fixture gets torn down we get torn
# down first. This is generally handled by SetupState, but still currently
# needed when this fixture is not parametrized but depends on a parametrized
# fixture.
requested_fixtures_that_should_finalize_us.append(fixturedef)
# Check for (and return) cached value/exception.
if self.cached_result is not None:
request_cache_key = self.cache_key(request)
cache_key = self.cached_result[1]
try:
# Attempt to make a normal == check: this might fail for objects
# which do not implement the standard comparison (like numpy arrays -- #6497).
cache_hit = bool(request_cache_key == cache_key)
except (ValueError, RuntimeError):
# If the comparison raises, use 'is' as fallback.
cache_hit = request_cache_key is cache_key
if cache_hit:
if self.cached_result[2] is not None:
exc, exc_tb = self.cached_result[2]
raise exc.with_traceback(exc_tb)
else:
return self.cached_result[0]
# We have a previous but differently parametrized fixture instance
# so we need to tear it down before creating a new one.
self.finish(request)
assert self.cached_result is None
# Add finalizer to requested fixtures we saved previously.
# We make sure to do this after checking for cached value to avoid
# adding our finalizer multiple times. (#12135)
finalizer = functools.partial(self.finish, request=request)
for parent_fixture in requested_fixtures_that_should_finalize_us:
parent_fixture.addfinalizer(finalizer)
# Register the pytest_fixture_post_finalizer as the first finalizer,
# which is executed last.
^^^^^^^^^^^^^^^^^^^^
E AssertionError
/usr/lib/python3/dist-packages/_pytest/fixtures.py:1221: AssertionError
_______ ERROR at setup of TestModelClassSimilar.test_model_b_not_ignored _______
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7fa61d60ca90>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,
) -> CallInfo[TResult]:
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:type func: Callable[[], _pytest.runner.TResult]
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
instant = timing.Instant()
try:
^^^^^^
/usr/lib/python3/dist-packages/_pytest/runner.py:361:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/_pytest/runner.py:250: in <lambda>
lambda: runtest_hook(item=item, **kwds),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pluggy/_hooks.py:512: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/_pytest/logging.py:858: in pytest_runtest_setup
yield
/usr/lib/python3/dist-packages/_pytest/capture.py:895: in pytest_runtest_setup
return (yield)
^^^^^
/usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3/dist-packages/_pytest/runner.py:536: in setup
col.setup()
/usr/lib/python3/dist-packages/_pytest/python.py:1710: in setup
self._request._fillfixtures()
/usr/lib/python3/dist-packages/_pytest/fixtures.py:806: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/_pytest/fixtures.py:630: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/_pytest/fixtures.py:726: in _get_active_fixturedef
fixturedef.execute(request=subrequest)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <FixtureDef argname='schema_validator' scope='class' baseid='tests/validators/test_union.py::TestModelClassSimilar'>
request = <SubRequest 'schema_validator' for <Function test_model_b_not_ignored>>
def execute(self, request: SubRequest) -> FixtureValue:
"""Return the value of this fixture, executing it if not cached."""
# Ensure that the dependent fixtures requested by this fixture are loaded.
# This needs to be done before checking if we have a cached value, since
# if a dependent fixture has their cache invalidated, e.g. due to
# parametrization, they finalize themselves and fixtures depending on it
# (which will likely include this fixture) setting `self.cached_result = None`.
# See #4871
requested_fixtures_that_should_finalize_us = []
for argname in self.argnames:
fixturedef = request._get_active_fixturedef(argname)
# Saves requested fixtures in a list so we later can add our finalizer
# to them, ensuring that if a requested fixture gets torn down we get torn
# down first. This is generally handled by SetupState, but still currently
# needed when this fixture is not parametrized but depends on a parametrized
# fixture.
requested_fixtures_that_should_finalize_us.append(fixturedef)
# Check for (and return) cached value/exception.
if self.cached_result is not None:
request_cache_key = self.cache_key(request)
cache_key = self.cached_result[1]
try:
# Attempt to make a normal == check: this might fail for objects
# which do not implement the standard comparison (like numpy arrays -- #6497).
cache_hit = bool(request_cache_key == cache_key)
except (ValueError, RuntimeError):
# If the comparison raises, use 'is' as fallback.
cache_hit = request_cache_key is cache_key
if cache_hit:
if self.cached_result[2] is not None:
exc, exc_tb = self.cached_result[2]
raise exc.with_traceback(exc_tb)
else:
return self.cached_result[0]
# We have a previous but differently parametrized fixture instance
# so we need to tear it down before creating a new one.
self.finish(request)
assert self.cached_result is None
# Add finalizer to requested fixtures we saved previously.
# We make sure to do this after checking for cached value to avoid
# adding our finalizer multiple times. (#12135)
finalizer = functools.partial(self.finish, request=request)
for parent_fixture in requested_fixtures_that_should_finalize_us:
parent_fixture.addfinalizer(finalizer)
# Register the pytest_fixture_post_finalizer as the first finalizer,
# which is executed last.
^^^^^^^^^^^^^^^^^^^^
E AssertionError
/usr/lib/python3/dist-packages/_pytest/fixtures.py:1221: AssertionError
=========================== short test summary info ============================
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
ERROR tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
ERROR tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core
ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd
ERROR tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
ERROR tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
ERROR tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
ERROR tests/validators/test_union.py::TestModelClass::test_model_a - pytest.P...
ERROR tests/validators/test_union.py::TestModelClass::test_model_b - Assertio...
ERROR tests/validators/test_union.py::TestModelClass::test_exact_check - Asse...
ERROR tests/validators/test_union.py::TestModelClass::test_error - AssertionE...
ERROR tests/validators/test_union.py::TestModelClassSimilar::test_model_a - p...
ERROR tests/validators/test_union.py::TestModelClassSimilar::test_model_b_preferred
ERROR tests/validators/test_union.py::TestModelClassSimilar::test_model_b_not_ignored
========== 5758 passed, 127 skipped, 10 xfailed, 34 errors in 23.13s ===========
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pydantic-core/build; python3.14 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.14" --dir pydantic-core --parallel=2 returned exit code 13
make[1]: *** [debian/rules:35: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:18: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------