Package: src:kalamine
Version: 0.38-3
Tags: ftbfs sid forky
User: debian-xml-sgml-p...@lists.alioth.debian.org
Usertags: libxml2.14

[this bug is NOT targeted to the upcoming trixie release]

Note, that lxml also needs to be built with libxml 2.14.x from experimental.

[...]
79s python3.13 -m pytest
80s ============================= test session starts ==============================
 80s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
 80s rootdir: /tmp/autopkgtest.V306QQ/autopkgtest_tmp
 80s plugins: typeguard-4.4.2
 80s collected 19 items
 80s
80s tests/test_macos.py F [ 5%] 80s tests/test_parser.py ... [ 21%] 80s tests/test_serializer_ahk.py ... [ 36%] 80s tests/test_serializer_keylayout.py ... [ 52%] 80s tests/test_serializer_klc.py ...... [ 84%] 80s tests/test_serializer_xkb.py ... [100%]
 80s
80s =================================== FAILURES =================================== 80s _______________________________ test_keylayouts ________________________________
 80s
 80s     def test_keylayouts():
 80s >       check_keylayout("q-ansi")
 80s
 80s tests/test_macos.py:82:
80s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 80s
 80s filename = 'q-ansi'
 80s
 80s     def check_keylayout(filename: str):
80s path = Path(__file__).parent.parent / f"dist/{filename}.keylayout"
 80s         tree = etree.parse(path, etree.XMLParser(recover=True))
 80s         dead_keys = []
 80s
80s # check all keymaps/layers: base, shift, caps, option, option+shift
 80s         for keymap_index in range(5):
 80s             keymap_query = f'//keyMap[@index="{keymap_index}"]'
 80s             keymap = tree.xpath(keymap_query)
80s assert len(keymap) == 1, f"{keymap_query} should be unique"
 80s
 80s             # check all key codes for this keymap / layer
 80s             # (the key codes below are not used, I don't know why)
 80s             excluded_keys = [
 80s                 54,
 80s                 55,
 80s                 56,
 80s                 57,
 80s                 58,
 80s                 59,
 80s                 60,
 80s                 61,
 80s                 62,
 80s                 63,
 80s                 68,
 80s                 73,
 80s                 74,
 80s                 90,
 80s                 93,
 80s                 94,
 80s                 95,
 80s             ]
 80s             for key_index in range(126):
 80s                 if key_index in excluded_keys:
 80s                     continue
 80s
 80s                 # ensure the key is defined and unique
 80s                 key_query = f'{keymap_query}/key[@code="{key_index}"]'
 80s                 key = tree.xpath(key_query)
 80s                 assert len(key) == 1, f"{key_query} should be unique"
 80s
80s # ensure the key has either a direct output or a valid action
 80s                 action_id = key[0].get("action")
 80s                 if action_id:
 80s                     if action_id.startswith("dead_"):
 80s                         dead_keys.append(action_id[5:])
80s action_query = f'//actions/action[@id="{action_id}"]'
 80s                     action = tree.xpath(action_query)
80s assert len(action) == 1, f"{action_query} should be unique"
 80s                     assert (
 80s                         len(action_id) > 1
80s ), f"{key_query} should have a multi-char action ID"
 80s                 else:
 80s                     assert (
 80s >                       len(key[0].get("output")) <= 1
 80s                     ), f"{key_query} should have a one-char output"
 80s E                   TypeError: object of type 'NoneType' has no len()
 80s
 80s tests/test_macos.py:60: TypeError
80s =========================== short test summary info ============================

Reply via email to