[Pkg-fonts-devel] Bug#908538: ufo2ft: FTBFS in buster/sid (failing tests)
Santiago Vila
sanvila at debian.org
Mon Sep 10 22:31:55 BST 2018
Package: src:ufo2ft
Version: 1.1.0-1
Severity: serious
Tags: ftbfs
Dear maintainer:
I tried to build this package in buster but it failed:
--------------------------------------------------------------------------------
[...]
debian/rules build-indep
dh build-indep --with python3 --buildsystem=pybuild
dh_update_autotools_config -i -O--buildsystem=pybuild
dh_autoreconf -i -O--buildsystem=pybuild
dh_auto_configure -i -O--buildsystem=pybuild
I: pybuild base:217: python3.6 setup.py config
running config
dh_auto_build -i -O--buildsystem=pybuild
I: pybuild base:217: /usr/bin/python3 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/outlineCompiler.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/postProcessor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/util.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/maxContextCalc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/fontInfoData.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/markFeatureWriter.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/preProcessor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/featureCompiler.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/kernFeatureWriter.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
copying Lib/ufo2ft/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/featureWriters
copying Lib/ufo2ft/featureWriters/markFeatureWriter.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/featureWriters
copying Lib/ufo2ft/featureWriters/kernFeatureWriter.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/featureWriters
copying Lib/ufo2ft/featureWriters/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/featureWriters
copying Lib/ufo2ft/featureWriters/baseFeatureWriter.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/featureWriters
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/filters
copying Lib/ufo2ft/filters/removeOverlaps.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/filters
copying Lib/ufo2ft/filters/transformations.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/filters
copying Lib/ufo2ft/filters/cubicToQuadratic.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/filters
copying Lib/ufo2ft/filters/decomposeComponents.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/filters
copying Lib/ufo2ft/filters/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build/ufo2ft/filters
running egg_info
creating Lib/ufo2ft.egg-info
writing Lib/ufo2ft.egg-info/PKG-INFO
writing dependency_links to Lib/ufo2ft.egg-info/dependency_links.txt
writing requirements to Lib/ufo2ft.egg-info/requires.txt
writing top-level names to Lib/ufo2ft.egg-info/top_level.txt
writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt'
reading manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt'
dh_auto_test -i -O--buildsystem=pybuild
I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build; python3.6 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.6.6, pytest-3.6.4, py-1.6.0, pluggy-0.6.0 -- /usr/bin/python3.6
cachedir: ../../../.pytest_cache
rootdir: /<<PKGBUILDDIR>>, inifile: setup.cfg
collecting ... collected 86 items
tests/compiler_test.py::CompilerTest::test_TestFont_CFF PASSED [ 1%]
tests/compiler_test.py::CompilerTest::test_TestFont_TTF FAILED [ 2%]
tests/compiler_test.py::CompilerTest::test_deprecated_arguments PASSED [ 3%]
tests/compiler_test.py::CompilerTest::test_features PASSED [ 4%]
tests/compiler_test.py::CompilerTest::test_interpolatableTTFs_lazy FAILED [ 5%]
tests/compiler_test.py::CompilerTest::test_mti_features PASSED [ 6%]
tests/compiler_test.py::CompilerTest::test_removeOverlaps FAILED [ 8%]
tests/compiler_test.py::CompilerTest::test_removeOverlaps_CFF PASSED [ 9%]
tests/fontInfoData_test.py::GetAttrWithFallbackTest::test_caret_slope PASSED [ 10%]
tests/fontInfoData_test.py::GetAttrWithFallbackTest::test_family_and_style_names PASSED [ 11%]
tests/fontInfoData_test.py::GetAttrWithFallbackTest::test_redundant_metadata PASSED [ 12%]
tests/fontInfoData_test.py::GetAttrWithFallbackTest::test_vertical_metrics PASSED [ 13%]
tests/fontInfoData_test.py::PostscriptBlueScaleFallbackTest::test_with_blue_zones PASSED [ 15%]
tests/fontInfoData_test.py::PostscriptBlueScaleFallbackTest::test_without_blue_zones PASSED [ 16%]
tests/fontInfoData_test.py::NormalizeStringForPostscriptTest::test_no_change PASSED [ 17%]
tests/kernFeatureWriter_test.py::KernFeatureWriterTest::test__cleanupMissingGlyphs PASSED [ 18%]
tests/kernFeatureWriter_test.py::KernFeatureWriterTest::test_collect_fea_classes PASSED [ 19%]
tests/kernFeatureWriter_test.py::KernFeatureWriterTest::test_ignoreMarks PASSED [ 20%]
tests/kernFeatureWriter_test.py::KernFeatureWriterTest::test_mode PASSED [ 22%]
tests/markFeatureWriter_test.py::MarkFeatureWriterTest::test_add_classes PASSED [ 23%]
tests/markFeatureWriter_test.py::MarkFeatureWriterTest::test_only_write_one PASSED [ 24%]
tests/markFeatureWriter_test.py::MarkFeatureWriterTest::test_skip_empty_feature PASSED [ 25%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_autoUseMyMetrics PASSED [ 26%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_autoUseMyMetrics_None PASSED [ 27%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_compile_empty_gasp PASSED [ 29%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_compile_with_gasp PASSED [ 30%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_compile_without_gasp PASSED [ 31%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_importTTX PASSED [ 32%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_makeGlyphsBoundingBoxes PASSED [ 33%]
tests/outlineCompiler_test.py::OutlineTTFCompilerTest::test_setupTable_gasp PASSED [ 34%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_importTTX PASSED [ 36%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_makeGlyphsBoundingBoxes PASSED [ 37%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_makeGlyphsBoundingBoxes_floats PASSED [ 38%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_setupTable_CFF_all_blues_defined PASSED [ 39%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_setupTable_CFF_no_blues_defined PASSED [ 40%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_setupTable_CFF_round_all PASSED [ 41%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_setupTable_CFF_round_none PASSED [ 43%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_setupTable_CFF_round_some PASSED [ 44%]
tests/outlineCompiler_test.py::OutlineOTFCompilerTest::test_setupTable_CFF_some_blues_defined PASSED [ 45%]
tests/outlineCompiler_test.py::TestGlyphOrder::test_compile_original_glyph_order PASSED [ 46%]
tests/outlineCompiler_test.py::TestGlyphOrder::test_compile_strange_glyph_order PASSED [ 47%]
tests/outlineCompiler_test.py::TestGlyphOrder::test_compile_tweaked_glyph_order PASSED [ 48%]
tests/outlineCompiler_test.py::TestNames::test_compile_with_custom_postscript_names PASSED [ 50%]
tests/outlineCompiler_test.py::TestNames::test_compile_with_custom_postscript_names_notdef_preserved PASSED [ 51%]
tests/outlineCompiler_test.py::TestNames::test_compile_with_production_names PASSED [ 52%]
tests/outlineCompiler_test.py::TestNames::test_compile_without_production_names PASSED [ 53%]
tests/filters/filters_test.py::test_getFilterClass PASSED [ 54%]
tests/filters/filters_test.py::test_loadFilters_empty PASSED [ 55%]
tests/filters/filters_test.py::test_loadFilters_pre PASSED [ 56%]
tests/filters/filters_test.py::test_loadFilters_custom_namespace PASSED [ 58%]
tests/filters/filters_test.py::test_loadFilters_args_missing PASSED [ 59%]
tests/filters/filters_test.py::test_loadFilters_args_unsupported PASSED [ 60%]
tests/filters/filters_test.py::test_loadFilters_include_all PASSED [ 61%]
tests/filters/filters_test.py::test_loadFilters_include_list PASSED [ 62%]
tests/filters/filters_test.py::test_loadFilters_exclude_list PASSED [ 63%]
tests/filters/filters_test.py::test_loadFilters_both_include_exclude PASSED [ 65%]
tests/filters/filters_test.py::test_loadFilters_failed PASSED [ 66%]
tests/filters/filters_test.py::test_loadFilters_kwargs_unsupported PASSED [ 67%]
tests/filters/filters_test.py::test_BaseFilter_repr PASSED [ 68%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_invalid_origin_value PASSED [ 69%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_empty_glyph[font0] PASSED [ 70%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_Identity[font0] PASSED [ 72%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_OffsetX[font0] PASSED [ 73%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_OffsetY[font0] PASSED [ 74%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_OffsetXY[font0] PASSED [ 75%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleX[font0-CAP_HEIGHT] PASSED [ 76%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleX[font0-HALF_CAP_HEIGHT] PASSED [ 77%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleX[font0-X_HEIGHT] PASSED [ 79%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleX[font0-HALF_X_HEIGHT] PASSED [ 80%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleX[font0-BASELINE] PASSED [ 81%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleY[font0-CAP_HEIGHT] PASSED [ 82%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleY[font0-HALF_CAP_HEIGHT] PASSED [ 83%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleY[font0-X_HEIGHT] PASSED [ 84%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleY[font0-HALF_X_HEIGHT] PASSED [ 86%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleY[font0-BASELINE] PASSED [ 87%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleXY[font0-CAP_HEIGHT] PASSED [ 88%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleXY[font0-HALF_CAP_HEIGHT] PASSED [ 89%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleXY[font0-X_HEIGHT] PASSED [ 90%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleXY[font0-HALF_X_HEIGHT] PASSED [ 91%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_ScaleXY[font0-BASELINE] PASSED [ 93%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_Slant[font0-CAP_HEIGHT] PASSED [ 94%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_Slant[font0-HALF_CAP_HEIGHT] PASSED [ 95%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_Slant[font0-X_HEIGHT] PASSED [ 96%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_Slant[font0-HALF_X_HEIGHT] PASSED [ 97%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_Slant[font0-BASELINE] PASSED [ 98%]
tests/filters/transformations_test.py::TransformationsFilterTest::test_composite_glyphs[font0] PASSED [100%]
=================================== FAILURES ===================================
________________________ CompilerTest.test_TestFont_TTF ________________________
self = <compiler_test.CompilerTest testMethod=test_TestFont_TTF>
def test_TestFont_TTF(self):
> self.expectTTX(compileTTF(loadUFO("TestFont.ufo")), "TestFont.ttx")
tests/compiler_test.py:33:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/compiler_test.py:134: in expectTTX
self.fail("TTX output is different from expected")
E AssertionError: TTX output is different from expected
----------------------------- Captured stderr call -----------------------------
--- TestFont.ttx
+++ /tmp/tmpskovmp8i/tmp1.ttx
@@ -234,7 +234,7 @@
<pt x="300" y="-10" on="1"/>
<pt x="225" y="-10" on="0"/>
<pt x="138" y="32" on="0"/>
- <pt x="100" y="142" on="0"/>
+ <pt x="100" y="143" on="0"/>
<pt x="100" y="245" on="1"/>
<pt x="100" y="348" on="0"/>
<pt x="138" y="458" on="0"/>
@@ -314,13 +314,13 @@
<TTGlyph name="uni0069" xMin="-55" yMin="-80" xMax="454" yMax="510">
<contour>
<pt x="-55" y="-80" on="1"/>
- <pt x="-55" y="-6" on="0"/>
+ <pt x="-55" y="-5" on="0"/>
<pt x="-13" y="82" on="0"/>
<pt x="97" y="119" on="0"/>
<pt x="199" y="119" on="1"/>
<pt x="302" y="119" on="0"/>
<pt x="412" y="82" on="0"/>
- <pt x="454" y="-6" on="0"/>
+ <pt x="454" y="-5" on="0"/>
<pt x="454" y="-80" on="1"/>
</contour>
<contour>
@@ -334,13 +334,13 @@
<TTGlyph name="uni006A" xMin="-55" yMin="-280" xMax="454" yMax="230">
<contour>
<pt x="-55" y="-80" on="1"/>
- <pt x="-55" y="-6" on="0"/>
+ <pt x="-55" y="-5" on="0"/>
<pt x="-13" y="82" on="0"/>
<pt x="97" y="119" on="0"/>
<pt x="199" y="119" on="1"/>
<pt x="302" y="119" on="0"/>
<pt x="412" y="82" on="0"/>
- <pt x="454" y="-6" on="0"/>
+ <pt x="454" y="-5" on="0"/>
<pt x="454" y="-80" on="1"/>
</contour>
<contour>
__________________ CompilerTest.test_interpolatableTTFs_lazy ___________________
self = <compiler_test.CompilerTest testMethod=test_interpolatableTTFs_lazy>
def test_interpolatableTTFs_lazy(self):
# two same UFOs **must** be interpolatable
ufos = [loadUFO("TestFont.ufo") for _ in range(2)]
ttfs = list(compileInterpolatableTTFs(ufos))
> self.expectTTX(ttfs[0], "TestFont.ttx")
tests/compiler_test.py:100:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/compiler_test.py:134: in expectTTX
self.fail("TTX output is different from expected")
E AssertionError: TTX output is different from expected
----------------------------- Captured stderr call -----------------------------
--- TestFont.ttx
+++ /tmp/tmpdwrt1ugf/tmp1.ttx
@@ -234,7 +234,7 @@
<pt x="300" y="-10" on="1"/>
<pt x="225" y="-10" on="0"/>
<pt x="138" y="32" on="0"/>
- <pt x="100" y="142" on="0"/>
+ <pt x="100" y="143" on="0"/>
<pt x="100" y="245" on="1"/>
<pt x="100" y="348" on="0"/>
<pt x="138" y="458" on="0"/>
@@ -314,13 +314,13 @@
<TTGlyph name="uni0069" xMin="-55" yMin="-80" xMax="454" yMax="510">
<contour>
<pt x="-55" y="-80" on="1"/>
- <pt x="-55" y="-6" on="0"/>
+ <pt x="-55" y="-5" on="0"/>
<pt x="-13" y="82" on="0"/>
<pt x="97" y="119" on="0"/>
<pt x="199" y="119" on="1"/>
<pt x="302" y="119" on="0"/>
<pt x="412" y="82" on="0"/>
- <pt x="454" y="-6" on="0"/>
+ <pt x="454" y="-5" on="0"/>
<pt x="454" y="-80" on="1"/>
</contour>
<contour>
@@ -334,13 +334,13 @@
<TTGlyph name="uni006A" xMin="-55" yMin="-280" xMax="454" yMax="230">
<contour>
<pt x="-55" y="-80" on="1"/>
- <pt x="-55" y="-6" on="0"/>
+ <pt x="-55" y="-5" on="0"/>
<pt x="-13" y="82" on="0"/>
<pt x="97" y="119" on="0"/>
<pt x="199" y="119" on="1"/>
<pt x="302" y="119" on="0"/>
<pt x="412" y="82" on="0"/>
- <pt x="454" y="-6" on="0"/>
+ <pt x="454" y="-5" on="0"/>
<pt x="454" y="-80" on="1"/>
</contour>
<contour>
_______________________ CompilerTest.test_removeOverlaps _______________________
self = <compiler_test.CompilerTest testMethod=test_removeOverlaps>
def test_removeOverlaps(self):
self.expectTTX(compileTTF(loadUFO("TestFont.ufo"), removeOverlaps=True),
> "TestFont-NoOverlaps-TTF.ttx")
tests/compiler_test.py:94:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/compiler_test.py:134: in expectTTX
self.fail("TTX output is different from expected")
E AssertionError: TTX output is different from expected
----------------------------- Captured stderr call -----------------------------
--- TestFont-NoOverlaps-TTF.ttx
+++ /tmp/tmpggh3iu5n/tmp1.ttx
@@ -234,7 +234,7 @@
<pt x="300" y="-10" on="1"/>
<pt x="225" y="-10" on="0"/>
<pt x="138" y="32" on="0"/>
- <pt x="100" y="142" on="0"/>
+ <pt x="100" y="143" on="0"/>
<pt x="100" y="245" on="1"/>
<pt x="100" y="348" on="0"/>
<pt x="138" y="458" on="0"/>
=========================== short test summary info ============================
FAIL tests/compiler_test.py::CompilerTest::test_TestFont_TTF
FAIL tests/compiler_test.py::CompilerTest::test_interpolatableTTFs_lazy
FAIL tests/compiler_test.py::CompilerTest::test_removeOverlaps
===================== 3 failed, 83 passed in 0.99 seconds ======================
E: pybuild pybuild:338: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_ufo2ft/build; python3.6 -m pytest tests
dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.6 returned exit code 13
make: *** [debian/rules:6: build-indep] Error 25
dpkg-buildpackage: error: debian/rules build-indep subprocess returned exit status 2
--------------------------------------------------------------------------------
The build was made in my autobuilder with "dpkg-buildpackage -A"
but it also fails here:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/ufo2ft.html
where you can get a full build log if you need it.
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.
More information about the Pkg-fonts-devel
mailing list