[Python-modules-team] Bug#973076: natsort: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" returned exit code 13

Lucas Nussbaum lucas at debian.org
Tue Oct 27 17:07:08 GMT 2020


Source: natsort
Version: 7.0.1-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
>  debian/rules build
> dh build --with python3,sphinxdoc --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:217: python3.9 setup.py config 
> running config
> I: pybuild base:217: python3.8 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:217: /usr/bin/python3.9 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/ns_enum.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/unicode_numbers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/unicode_numeric_hex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/natsort.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> copying natsort/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort/compat
> copying natsort/compat/fake_fastnumbers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort/compat
> copying natsort/compat/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort/compat
> copying natsort/compat/locale.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort/compat
> copying natsort/compat/fastnumbers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build/natsort/compat
> I: pybuild base:217: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/ns_enum.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/unicode_numbers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/unicode_numeric_hex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/natsort.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> copying natsort/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort/compat
> copying natsort/compat/fake_fastnumbers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort/compat
> copying natsort/compat/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort/compat
> copying natsort/compat/locale.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort/compat
> copying natsort/compat/fastnumbers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_natsort/build/natsort/compat
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build; python3.9 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: hypothesis-5.32.1, mock-1.10.4
> collected 274 items
> 
> tests/test_fake_fastnumbers.py ...............                           [  5%]
> tests/test_final_data_transform_factory.py ........                      [  8%]
> tests/test_input_string_transform_factory.py .................           [ 14%]
> tests/test_main.py ......................                                [ 22%]
> tests/test_natsort_key.py .....                                          [ 24%]
> tests/test_natsort_keygen.py .....................                       [ 32%]
> tests/test_natsorted.py ...............................................  [ 49%]
> tests/test_natsorted_convenience.py ............                         [ 53%]
> tests/test_ns_enum.py .                                                  [ 54%]
> tests/test_parse_bytes_function.py ....                                  [ 55%]
> tests/test_parse_number_function.py .......                              [ 58%]
> tests/test_parse_string_function.py ....                                 [ 59%]
> tests/test_regex.py .................................................... [ 78%]
>                                                                          [ 78%]
> tests/test_string_component_transform_factory.py .........               [ 81%]
> tests/test_unicode_numbers.py ...F.                                      [ 83%]
> tests/test_utils.py .............................................        [100%]
> 
> =================================== FAILURES ===================================
> __ test_numeric_chars_contains_all_valid_unicode_numeric_and_digit_characters __
> 
>     def test_numeric_chars_contains_all_valid_unicode_numeric_and_digit_characters():
>         set_numeric_hex = set(numeric_hex)
>         set_numeric_chars = set(numeric_chars)
>         set_digit_chars = set(digit_chars)
>         set_decimal_chars = set(decimal_chars)
>         for i in range(0X110000):
>             try:
>                 a = chr(i)
>             except ValueError:
>                 break
>             if a in "0123456789":
>                 continue
>             if unicodedata.numeric(a, None) is not None:
> >               assert i in set_numeric_hex
> E               assert 69573 in {178, 179, 185, 188, 189, 190, ...}
> 
> tests/test_unicode_numbers.py:49: AssertionError
> =============================== warnings summary ===============================
> .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_raises_type_error_if_given_number[0]
>   /usr/lib/python3/dist-packages/hypothesis/extra/pytestplugin.py:172: HypothesisDeprecationWarning: .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_raises_type_error_if_given_number[0] uses the 'parse_string_func' fixture, which is reset between function calls but not between test cases generated by `@given(...)`.  You can change it to a module- or session-scoped fixture if it is safe to reuse; if not we recommend using a context manager inside your test function.  See https://docs.pytest.org/en/latest/fixture.html#sharing-test-data for details on fixture scope.
>     note_deprecation(
> 
> .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_invariance[0-<lambda>]
>   /usr/lib/python3/dist-packages/hypothesis/extra/pytestplugin.py:172: HypothesisDeprecationWarning: .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_invariance[0-<lambda>] uses the 'parse_string_func' fixture, which is reset between function calls but not between test cases generated by `@given(...)`.  You can change it to a module- or session-scoped fixture if it is safe to reuse; if not we recommend using a context manager inside your test function.  See https://docs.pytest.org/en/latest/fixture.html#sharing-test-data for details on fixture scope.
>     note_deprecation(
> 
> .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_invariance[48-<lambda>]
>   /usr/lib/python3/dist-packages/hypothesis/extra/pytestplugin.py:172: HypothesisDeprecationWarning: .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_invariance[48-<lambda>] uses the 'parse_string_func' fixture, which is reset between function calls but not between test cases generated by `@given(...)`.  You can change it to a module- or session-scoped fixture if it is safe to reuse; if not we recommend using a context manager inside your test function.  See https://docs.pytest.org/en/latest/fixture.html#sharing-test-data for details on fixture scope.
>     note_deprecation(
> 
> .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_invariance[2147483696-<lambda>]
>   /usr/lib/python3/dist-packages/hypothesis/extra/pytestplugin.py:172: HypothesisDeprecationWarning: .pybuild/cpython3_3.9_natsort/build/tests/test_parse_string_function.py::test_parse_string_factory_invariance[2147483696-<lambda>] uses the 'parse_string_func' fixture, which is reset between function calls but not between test cases generated by `@given(...)`.  You can change it to a module- or session-scoped fixture if it is safe to reuse; if not we recommend using a context manager inside your test function.  See https://docs.pytest.org/en/latest/fixture.html#sharing-test-data for details on fixture scope.
>     note_deprecation(
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> ============== 1 failed, 273 passed, 4 warnings in 11.22 seconds ===============
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_natsort/build; python3.9 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/10/27/natsort_7.0.1-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Python-modules-team mailing list