--- Begin Message ---
Package: src:wtforms-alchemy
Version: 0.18.0-4
Severity: serious
Tags: ftbfs
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary
dh binary --with sphinxdoc --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:311: python3.12 setup.py config
running config
dh_auto_build -O--buildsystem=pybuild
I: pybuild base:311: /usr/bin/python3 setup.py build
running build
running build_py
creating
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/wtforms_alchemy
copying wtforms_alchemy/utils.py ->
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/wtforms_alchemy
copying wtforms_alchemy/__init__.py ->
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/wtforms_alchemy
[... snipped ...]
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
if self.multiple:
kwargs["multiple"] = True
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
kwargs[k] = getattr(flags, k)
select_params = html_params(name=field.name, **kwargs)
html = [f"<select {select_params}>"]
if field.has_groups():
for group, choices in field.iter_groups():
optgroup_params = html_params(label=group)
html.append(f"<optgroup {optgroup_params}>")
for choice in choices:
val, label, selected, render_kw = choice
html.append(self.render_option(val, label, selected,
**render_kw))
html.append("</optgroup>")
else:
for choice in field.iter_choices():
val, label, selected, render_kw = choice
E ValueError: not enough values to unpack (expected 4, got 3)
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError
_
TestModelColumnToFormFieldTypeConversion.test_choice_type_with_enum_uses_custom_coerce_func[int-impl0]
_
self = <tests.test_types.TestModelColumnToFormFieldTypeConversion object at
0x7f61d67a0380>
type_ = <class 'int'>, impl = Integer()
@mark.parametrize(
['type_', 'impl'],
[
(int, sa.Integer()),
(str, sa.String())
]
)
def test_choice_type_with_enum_uses_custom_coerce_func(self, type_, impl):
class Choice(Enum):
choice1 = type_(1)
choice2 = type_(2)
def __str__(self):
return self.name
self.init(type_=ChoiceType(Choice, impl=impl))
self.assert_type('test_column', SelectField)
model = self.ModelTest(test_column=type_(2))
form = self.form_class(obj=model)
assert '<option selected value="2">' in str(form.test_column)
tests/test_types.py:297:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.SelectWidget object at 0x7f61d695f320>
field = <wtforms_components.fields.select.SelectField object at 0x7f61d5e187d0>
kwargs = {'id': 'test_column', 'required': True}
flags = <wtforms.fields.Flags: {required=True}>, k = 'required'
select_params = 'id="test_column" name="test_column" required'
html = ['<select id="test_column" name="test_column" required>']
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
if self.multiple:
kwargs["multiple"] = True
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
kwargs[k] = getattr(flags, k)
select_params = html_params(name=field.name, **kwargs)
html = [f"<select {select_params}>"]
if field.has_groups():
for group, choices in field.iter_groups():
optgroup_params = html_params(label=group)
html.append(f"<optgroup {optgroup_params}>")
for choice in choices:
val, label, selected, render_kw = choice
html.append(self.render_option(val, label, selected,
**render_kw))
html.append("</optgroup>")
else:
for choice in field.iter_choices():
val, label, selected, render_kw = choice
E ValueError: not enough values to unpack (expected 4, got 3)
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError
_
TestModelColumnToFormFieldTypeConversion.test_choice_type_with_enum_uses_custom_coerce_func[str-impl1]
_
self = <tests.test_types.TestModelColumnToFormFieldTypeConversion object at
0x7f61d67a0530>
type_ = <class 'str'>, impl = String()
@mark.parametrize(
['type_', 'impl'],
[
(int, sa.Integer()),
(str, sa.String())
]
)
def test_choice_type_with_enum_uses_custom_coerce_func(self, type_, impl):
class Choice(Enum):
choice1 = type_(1)
choice2 = type_(2)
def __str__(self):
return self.name
self.init(type_=ChoiceType(Choice, impl=impl))
self.assert_type('test_column', SelectField)
model = self.ModelTest(test_column=type_(2))
form = self.form_class(obj=model)
assert '<option selected value="2">' in str(form.test_column)
tests/test_types.py:297:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.SelectWidget object at 0x7f61d695f320>
field = <wtforms_components.fields.select.SelectField object at 0x7f61d5d36ea0>
kwargs = {'id': 'test_column', 'required': True}
flags = <wtforms.fields.Flags: {required=True}>, k = 'required'
select_params = 'id="test_column" name="test_column" required'
html = ['<select id="test_column" name="test_column" required>']
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
if self.multiple:
kwargs["multiple"] = True
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
kwargs[k] = getattr(flags, k)
select_params = html_params(name=field.name, **kwargs)
html = [f"<select {select_params}>"]
if field.has_groups():
for group, choices in field.iter_groups():
optgroup_params = html_params(label=group)
html.append(f"<optgroup {optgroup_params}>")
for choice in choices:
val, label, selected, render_kw = choice
html.append(self.render_option(val, label, selected,
**render_kw))
html.append("</optgroup>")
else:
for choice in field.iter_choices():
val, label, selected, render_kw = choice
E ValueError: not enough values to unpack (expected 4, got 3)
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError
_________ TestNumericFieldWidgets.test_converts_numeric_scale_to_steps _________
self = <tests.test_widgets.TestNumericFieldWidgets object at 0x7f61d67a7560>
def test_converts_numeric_scale_to_steps(self):
self.init(
type_=sa.Numeric(scale=2),
)
form = self.form_class()
assert 'step="0.01"' in str(form.test_column)
tests/test_widgets.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
/usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__
return super(HTML5Input, self).__call__(field, **options_copy)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.NumberInput object at 0x7f61d5c05dc0>
field = <wtforms_components.fields.html5.DecimalField object at 0x7f61d5c06240>
kwargs = {'id': 'test_column', 'step': '0.01', 'type': 'number', 'value': ''}
flags = <wtforms.fields.Flags: {required=True}>, k = '__class__'
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
kwargs.setdefault("type", self.input_type)
if "value" not in kwargs:
kwargs["value"] = field._value()
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
E AttributeError: 'NumberInput' object has no attribute
'validation_attrs'
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError
______ TestNumericFieldWidgets.test_supports_numeric_column_without_scale ______
self = <tests.test_widgets.TestNumericFieldWidgets object at 0x7f61d67a45f0>
def test_supports_numeric_column_without_scale(self):
self.init(
type_=sa.Numeric(),
)
form = self.form_class()
assert 'step="any"' in str(form.test_column)
tests/test_widgets.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
/usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__
return super(HTML5Input, self).__call__(field, **options_copy)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.NumberInput object at 0x7f61d695e8d0>
field = <wtforms_components.fields.html5.DecimalField object at 0x7f61d5c07950>
kwargs = {'id': 'test_column', 'step': 'any', 'type': 'number', 'value': ''}
flags = <wtforms.fields.Flags: {required=True}>, k = '__class__'
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
kwargs.setdefault("type", self.input_type)
if "value" not in kwargs:
kwargs["value"] = field._value()
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
E AttributeError: 'NumberInput' object has no attribute
'validation_attrs'
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError
____________ TestNumericFieldWidgets.test_supports_step_as_info_arg ____________
self = <tests.test_widgets.TestNumericFieldWidgets object at 0x7f61d66a04a0>
def test_supports_step_as_info_arg(self):
self.init(
type_=sa.Numeric(), info={'step': '0.1'},
)
form = self.form_class()
assert 'step="0.1"' in str(form.test_column)
tests/test_widgets.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
/usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__
return super(HTML5Input, self).__call__(field, **options_copy)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.NumberInput object at 0x7f61d5c065a0>
field = <wtforms_components.fields.html5.DecimalField object at 0x7f61d5c061e0>
kwargs = {'id': 'test_column', 'step': '0.1', 'type': 'number', 'value': ''}
flags = <wtforms.fields.Flags: {required=True}>, k = '__class__'
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
kwargs.setdefault("type", self.input_type)
if "value" not in kwargs:
kwargs["value"] = field._value()
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
E AttributeError: 'NumberInput' object has no attribute
'validation_attrs'
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError
______ TestNumericFieldWidgets.test_numeric_field_with_scale_and_choices _______
self = <tests.test_widgets.TestNumericFieldWidgets object at 0x7f61d66a0740>
def test_numeric_field_with_scale_and_choices(self):
self.init(
type_=sa.Numeric(scale=2),
info={'choices': [
(Decimal('1.1'), 'choice1'),
(Decimal('1.2'), 'choice2')
]},
)
form = self.form_class()
assert 'step="0.1"' not in str(form.test_column)
tests/test_widgets.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.SelectWidget object at 0x7f61d695f320>
field = <wtforms_components.fields.select.SelectField object at 0x7f61d5bed130>
kwargs = {'id': 'test_column', 'required': True}
flags = <wtforms.fields.Flags: {required=True}>, k = 'required'
select_params = 'id="test_column" name="test_column" required'
html = ['<select id="test_column" name="test_column" required>']
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
if self.multiple:
kwargs["multiple"] = True
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
kwargs[k] = getattr(flags, k)
select_params = html_params(name=field.name, **kwargs)
html = [f"<select {select_params}>"]
if field.has_groups():
for group, choices in field.iter_groups():
optgroup_params = html_params(label=group)
html.append(f"<optgroup {optgroup_params}>")
for choice in choices:
val, label, selected, render_kw = choice
html.append(self.render_option(val, label, selected,
**render_kw))
html.append("</optgroup>")
else:
for choice in field.iter_choices():
val, label, selected, render_kw = choice
E ValueError: not enough values to unpack (expected 4, got 3)
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError
____________ TestIntegerFieldWidgets.test_supports_step_as_info_arg ____________
self = <tests.test_widgets.TestIntegerFieldWidgets object at 0x7f61d66a07d0>
def test_supports_step_as_info_arg(self):
self.init(
type_=sa.Integer, info={'step': '3'},
)
form = self.form_class()
assert 'step="3"' in str(form.test_column)
tests/test_widgets.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
/usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__
return super(HTML5Input, self).__call__(field, **options_copy)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.NumberInput object at 0x7f61d5befa70>
field = <wtforms_components.fields.html5.IntegerField object at 0x7f61d5bec440>
kwargs = {'id': 'test_column', 'step': '3', 'type': 'number', 'value': ''}
flags = <wtforms.fields.Flags: {required=True}>, k = '__class__'
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
kwargs.setdefault("type", self.input_type)
if "value" not in kwargs:
kwargs["value"] = field._value()
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
E AttributeError: 'NumberInput' object has no attribute
'validation_attrs'
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError
_____________ TestFloatFieldWidgets.test_supports_step_as_info_arg _____________
self = <tests.test_widgets.TestFloatFieldWidgets object at 0x7f61d66a0b00>
def test_supports_step_as_info_arg(self):
self.init(
type_=sa.Float, info={'step': '0.2'},
)
form = self.form_class()
assert 'step="0.2"' in str(form.test_column)
tests/test_widgets.py:57:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__
return self()
/usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__
return self.meta.render_field(self, kwargs)
/usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field
return field.widget(field, **render_kw)
/usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__
return super(HTML5Input, self).__call__(field, **options_copy)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <wtforms_components.widgets.NumberInput object at 0x7f61d5c06210>
field = <wtforms.fields.numeric.FloatField object at 0x7f61d5c06a20>
kwargs = {'id': 'test_column', 'step': '0.2', 'type': 'number', 'value': ''}
flags = <wtforms.fields.Flags: {required=True}>, k = '__class__'
def __call__(self, field, **kwargs):
kwargs.setdefault("id", field.id)
kwargs.setdefault("type", self.input_type)
if "value" not in kwargs:
kwargs["value"] = field._value()
flags = getattr(field, "flags", {})
for k in dir(flags):
if k in self.validation_attrs and k not in kwargs:
E AttributeError: 'NumberInput' object has no attribute
'validation_attrs'
/usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/sqlalchemy_i18n/translatable.py:62
/usr/lib/python3/dist-packages/sqlalchemy_i18n/translatable.py:62:
SADeprecationWarning: The `sqlalchemy.orm.mapper()` symbol is deprecated and
will be removed in a future release. For the mapper-wide event target, use the
'sqlalchemy.orm.Mapper' class.
@sa.event.listens_for(sa.orm.mapper, 'expire')
../../../../../../usr/lib/python3/dist-packages/sqlalchemy_i18n/__init__.py:41
/usr/lib/python3/dist-packages/sqlalchemy_i18n/__init__.py:41:
SADeprecationWarning: The `sqlalchemy.orm.mapper()` symbol is deprecated and
will be removed in a future release. For the mapper-wide event target, use the
'sqlalchemy.orm.Mapper' class.
sa.event.listen(
../../../../../../usr/lib/python3/dist-packages/sqlalchemy_i18n/__init__.py:44
/usr/lib/python3/dist-packages/sqlalchemy_i18n/__init__.py:44:
SADeprecationWarning: The `sqlalchemy.orm.mapper()` symbol is deprecated and
will be removed in a future release. For the mapper-wide event target, use the
'sqlalchemy.orm.Mapper' class.
sa.event.listen(
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_i18n_extension.py::TestInternationalizationExtension::test_supports_translated_columns
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_i18n_extension.py::TestInternationalizationExtension::test_supports_field_exclusion
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_i18n_extension.py::TestInternationalizationExtension::test_model_population
/usr/lib/python3/dist-packages/sqlalchemy_i18n/manager.py:36:
MovedIn20Warning: The ``has_inherited_table()`` function is now available as
sqlalchemy.orm.has_inherited_table(). (deprecated since: 2.0) (Background on
SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
if has_inherited_table(cls):
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectField::test_with_query_factory
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_unpopulated_default
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_single_value_without_factory
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_multiple_values_without_query_factory
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_single_default_value
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_empty_query
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py:62:
SAWarning: This declarative base already contains a class with the same class name and
module name as tests.test_query_select_field.Test, and will be replaced in the
string-lookup table.
mapper_reg.map_imperatively(Test, test_table)
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectField::test_with_query_factory
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_unpopulated_default
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_single_value_without_factory
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_multiple_values_without_query_factory
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_single_default_value
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_empty_query
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py:63:
SAWarning: This declarative base already contains a class with the same class name and
module name as tests.test_query_select_field.PKTest, and will be replaced in the
string-lookup table.
mapper_reg.map_imperatively(PKTest, pk_test_table)
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py::TestQuerySelectMultipleField::test_single_default_value
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_query_select_field.py:216:
LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x series of
SQLAlchemy and becomes a legacy construct in 2.0. The method is now available as
Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at:
https://sqlalche.me/e/b8d9)
first_test = self.sess.query(self.Test).get(2)
.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_utils.py::TestUtils::test_find_entity
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build/tests/test_utils.py:55:
SAWarning: Object of type <BandMember> not in session, add operation along 'Band.members'
will not proceed
self.session.commit()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED
tests/test_field_parameters.py::TestFieldParameters::test_uses_custom_field_class
FAILED
tests/test_phone_number_field.py::TestPhoneNumberField::test_render_empty_phone_number_value
FAILED
tests/test_phone_number_field.py::TestPhoneNumberField::test_default_display_format
FAILED
tests/test_phone_number_field.py::TestPhoneNumberField::test_international_display_format
FAILED
tests/test_phone_number_field.py::TestPhoneNumberField::test_e164_display_format
FAILED
tests/test_phone_number_field.py::TestPhoneNumberField::test_field_rendering_when_invalid_phone_number
FAILED
tests/test_query_select_field.py::TestGroupedQuerySelectField::test_custom_none_value
FAILED
tests/test_query_select_field.py::TestGroupedQuerySelectField::test_rendering
FAILED
tests/test_query_select_field.py::TestGroupedQuerySelectMultipleField::test_rendering
FAILED
tests/test_select_field.py::TestSelectFieldDefaultValue::test_option_selected_by_field_default_value
FAILED
tests/test_types.py::TestModelColumnToFormFieldTypeConversion::test_choice_type_uses_custom_coerce_func
FAILED
tests/test_types.py::TestModelColumnToFormFieldTypeConversion::test_choice_type_with_enum_uses_custom_coerce_func[int-impl0]
FAILED
tests/test_types.py::TestModelColumnToFormFieldTypeConversion::test_choice_type_with_enum_uses_custom_coerce_func[str-impl1]
FAILED
tests/test_widgets.py::TestNumericFieldWidgets::test_converts_numeric_scale_to_steps
FAILED
tests/test_widgets.py::TestNumericFieldWidgets::test_supports_numeric_column_without_scale
FAILED
tests/test_widgets.py::TestNumericFieldWidgets::test_supports_step_as_info_arg
FAILED
tests/test_widgets.py::TestNumericFieldWidgets::test_numeric_field_with_scale_and_choices
FAILED
tests/test_widgets.py::TestIntegerFieldWidgets::test_supports_step_as_info_arg
FAILED
tests/test_widgets.py::TestFloatFieldWidgets::test_supports_step_as_info_arg
============ 19 failed, 224 passed, 5 xfailed, 20 warnings in 1.76s ============
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_wtforms-alchemy/build; python3.12 -m
pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12
returned exit code 13
make: *** [debian/rules:14: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202410/
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 could not 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 affects, so that this is still visible in the BTS web
page for this package.
Thanks.
--- End Message ---