Package: src:python-sure
Version: 2.0.1+git.2023.02.06.3aef950b7c-4
Severity: serious
Tags: ftbfs forky sid

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/202512/

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:python-sure, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh clean --buildsystem=pybuild --with python3
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
rm -rf build
find . -iname '*.pyc' -delete
for i in $(find . -type d -iname __pycache__) ; do rm -rf $i ; done
rm -f .coverage
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh binary --buildsystem=pybuild --with python3
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:317: python3.14 setup.py config 
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: 
Unknown distribution option: 'tests_require'
  warnings.warn(msg)
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: 
Unknown distribution option: 'test_suite'
  warnings.warn(msg)
/usr/lib/python3/dist-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 :: GNU General Public License v3 or later 
(GPLv3+)

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running config
I: pybuild base:317: python3.13 setup.py config 
/<<PKGBUILDDIR>>/setup.py:53: DeprecationWarning: Attribute s is deprecated and 
will be removed in Python 3.14; use value instead
  self.version = node.value.s
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: 
Unknown distribution option: 'tests_require'
  warnings.warn(msg)
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: 
Unknown distribution option: 'test_suite'
  warnings.warn(msg)
/usr/lib/python3/dist-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 :: GNU General Public License v3 or later 
(GPLv3+)

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running config
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
echo "Do nothing..."
Do nothing...
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
set -x ; set -e ; for i in 3.14 3.13 ; do \
        python$i -m pytest -v tests -k "not test_context_is_not_optional and 
not test_depends_on_failing_due_nothing_found and not 
test_depends_on_failing_due_not_calling_a_previous_action" ; \
done
+ set -e
+ python3.14 -m pytest -v tests -k not test_context_is_not_optional and not 
test_depends_on_failing_due_nothing_found and not 
test_depends_on_failing_due_not_calling_a_previous_action
============================= test session starts ==============================
platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- 
/usr/bin/python3.14
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: setup.cfg
plugins: cov-5.0.0, typeguard-4.4.4
collecting ... collected 139 items / 3 deselected / 136 selected

tests/issues/test_issue_104.py::test_issue_104 PASSED
tests/issues/test_issue_134.py::test_issue_132 PASSED
tests/issues/test_issue_136.py::test_issue_136 PASSED
tests/issues/test_issue_139.py::test_issue_139 PASSED
tests/issues/test_issue_148.py::test_should_compare_dict_with_non_orderable_key_types
 PASSED
tests/issues/test_issue_148.py::test_should_compare_dict_with_enum_keys PASSED
tests/issues/test_issue_19.py::test_issue_19 PASSED
tests/issues/test_issue_48.py::test_issue_48 PASSED
tests/test_assertion_builder.py::test_assertion_builder_synonyms PASSED
tests/test_assertion_builder.py::test_4_equal_2p2 PASSED
tests/test_assertion_builder.py::test_2_within_0a2 PASSED
tests/test_assertion_builder.py::test_true_be_ok PASSED
tests/test_assertion_builder.py::test_false_be_falsy PASSED
tests/test_assertion_builder.py::test_none PASSED
tests/test_assertion_builder.py::test_should_be_a PASSED
tests/test_assertion_builder.py::test_should_be_callable PASSED
tests/test_assertion_builder.py::test_iterable_should_be_empty PASSED
tests/test_assertion_builder.py::test_iterable_should_have_length_of PASSED
tests/test_assertion_builder.py::test_greater_than PASSED
tests/test_assertion_builder.py::test_greater_than_or_equal_to PASSED
tests/test_assertion_builder.py::test_lower_than PASSED
tests/test_assertion_builder.py::test_lower_than_or_equal_to PASSED
tests/test_assertion_builder.py::test_be PASSED
tests/test_assertion_builder.py::test_have_property PASSED
tests/test_assertion_builder.py::test_have_property_with_value PASSED
tests/test_assertion_builder.py::test_have_key PASSED
tests/test_assertion_builder.py::test_have_key_with_value PASSED
tests/test_assertion_builder.py::test_look_like PASSED
tests/test_assertion_builder.py::test_equal_with_repr_of_complex_types_and_unicode
 PASSED
tests/test_assertion_builder.py::test_equal_with_repr_of_complex_types_and_repr 
PASSED
tests/test_assertion_builder.py::test_match_regex PASSED
tests/test_assertion_builder.py::test_match_contain PASSED
tests/test_assertion_builder.py::test_catching_exceptions PASSED
tests/test_assertion_builder.py::test_catching_exceptions_with_params PASSED
tests/test_assertion_builder.py::test_success_with_params PASSED
tests/test_assertion_builder.py::test_success_with_params_exception PASSED
tests/test_assertion_builder.py::test_throw_matching_regex PASSED
tests/test_assertion_builder.py::test_should_not_be_different PASSED
tests/test_assertion_builder.py::test_equals_handles_mock_call_list PASSED
tests/test_assertion_builder.py::test_equals_handles_float_with_epsilon PASSED
tests/test_assertion_builder.py::test_equals_dictionaries_with_tuple_keys PASSED
tests/test_assertion_builder.py::test_ordereddict_comparison PASSED
tests/test_assertion_builder.py::test_equals_anything PASSED
tests/test_assertion_builder.py::test_equals_crosstype PASSED
tests/test_custom_assertions.py::test_custom_assertion PASSED
tests/test_custom_assertions.py::test_custom_chain_method PASSED
tests/test_custom_assertions.py::test_custom_chain_property PASSED
tests/test_ensure_ctxmgr.py::test_ensure_simple_assertion PASSED
tests/test_ensure_ctxmgr.py::test_ensure_just_assertion_error PASSED
tests/test_old_api.py::testOldApi::test_accepts_setup_list PASSED
tests/test_old_api.py::testOldApi::test_accepts_teardown_list PASSED
tests/test_old_api.py::testOldApi::test_actions_providing_dinamically_named_variables
 PASSED
tests/test_old_api.py::testOldApi::test_actions_providing_variables_in_the_context
 PASSED
tests/test_old_api.py::testOldApi::test_actions_returns_context PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level1_fail PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level1_fails_missing_key_on_y
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level1_success PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level2_fail PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level2_list_success 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level2_success PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level3_fail_values 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level3_fails_different_key
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level3_fails_extra_key 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_dict_level3_fails_missing_key
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_failing_basic_vs_complex 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_failing_complex_vs_basic 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_fallsback_to_generic_comparator
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_fallsback_to_generic_comparator_failing
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_fallsback_to_generic_comparator_failing_type
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_list_level1_fail_by_length_x_gt_y
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_list_level1_fail_by_length_y_gt_x
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_list_level1_fail_by_value 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_list_level1_success PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_list_level2_fail_by_length_x_gt_y
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_list_level2_fail_by_length_y_gt_x
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_tuple_level1_fail_by_length_x_gt_y
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_tuple_level1_fail_by_length_y_gt_x
 PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_tuple_level1_fail_by_value 
PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_tuple_level1_success PASSED
tests/test_old_api.py::testOldApi::test_deep_equals_weird PASSED
tests/test_old_api.py::testOldApi::test_fails_when_action_doesnt_fulfill_the_agreement_of_provides
 PASSED
tests/test_old_api.py::testOldApi::test_function_decorated_with_wip_should_set_a_flag
 PASSED
tests/test_old_api.py::testOldApi::test_microsecond_unit PASSED
tests/test_old_api.py::testOldApi::test_milisecond_unit PASSED
tests/test_old_api.py::testOldApi::test_minute_unit PASSED
tests/test_old_api.py::testOldApi::test_scenario_is_alias_for_context_on_setup_and_teardown
 PASSED
tests/test_old_api.py::testOldApi::test_second_unit PASSED
tests/test_old_api.py::testOldApi::test_setup_with_context PASSED
tests/test_old_api.py::testOldApi::test_setup_with_context_context_failing 
PASSED
tests/test_old_api.py::testOldApi::test_teardown_with_context PASSED
tests/test_old_api.py::testOldApi::test_that_at_key_equals PASSED
tests/test_old_api.py::testOldApi::test_that_checking_all_atributes PASSED
tests/test_old_api.py::testOldApi::test_that_checking_all_atributes_of_range 
PASSED
tests/test_old_api.py::testOldApi::test_that_checking_all_elements PASSED
tests/test_old_api.py::testOldApi::test_that_checking_each_matches PASSED
tests/test_old_api.py::testOldApi::test_that_contains_dictionary_keys PASSED
tests/test_old_api.py::testOldApi::test_that_contains_list PASSED
tests/test_old_api.py::testOldApi::test_that_contains_none PASSED
tests/test_old_api.py::testOldApi::test_that_contains_set PASSED
tests/test_old_api.py::testOldApi::test_that_contains_string PASSED
tests/test_old_api.py::testOldApi::test_that_contains_tuple PASSED
tests/test_old_api.py::testOldApi::test_that_differs PASSED
tests/test_old_api.py::testOldApi::test_that_does_not_raise_with_args PASSED
tests/test_old_api.py::testOldApi::test_that_doesnt_contain_string PASSED
tests/test_old_api.py::testOldApi::test_that_equals PASSED
tests/test_old_api.py::testOldApi::test_that_equals_fails PASSED
tests/test_old_api.py::testOldApi::test_that_has PASSED
tests/test_old_api.py::testOldApi::test_that_is_a PASSED
tests/test_old_api.py::testOldApi::test_that_is_a_matcher_should_absorb_callables_to_be_used_as_matcher
 PASSED
tests/test_old_api.py::testOldApi::test_that_len_greater_than PASSED
tests/test_old_api.py::testOldApi::test_that_len_greater_than_or_equals PASSED
tests/test_old_api.py::testOldApi::test_that_len_greater_than_or_equals_should_raise_assertion_error
 PASSED
tests/test_old_api.py::testOldApi::test_that_len_greater_than_should_raise_assertion_error
 PASSED
tests/test_old_api.py::testOldApi::test_that_len_is PASSED
tests/test_old_api.py::testOldApi::test_that_len_lower_than PASSED
tests/test_old_api.py::testOldApi::test_that_len_lower_than_or_equals PASSED
tests/test_old_api.py::testOldApi::test_that_len_lower_than_or_equals_should_raise_assertion_error
 PASSED
tests/test_old_api.py::testOldApi::test_that_len_lower_than_should_raise_assertion_error
 PASSED
tests/test_old_api.py::testOldApi::test_that_looks_like PASSED
tests/test_old_api.py::testOldApi::test_that_none_contains_string FAILED

=================================== FAILURES ===================================
__________________ testOldApi.test_that_none_contains_string ___________________

self = <tests.test_old_api.testOldApi testMethod=test_that_none_contains_string>

    def test_that_none_contains_string(self):
        "that(None).contains('bungalow')"
    
        try:
>           assert that(None).contains('bungalow')
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_old_api.py:562: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <sure.old.AssertionHelper object at 0x7f9647e86650>, what = 'bungalow'

    def contains(self, what):
>       assert what in self._src, '%r should be in %r' % (what, self._src)
               ^^^^^^^^^^^^^^^^^
E       TypeError: argument of type 'NoneType' is not a container or iterable

sure/old.py:434: TypeError

During handling of the above exception, another exception occurred:

self = <tests.test_old_api.testOldApi testMethod=test_that_none_contains_string>

    def test_that_none_contains_string(self):
        "that(None).contains('bungalow')"
    
        try:
            assert that(None).contains('bungalow')
            assert False, 'should not reach here'
        except Exception as e:
            error_msg = "argument of type 'NoneType' is not iterable" if 
is_cpython else "'NoneType' object is not iterable"
>           self.assertEqual(
                text_type(e),
                error_msg
            )
E           AssertionError: "argument of type 'NoneType' is not a container or 
iterable" != "argument of type 'NoneType' is not iterable"
E           - argument of type 'NoneType' is not a container or iterable
E           ?                                   ---------------
E           + argument of type 'NoneType' is not iterable

tests/test_old_api.py:566: AssertionError
=============================== warnings summary ===============================
tests/test_assertion_builder.py:547
  /<<PKGBUILDDIR>>/tests/test_assertion_builder.py:547: SyntaxWarning: "\w" is 
an invalid escape sequence. Such sequences will not work in the future. Did you 
mean "\\w"? A raw string is also an option.
    ("expect('some string').to.match(r'\w{4} \w{6}') matches regex")

tests/test_assertion_builder.py:560
  /<<PKGBUILDDIR>>/tests/test_assertion_builder.py:560: SyntaxWarning: "\d" is 
an invalid escape sequence. Such sequences will not work in the future. Did you 
mean "\\d"? A raw string is also an option.
    "'some string' doesn't match the regular expression /\d{2} \d{4}/")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

---------- coverage: platform linux, python 3.14.2-final-0 -----------
Name                 Stmts   Miss  Cover   Missing
--------------------------------------------------
sure/__init__.py       628     91    86%   84-88, 100-101, 132, 182-229, 
258-275, 347-371, 417, 503, 540, 562, 684-689, 760, 769-770, 773, 857-864, 
868-874, 906-914, 923-924, 1110, 1144-1145, 1148, 1154-1155, 1158-1165
sure/cli.py              9      9     0%   1-29
sure/compat.py          71     22    69%   10-11, 17-37, 60, 66-67, 102-104
sure/core.py           161     10    94%   23-24, 152, 162, 220, 259, 265-266, 
279-280
sure/deprecated.py       4      0   100%
sure/magic.py           22      2    91%   51, 64
sure/old.py            263     34    87%   33-34, 62, 93, 105, 123, 140, 145, 
157-184, 214, 238, 392-393, 399-401, 407-416, 420
sure/registry.py         2      0   100%
sure/stubs.py            6      6     0%   19-38
sure/terminal.py        29     10    66%   27-31, 34, 42, 48, 54, 58-60
sure/version.py          1      1     0%   1
--------------------------------------------------
TOTAL                 1196    185    85%

=========================== short test summary info ============================
FAILED tests/test_old_api.py::testOldApi::test_that_none_contains_string - 
AssertionError: "argument of type 'NoneType' is not a container or iterable" != 
"argument of type 'NoneType' is not iterable"
- argument of type 'NoneType' is not a container or iterable
?                                   ---------------
+ argument of type 'NoneType' is not iterable
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
=========== 1 failed, 119 passed, 3 deselected, 2 warnings in 0.51s ============
make[1]: *** [debian/rules:23: override_dh_auto_test] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:7: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

  • Bug#1123455: python-sure: FTBFS: FAILED tests/test_old_api.p... Santiago Vila

Reply via email to