Source: textdistance Version: 4.2.0-2 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20211023 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > dpkg-buildpackage > ----------------- > > Command: dpkg-buildpackage -us -uc -sa -rfakeroot > dpkg-buildpackage: info: source package textdistance > dpkg-buildpackage: info: source version 4.2.0-2 > dpkg-buildpackage: info: source distribution unstable > dpkg-buildpackage: info: source changed by Julian Gilbey <j...@debian.org> > dpkg-source --before-build . > dpkg-buildpackage: info: host architecture amd64 > debian/rules clean > dh clean --buildsystem=pybuild > dh_auto_clean -O--buildsystem=pybuild > I: pybuild base:232: python3.9 setup.py clean > /usr/lib/python3/dist-packages/setuptools/dist.py:717: UserWarning: Usage of > dash-separated 'description-file' will not be supported in future versions. > Please use the underscore name 'description_file' instead > warnings.warn( > running clean > removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build' (and everything under > it) > 'build/bdist.linux-x86_64' does not exist -- can't clean it > 'build/scripts-3.9' does not exist -- can't clean it > dh_autoreconf_clean -O--buildsystem=pybuild > dh_clean -O--buildsystem=pybuild > dpkg-source -b . > dpkg-source: info: using source format '3.0 (quilt)' > dpkg-source: info: building textdistance using existing > ./textdistance_4.2.0.orig.tar.gz > dpkg-source: info: using patch list from debian/patches/series > dpkg-source: info: building textdistance in textdistance_4.2.0-2.debian.tar.xz > dpkg-source: info: building textdistance in textdistance_4.2.0-2.dsc > debian/rules binary > dh binary --buildsystem=pybuild > dh_update_autotools_config -O--buildsystem=pybuild > dh_autoreconf -O--buildsystem=pybuild > dh_auto_configure -O--buildsystem=pybuild > I: pybuild base:232: python3.9 setup.py config > /usr/lib/python3/dist-packages/setuptools/dist.py:717: UserWarning: Usage of > dash-separated 'description-file' will not be supported in future versions. > Please use the underscore name 'description_file' instead > warnings.warn( > running config > dh_auto_build -O--buildsystem=pybuild > I: pybuild base:232: /usr/bin/python3 setup.py build > /usr/lib/python3/dist-packages/setuptools/dist.py:717: UserWarning: Usage of > dash-separated 'description-file' will not be supported in future versions. > Please use the underscore name 'description_file' instead > warnings.warn( > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance > copying textdistance/libraries.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance > copying textdistance/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance > copying textdistance/benchmark.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance > copying textdistance/utils.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/simple.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/compression_based.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/token_based.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/phonetic.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/sequence_based.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/vector_based.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/edit_based.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/algorithms/base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms > copying textdistance/libraries.json -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:232: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; > python3.9 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.9.7, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 > rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg > plugins: hypothesis-5.43.3 > collected 398 items > > tests/test_common.py ................................................... [ > 12%] > ........................................................................ [ > 30%] > ............................................. [ > 42%] > tests/test_external.py ...F....F...... [ > 45%] > tests/test_compression/test_arith_ncd.py .... [ > 46%] > tests/test_compression/test_bwtrle_ncd.py .. [ > 47%] > tests/test_compression/test_bz2_ncd.py .. [ > 47%] > tests/test_compression/test_common.py ............................ [ > 55%] > tests/test_compression/test_entropy_ncd.py ........ [ > 57%] > tests/test_compression/test_sqrt_ncd.py ....... [ > 58%] > tests/test_edit/test_damerau_levenshtein.py ............... [ > 62%] > tests/test_edit/test_editex.py ............ [ > 65%] > tests/test_edit/test_gotoh.py ..... [ > 66%] > tests/test_edit/test_hamming.py ...... [ > 68%] > tests/test_edit/test_jaro.py ........ [ > 70%] > tests/test_edit/test_jaro_winkler.py ..F.... [ > 72%] > tests/test_edit/test_levenshtein.py ...... [ > 73%] > tests/test_edit/test_matrix.py .......... [ > 76%] > tests/test_edit/test_mlipns.py ........... [ > 78%] > tests/test_edit/test_needleman_wunsch.py ..... [ > 80%] > tests/test_edit/test_smith_waterman.py ..... [ > 81%] > tests/test_edit/test_strcmp95.py .... [ > 82%] > tests/test_phonetic/test_editex.py .............................. [ > 89%] > tests/test_sequence/test_lcsseq.py ........... [ > 92%] > tests/test_sequence/test_lcsstr.py .......... [ > 95%] > tests/test_token/test_bag.py .... [ > 96%] > tests/test_token/test_cosine.py .. [ > 96%] > tests/test_token/test_jaccard.py ..... [ > 97%] > tests/test_token/test_monge_elkan.py .. [ > 98%] > tests/test_token/test_overlap.py ... [ > 99%] > tests/test_token/test_sorensen.py ... > [100%] > > =================================== FAILURES > =================================== > __________________________ test_compare[JaroWinkler] > ___________________________ > > alg = 'JaroWinkler' > > @pytest.mark.external > > @pytest.mark.parametrize('alg', libraries.get_algorithms()) > @hypothesis.given( > left=hypothesis.strategies.text(min_size=1), > right=hypothesis.strategies.text(min_size=1), > ) > > tests/test_external.py:17: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > left = ':', right = ':0', alg = 'JaroWinkler' > > @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) > @hypothesis.given( > left=hypothesis.strategies.text(min_size=1), > right=hypothesis.strategies.text(min_size=1), > ) > def test_compare(left, right, alg): > for lib in libraries.get_libs(alg): > conditions = lib.conditions or {} > internal_func = getattr(textdistance, alg)(external=False, > **conditions) > external_func = lib.get_function() > if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) > > if not lib.check_conditions(internal_func, left, right): > continue > > int_result = internal_func(left, right) > s1, s2 = lib.prepare(left, right) > ext_result = external_func(s1, s2) > > assert isclose(int_result, ext_result), str(lib) > E AssertionError: jellyfish.jaro_winkler_similarity > E assert False > E + where False = isclose(0.8333333333333334, 0.8500000000000001) > > tests/test_external.py:36: AssertionError > ---------------------------------- Hypothesis > ---------------------------------- > Falsifying example: test_compare( > left=':', right=':0', alg='JaroWinkler', > ) > ____________________________ test_qval[JaroWinkler] > ____________________________ > > alg = 'JaroWinkler' > > > ??? > > tests/test_external.py:40: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > left = ':', right = ':0', alg = 'JaroWinkler' > > @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) > @hypothesis.given( > left=hypothesis.strategies.text(min_size=1), > right=hypothesis.strategies.text(min_size=1), > ) > def test_qval(left, right, alg): > for lib in libraries.get_libs(alg): > conditions = lib.conditions or {} > internal_func = getattr(textdistance, alg)(external=False, > **conditions) > external_func = lib.get_function() > # algorithm doesn't support q-grams > if not hasattr(internal_func, 'qval'): > continue > for qval in (None, 1, 2, 3): > internal_func.qval = qval > # if qval unsopporting already set for lib > s1, s2 = internal_func._get_sequences(left, right) > if not lib.check_conditions(internal_func, s1, s2): > continue > > # test > int_result = internal_func(left, right) > s1, s2 = lib.prepare(s1, s2) > ext_result = external_func(s1, s2) > > assert isclose(int_result, ext_result), str(lib) > E AssertionError: jellyfish.jaro_winkler_similarity > E assert False > E + where False = isclose(0.8333333333333334, 0.8500000000000001) > > tests/test_external.py:64: AssertionError > ---------------------------------- Hypothesis > ---------------------------------- > Falsifying example: test_qval( > left=':', right=':0', alg='JaroWinkler', > ) > _____________________ test_distance[frog-fog-0.916666666] > ______________________ > > left = 'frog', right = 'fog', expected = 0.916666666 > > @pytest.mark.parametrize('left, right, expected', [ > ('elephant', 'hippo', 0.44166666666666665), > ('fly', 'ant', 0.0), > ('frog', 'fog', 0.916666666), > ('MARTHA', 'MARHTA', 0.9611111111111111), > ('DWAYNE', 'DUANE', 0.84), > ('DIXON', 'DICKSONX', 0.8133333333333332), > > # https://github.com/life4/textdistance/issues/39 > ('duck donald', 'duck daisy', 0.867272727272), > ]) > def test_distance(left, right, expected): > actual = ALG(winklerize=True, external=False)(left, right) > assert isclose(actual, expected) > > actual = ALG(winklerize=True, external=True)(left, right) > > assert isclose(actual, expected) > E assert False > E + where False = isclose(0.9249999999999999, 0.916666666) > > tests/test_edit/test_jaro_winkler.py:30: AssertionError > =========================== short test summary info > ============================ > FAILED tests/test_external.py::test_compare[JaroWinkler] - AssertionError: > je... > FAILED tests/test_external.py::test_qval[JaroWinkler] - AssertionError: > jelly... > FAILED > tests/test_edit/test_jaro_winkler.py::test_distance[frog-fog-0.916666666] > ======================== 3 failed, 395 passed in 30.30s > ======================== > E: pybuild pybuild:354: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest tests > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2021/10/23/textdistance_4.2.0-2_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! If you reassign this bug to another package, please marking it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.