fonttools breaks glyphslib autopkgtest: AssertionError: *.designspace file is different from expected

Bug #1981989 reported by Paride Legovini
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
fonttools (Debian)
Fix Released
Unknown
fonttools (Ubuntu)
New
Undecided
Unassigned

Bug Description

fonttools 4.34.4-1 causes an autopkgtest regression in glyphslib, see log excerpt below and the linked Debian bug.

=================================== FAILURES ===================================
_________ test_designspace_generation_regular_same_family_name[defcon] _________

tmpdir = local('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_re0')
ufo_module = <module 'defcon' from '/usr/lib/python3/dist-packages/defcon/__init__.py'>

    def test_designspace_generation_regular_same_family_name(tmpdir, ufo_module):
        ufo_Lt = ufo_module.Font()
        ufo_Lt.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Lt.info.styleName = "Light"
        ufo_Lt.info.openTypeOS2WeightClass = 300

        ufo_Rg = ufo_module.Font()
        ufo_Rg.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Rg.info.styleName = "Regular"
        ufo_Rg.info.openTypeOS2WeightClass = 400

        ufo_Md = ufo_module.Font()
        ufo_Md.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Md.info.styleName = "Medium"
        ufo_Md.info.openTypeOS2WeightClass = 500

        ufo_Bd = ufo_module.Font()
        ufo_Bd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Bd.info.styleName = "Bold"
        ufo_Bd.info.openTypeOS2WeightClass = 700

        ufo_ExBd = ufo_module.Font()
        ufo_ExBd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_ExBd.info.styleName = "XBold"
        ufo_ExBd.info.openTypeOS2WeightClass = 800

        font = to_glyphs([ufo_Lt, ufo_Rg, ufo_Md, ufo_Bd, ufo_ExBd])
        designspace = to_designspace(font, ufo_module=ufo_module)

        path = os.path.join(str(tmpdir), "actual.designspace")
        designspace.write(path)

        expected_path = os.path.join(
            os.path.dirname(__file__), "..", "data", "DesignspaceGenTestRegular.designspace"
        )

> assert (
            len(main.diff_files(path, expected_path, formatter=formatting.DiffFormatter()))
            == 0
        )
E assert 50 == 0
E + where 50 = len('[update-attribute, /designspace[1], format, "4.1"]')
E + where '[update-attribute, /designspace[1], format, "4.1"]' = <function diff_files at 0x7f6f7dccf640>('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_re0/actual.designspace', '/tmp/autopkgtest.jwpGVo/build.fFi/src/tests/builder/../data/DesignspaceGenTestRegular.designspace', formatter=<xmldiff.formatting.DiffFormatter object at 0x7f6f7d78cf10>)
E + where <function diff_files at 0x7f6f7dccf640> = main.diff_files
E + and <xmldiff.formatting.DiffFormatter object at 0x7f6f7d78cf10> = <class 'xmldiff.formatting.DiffFormatter'>()
E + where <class 'xmldiff.formatting.DiffFormatter'> = formatting.DiffFormatter

tests/builder/designspace_gen_test.py:69: AssertionError
_________ test_designspace_generation_italic_same_family_name[defcon] __________

tmpdir = local('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_it0')
ufo_module = <module 'defcon' from '/usr/lib/python3/dist-packages/defcon/__init__.py'>

    def test_designspace_generation_italic_same_family_name(tmpdir, ufo_module):
        ufo_Lt = ufo_module.Font()
        ufo_Lt.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Lt.info.styleName = "Light Italic"
        ufo_Lt.info.openTypeOS2WeightClass = 300
        ufo_Lt.info.italicAngle = -11

        ufo_Rg = ufo_module.Font()
        ufo_Rg.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Rg.info.styleName = "Regular Italic"
        ufo_Rg.info.openTypeOS2WeightClass = 400
        ufo_Rg.info.italicAngle = -11

        ufo_Md = ufo_module.Font()
        ufo_Md.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Md.info.styleName = "Medium Italic"
        ufo_Md.info.openTypeOS2WeightClass = 500
        ufo_Md.info.italicAngle = -11

        ufo_Bd = ufo_module.Font()
        ufo_Bd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Bd.info.styleName = "Bold Italic"
        ufo_Bd.info.openTypeOS2WeightClass = 700
        ufo_Bd.info.italicAngle = -11

        ufo_ExBd = ufo_module.Font()
        ufo_ExBd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_ExBd.info.styleName = "XBold Italic"
        ufo_ExBd.info.openTypeOS2WeightClass = 800
        ufo_ExBd.info.italicAngle = -11

        font = to_glyphs([ufo_Lt, ufo_Rg, ufo_Md, ufo_Bd, ufo_ExBd])
        designspace = to_designspace(font, ufo_module=ufo_module)

        path = os.path.join(str(tmpdir), "actual.designspace")
        designspace.write(path)

        expected_path = os.path.join(
            os.path.dirname(__file__), "..", "data", "DesignspaceGenTestItalic.designspace"
        )

> assert (
            len(main.diff_files(path, expected_path, formatter=formatting.DiffFormatter()))
            == 0
        )
E assert 50 == 0
E + where 50 = len('[update-attribute, /designspace[1], format, "4.1"]')
E + where '[update-attribute, /designspace[1], format, "4.1"]' = <function diff_files at 0x7f6f7dccf640>('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_it0/actual.designspace', '/tmp/autopkgtest.jwpGVo/build.fFi/src/tests/builder/../data/DesignspaceGenTestItalic.designspace', formatter=<xmldiff.formatting.DiffFormatter object at 0x7f6f7d35c910>)
E + where <function diff_files at 0x7f6f7dccf640> = main.diff_files
E + and <xmldiff.formatting.DiffFormatter object at 0x7f6f7d35c910> = <class 'xmldiff.formatting.DiffFormatter'>()
E + where <class 'xmldiff.formatting.DiffFormatter'> = formatting.DiffFormatter

tests/builder/designspace_gen_test.py:116: AssertionError
________ test_designspace_generation_regular_same_family_name[ufoLib2] _________

tmpdir = local('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_re2')
ufo_module = <module 'ufoLib2' from '/usr/lib/python3/dist-packages/ufoLib2/__init__.py'>

    def test_designspace_generation_regular_same_family_name(tmpdir, ufo_module):
        ufo_Lt = ufo_module.Font()
        ufo_Lt.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Lt.info.styleName = "Light"
        ufo_Lt.info.openTypeOS2WeightClass = 300

        ufo_Rg = ufo_module.Font()
        ufo_Rg.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Rg.info.styleName = "Regular"
        ufo_Rg.info.openTypeOS2WeightClass = 400

        ufo_Md = ufo_module.Font()
        ufo_Md.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Md.info.styleName = "Medium"
        ufo_Md.info.openTypeOS2WeightClass = 500

        ufo_Bd = ufo_module.Font()
        ufo_Bd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Bd.info.styleName = "Bold"
        ufo_Bd.info.openTypeOS2WeightClass = 700

        ufo_ExBd = ufo_module.Font()
        ufo_ExBd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_ExBd.info.styleName = "XBold"
        ufo_ExBd.info.openTypeOS2WeightClass = 800

        font = to_glyphs([ufo_Lt, ufo_Rg, ufo_Md, ufo_Bd, ufo_ExBd])
        designspace = to_designspace(font, ufo_module=ufo_module)

        path = os.path.join(str(tmpdir), "actual.designspace")
        designspace.write(path)

        expected_path = os.path.join(
            os.path.dirname(__file__), "..", "data", "DesignspaceGenTestRegular.designspace"
        )

> assert (
            len(main.diff_files(path, expected_path, formatter=formatting.DiffFormatter()))
            == 0
        )
E assert 50 == 0
E + where 50 = len('[update-attribute, /designspace[1], format, "4.1"]')
E + where '[update-attribute, /designspace[1], format, "4.1"]' = <function diff_files at 0x7f6f7dccf640>('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_re2/actual.designspace', '/tmp/autopkgtest.jwpGVo/build.fFi/src/tests/builder/../data/DesignspaceGenTestRegular.designspace', formatter=<xmldiff.formatting.DiffFormatter object at 0x7f6f7dd523e0>)
E + where <function diff_files at 0x7f6f7dccf640> = main.diff_files
E + and <xmldiff.formatting.DiffFormatter object at 0x7f6f7dd523e0> = <class 'xmldiff.formatting.DiffFormatter'>()
E + where <class 'xmldiff.formatting.DiffFormatter'> = formatting.DiffFormatter

tests/builder/designspace_gen_test.py:69: AssertionError
_________ test_designspace_generation_italic_same_family_name[ufoLib2] _________

tmpdir = local('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_it1')
ufo_module = <module 'ufoLib2' from '/usr/lib/python3/dist-packages/ufoLib2/__init__.py'>

    def test_designspace_generation_italic_same_family_name(tmpdir, ufo_module):
        ufo_Lt = ufo_module.Font()
        ufo_Lt.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Lt.info.styleName = "Light Italic"
        ufo_Lt.info.openTypeOS2WeightClass = 300
        ufo_Lt.info.italicAngle = -11

        ufo_Rg = ufo_module.Font()
        ufo_Rg.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Rg.info.styleName = "Regular Italic"
        ufo_Rg.info.openTypeOS2WeightClass = 400
        ufo_Rg.info.italicAngle = -11

        ufo_Md = ufo_module.Font()
        ufo_Md.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Md.info.styleName = "Medium Italic"
        ufo_Md.info.openTypeOS2WeightClass = 500
        ufo_Md.info.italicAngle = -11

        ufo_Bd = ufo_module.Font()
        ufo_Bd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_Bd.info.styleName = "Bold Italic"
        ufo_Bd.info.openTypeOS2WeightClass = 700
        ufo_Bd.info.italicAngle = -11

        ufo_ExBd = ufo_module.Font()
        ufo_ExBd.info.familyName = "CoolFoundry Examplary Serif"
        ufo_ExBd.info.styleName = "XBold Italic"
        ufo_ExBd.info.openTypeOS2WeightClass = 800
        ufo_ExBd.info.italicAngle = -11

        font = to_glyphs([ufo_Lt, ufo_Rg, ufo_Md, ufo_Bd, ufo_ExBd])
        designspace = to_designspace(font, ufo_module=ufo_module)

        path = os.path.join(str(tmpdir), "actual.designspace")
        designspace.write(path)

        expected_path = os.path.join(
            os.path.dirname(__file__), "..", "data", "DesignspaceGenTestItalic.designspace"
        )

> assert (
            len(main.diff_files(path, expected_path, formatter=formatting.DiffFormatter()))
            == 0
        )
E assert 50 == 0
E + where 50 = len('[update-attribute, /designspace[1], format, "4.1"]')
E + where '[update-attribute, /designspace[1], format, "4.1"]' = <function diff_files at 0x7f6f7dccf640>('/tmp/pytest-of-ubuntu/pytest-0/test_designspace_generation_it1/actual.designspace', '/tmp/autopkgtest.jwpGVo/build.fFi/src/tests/builder/../data/DesignspaceGenTestItalic.designspace', formatter=<xmldiff.formatting.DiffFormatter object at 0x7f6f7df70d00>)
E + where <function diff_files at 0x7f6f7dccf640> = main.diff_files
E + and <xmldiff.formatting.DiffFormatter object at 0x7f6f7df70d00> = <class 'xmldiff.formatting.DiffFormatter'>()
E + where <class 'xmldiff.formatting.DiffFormatter'> = formatting.DiffFormatter

tests/builder/designspace_gen_test.py:116: AssertionError
__________________________ DesignspaceTest.test_basic __________________________

self = <tests.builder.interpolation_test.DesignspaceTest testMethod=test_basic>

    def test_basic(self):
        masters, instances = makeFamily()
        font = makeFont(masters, instances, "DesignspaceTest Basic")
        doc = to_designspace(font, instance_dir="out")
> self.expect_designspace(doc, "DesignspaceTestBasic.designspace")

tests/builder/interpolation_test.py:179:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/builder/interpolation_test.py:155: in expect_designspace
    return self._expect_designspace(doc, expected_path)
tests/builder/interpolation_test.py:167: in _expect_designspace
    self.fail("*.designspace file is different from expected")
E AssertionError: *.designspace file is different from expected
----------------------------- Captured stderr call -----------------------------
DesignspaceTestBasic.designspace discrepancies (per xmldiff):
  [update-attribute, /designspace[1], format, "4.1"] [insert, /designspace/instances/instance[1], kerning, 1] [insert, /designspace/instances/instance[1], info, 2] [insert, /designspace/instances/instance[2], kerning, 1] [insert, /designspace/instances/instance[2], info, 2] [insert, /designspace/instances/instance[3], kerning, 1] [insert, /designspace/instances/instance[3], info, 2] [insert, /designspace/instances/instance[4], kerning, 1] [insert, /designspace/instances/instance[4], info, 2]
_______________________ DesignspaceTest.test_familyName ________________________

self = <tests.builder.interpolation_test.DesignspaceTest testMethod=test_familyName>

    def test_familyName(self):
        masters, _ = makeFamily()
        customFamily = makeInstance("Regular", weight=("Bold", 600, 151))
        customFamily.customParameters["familyName"] = "Custom Family"
        instances = [makeInstance("Regular", weight=("Regular", 400, 90)), customFamily]
        font = makeFont(masters, instances, "DesignspaceTest FamilyName")
        doc = to_designspace(font, instance_dir="out")
> self.expect_designspace(doc, "DesignspaceTestFamilyName.designspace")

tests/builder/interpolation_test.py:206:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/builder/interpolation_test.py:155: in expect_designspace
    return self._expect_designspace(doc, expected_path)
tests/builder/interpolation_test.py:167: in _expect_designspace
    self.fail("*.designspace file is different from expected")
E AssertionError: *.designspace file is different from expected
----------------------------- Captured stderr call -----------------------------
DesignspaceTestFamilyName.designspace discrepancies (per xmldiff):
  [update-attribute, /designspace[1], format, "4.1"] [insert, /designspace/instances/instance[1], kerning, 1] [insert, /designspace/instances/instance[1], info, 2] [insert, /designspace/instances/instance[2], kerning, 1] [insert, /designspace/instances/instance[2], info, 2]
________________________ DesignspaceTest.test_fileName _________________________

self = <tests.builder.interpolation_test.DesignspaceTest testMethod=test_fileName>

    def test_fileName(self):
        masters, _ = makeFamily()
        customFileName = makeInstance("Regular", weight=("Bold", 600, 151))
        customFileName.customParameters["fileName"] = "Custom FileName"
        instances = [
            makeInstance("Regular", weight=("Regular", 400, 90)),
            customFileName,
        ]
        font = makeFont(masters, instances, "DesignspaceTest FamilyName")
        doc = to_designspace(font, instance_dir="out")
> self.expect_designspace(doc, "DesignspaceTestFileName.designspace")

tests/builder/interpolation_test.py:219:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/builder/interpolation_test.py:155: in expect_designspace
    return self._expect_designspace(doc, expected_path)
tests/builder/interpolation_test.py:167: in _expect_designspace
    self.fail("*.designspace file is different from expected")
E AssertionError: *.designspace file is different from expected
----------------------------- Captured stderr call -----------------------------
DesignspaceTestFileName.designspace discrepancies (per xmldiff):
  [update-attribute, /designspace[1], format, "4.1"] [insert, /designspace/instances/instance[1], kerning, 1] [insert, /designspace/instances/instance[1], info, 2] [insert, /designspace/instances/instance[2], kerning, 1] [insert, /designspace/instances/instance[2], info, 2]
__________________ DesignspaceTest.test_inactive_from_exports __________________

self = <tests.builder.interpolation_test.DesignspaceTest testMethod=test_inactive_from_exports>

    def test_inactive_from_exports(self):
        # Glyphs.app recognizes exports=0 as a flag for inactive instances.
        # https://github.com/googlefonts/glyphsLib/issues/129
        masters, instances = makeFamily()
        for inst in instances:
            if inst.name != "Semibold":
                inst.exports = False
        font = makeFont(masters, instances, "DesignspaceTest Inactive")
        doc = to_designspace(font, instance_dir="out")
> self.expect_designspace(doc, "DesignspaceTestInactive.designspace")

tests/builder/interpolation_test.py:191:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/builder/interpolation_test.py:155: in expect_designspace
    return self._expect_designspace(doc, expected_path)
tests/builder/interpolation_test.py:167: in _expect_designspace
    self.fail("*.designspace file is different from expected")
E AssertionError: *.designspace file is different from expected
----------------------------- Captured stderr call -----------------------------
DesignspaceTestInactive.designspace discrepancies (per xmldiff):
  [update-attribute, /designspace[1], format, "4.1"] [insert, /designspace/instances/instance[1], kerning, 1] [insert, /designspace/instances/instance[1], info, 2]
______________________ DesignspaceTest.test_instanceOrder ______________________

self = <tests.builder.interpolation_test.DesignspaceTest testMethod=test_instanceOrder>

    def test_instanceOrder(self):
        # The generated *.designspace file should place instances
        # in the same order as they appear in the original source.
        # https://github.com/googlefonts/glyphsLib/issues/113
        masters, _ = makeFamily()
        instances = [
            makeInstance("Black", weight=("Black", 900, 190)),
            makeInstance("Regular", weight=("Regular", 400, 90)),
            makeInstance("Bold", weight=("Bold", 700, 151), is_bold=True),
        ]
        font = makeFont(masters, instances, "DesignspaceTest InstanceOrder")
        doc = to_designspace(font, instance_dir="out")
> self.expect_designspace(doc, "DesignspaceTestInstanceOrder.designspace")

tests/builder/interpolation_test.py:274:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/builder/interpolation_test.py:155: in expect_designspace
    return self._expect_designspace(doc, expected_path)
tests/builder/interpolation_test.py:167: in _expect_designspace
    self.fail("*.designspace file is different from expected")
E AssertionError: *.designspace file is different from expected
----------------------------- Captured stderr call -----------------------------
DesignspaceTestInstanceOrder.designspace discrepancies (per xmldiff):
  [update-attribute, /designspace[1], format, "4.1"] [insert, /designspace/instances/instance[1], kerning, 1] [insert, /designspace/instances/instance[1], info, 2] [insert, /designspace/instances/instance[2], kerning, 1] [insert, /designspace/instances/instance[2], info, 2] [insert, /designspace/instances/instance[3], kerning, 1] [insert, /designspace/instances/instance[3], info, 2]
_________________________ DesignspaceTest.test_twoAxes _________________________

self = <tests.builder.interpolation_test.DesignspaceTest testMethod=test_twoAxes>

    def test_twoAxes(self):
        # In NotoSansArabic-MM.glyphs, the regular width only contains
        # parameters for the weight axis. For the width axis, glyphsLib
        # should use 100 as default value (just like Glyphs.app does).
        familyName = "DesignspaceTest TwoAxes"
        masters = [
            makeMaster("Regular", weight=90),
            makeMaster("Black", weight=190),
            makeMaster("Thin", weight=26),
            makeMaster("ExtraCond", weight=90, width=70),
            makeMaster("ExtraCond Black", weight=190, width=70),
            makeMaster("ExtraCond Thin", weight=26, width=70),
        ]
        instances = [
            makeInstance("Thin", weight=("Thin", 100, 26)),
            makeInstance("Regular", weight=("Regular", 400, 90)),
            makeInstance("Semibold", weight=("SemiBold", 600, 128)),
            makeInstance("Black", weight=("Black", 900, 190)),
            makeInstance(
                "ExtraCondensed Thin",
                weight=("Thin", 100, 26),
                width=("Extra Condensed", 2, 70),
            ),
            makeInstance(
                "ExtraCondensed",
                weight=("Regular", 400, 90),
                width=("Extra Condensed", 2, 70),
            ),
            makeInstance(
                "ExtraCondensed Black",
                weight=("Black", 900, 190),
                width=("Extra Condensed", 2, 70),
            ),
        ]
        font = makeFont(masters, instances, familyName)
        doc = to_designspace(font, instance_dir="out")
> self.expect_designspace(doc, "DesignspaceTestTwoAxes.designspace")

tests/builder/interpolation_test.py:313:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/builder/interpolation_test.py:155: in expect_designspace
    return self._expect_designspace(doc, expected_path)
tests/builder/interpolation_test.py:167: in _expect_designspace
    self.fail("*.designspace file is different from expected")
E AssertionError: *.designspace file is different from expected
----------------------------- Captured stderr call -----------------------------
DesignspaceTestTwoAxes.designspace discrepancies (per xmldiff):
  [update-attribute, /designspace[1], format, "4.1"] [update-attribute, /designspace/axes/axis[2], minimum, "62.500000"] [update-attribute, /designspace/axes/axis[2]/map[1], input, "62.500000"] [insert, /designspace/instances/instance[1], kerning, 1] [insert, /designspace/instances/instance[1], info, 2] [insert, /designspace/instances/instance[2], kerning, 1] [insert, /designspace/instances/instance[2], info, 2] [insert, /designspace/instances/instance[3], kerning, 1] [insert, /designspace/instances/instance[3], info, 2] [insert, /designspace/instances/instance[4], kerning, 1] [insert, /designspace/instances/instance[4], info, 2] [insert, /designspace/instances/instance[5], kerning, 1] [insert, /designspace/instances/instance[5], info, 2] [insert, /designspace/instances/instance[6], kerning, 1] [insert, /designspace/instances/instance[6], info, 2] [insert, /designspace/instances/instance[7], kerning, 1] [insert, /designspace/instances/instance[7], info, 2]
=========================== short test summary info ============================
FAILED tests/builder/designspace_gen_test.py::test_designspace_generation_regular_same_family_name[defcon]
FAILED tests/builder/designspace_gen_test.py::test_designspace_generation_italic_same_family_name[defcon]
FAILED tests/builder/designspace_gen_test.py::test_designspace_generation_regular_same_family_name[ufoLib2]
FAILED tests/builder/designspace_gen_test.py::test_designspace_generation_italic_same_family_name[ufoLib2]
FAILED tests/builder/interpolation_test.py::DesignspaceTest::test_basic - Ass...
FAILED tests/builder/interpolation_test.py::DesignspaceTest::test_familyName
FAILED tests/builder/interpolation_test.py::DesignspaceTest::test_fileName - ...
FAILED tests/builder/interpolation_test.py::DesignspaceTest::test_inactive_from_exports
FAILED tests/builder/interpolation_test.py::DesignspaceTest::test_instanceOrder
FAILED tests/builder/interpolation_test.py::DesignspaceTest::test_twoAxes - A...
================= 10 failed, 578 passed, 12 skipped in 14.94s ==================

Paride Legovini (paride)
tags: added: update-excuse
Changed in fonttools (Debian):
status: Unknown → New
Changed in fonttools (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.