[Debian-l10n-devel] Bug#1070460: translate-toolkit: FTBFS: failing tests
Santiago Vila
sanvila at debian.org
Sun May 5 17:51:11 BST 2024
Package: src:translate-toolkit
Version: 3.12.2-1
Severity: serious
Tags: ftbfs
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary
dh binary --with python3,sphinxdoc --buildsystem pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_translate
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
[... snipped ...]
unit.makeobsolete()
> assert str(unit) == ""
E assert '#~ msgid "te...~ msgstr ""\n' == ''
E
E + #~ msgid "test"
E + #~ msgstr ""
tests/translate/storage/test_po.py:449: AssertionError
----------------------------- Captured stdout call -----------------------------
b'#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n'
________________________ TestXWikiFullPage.test_remove _________________________
self = <tests.translate.storage.test_properties.TestXWikiFullPage object at 0x7f665740ed10>
@mark.xfail(reason="removal not working in full page")
def test_remove(self):
> super().test_remove()
tests/translate/storage/test_properties.py:1614:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <tests.translate.storage.test_properties.TestXWikiFullPage object at 0x7f665740ed10>
def test_remove(self):
"""Tests removing a unit with a source string."""
store = self.StoreClass()
unit = store.addsourceunit("Test String")
# Some storages (MO, OmegaT) serialize only translated units
unit.target = "Test target"
assert headerless_len(store.units) == 1
withunit = bytes(store)
print(withunit)
store.removeunit(unit)
assert headerless_len(store.units) == 0
withoutunit = bytes(store)
print(withoutunit)
> assert withoutunit != withunit
E assert b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' != b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n'
tests/translate/storage/test_base.py:278: AssertionError
----------------------------- Captured stdout call -----------------------------
b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n'
b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n'
________________________ TestPYPOFile.test_kde_plurals _________________________
self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f66576d7150>
@mark.xfail(reason="Not Implemented")
def test_kde_plurals(self):
"""Tests kde-style plurals. (Bug: 191)."""
posource = r"""msgid "_n Singular\n"
"Plural"
msgstr "Een\n"
"Twee\n"
"Drie"
"""
pofile = self.poparse(posource)
assert len(pofile.units) == 1
unit = pofile.units[0]
> assert unit.hasplural()
E assert False
E + where False = <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7f6647e85350>>()
E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7f6647e85350>> = <translate.storage.pypo.pounit object at 0x7f6647e85350>.hasplural
tests/translate/storage/test_po.py:374: AssertionError
_________________ TestPYPOFile.test_makeobsolete_untranslated __________________
self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f66575a89d0>
@mark.xfail(reason="Check differing behaviours between pypo and cpo")
def test_makeobsolete_untranslated(self):
"""Tests making an untranslated unit obsolete."""
posource = '#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n'
pofile = self.poparse(posource)
unit = pofile.units[0]
print(bytes(pofile))
assert not unit.isobsolete()
unit.makeobsolete()
> assert str(unit) == ""
E assert '#~ msgid "te...~ msgstr ""\n' == ''
E
E + #~ msgid "test"
E + #~ msgstr ""
tests/translate/storage/test_po.py:449: AssertionError
----------------------------- Captured stdout call -----------------------------
b'#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n'
_________________ TestPYPOFile.test_mixed_newlines_typecomment _________________
self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f66579bfb10>
@mark.xfail(reason="Not sure if this can not be parsed gracefully")
def test_mixed_newlines_typecomment(self):
"""Checks that mixed newlines in typecomments are properly parsed."""
# This was generated by translate-tookit prior to
# issue that test_dos_newlines_write is covering was fixed.
posource = b"""#, fuzzy
msgid "test me"\r
msgstr ""\r
"""
> pofile = self.poparse(posource)
tests/translate/storage/test_pypo.py:620:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/translate/storage/test_po.py:214: in poparse
return self.StoreClass(dummyfile)
translate/storage/pypo.py:941: in __init__
super().__init__(inputfile, **kwargs)
translate/storage/pocommon.py:199: in __init__
self.parse(inputfile)
translate/storage/pypo.py:957: in parse
poparser.parse_units(poparser.ParseState(iter(lines), self.create_unit), self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
parse_state = <translate.storage.poparser.ParseState object at 0x7f6647ec99d0>
store = <translate.storage.pypo.pofile object at 0x7f6647ec9490>
def parse_units(parse_state, store):
unit = parse_header(parse_state, store)
while unit:
unit.infer_state()
store.addunit(unit)
unit = parse_unit(parse_state)
if not parse_state.eof:
> raise PoParseError(parse_state)
E translate.storage.poparser.PoParseError: Syntax error on line 2: '#, fuzzy\nmsgid "test me"\r\n'
translate/storage/poparser.py:405: PoParseError
______________________ TestSubtitleUnit.test_note_sanity _______________________
self = <tests.translate.storage.test_subtitles.TestSubtitleUnit object at 0x7f6657a9db90>
@pytest.mark.xfail(reason="Not Implemented")
def test_note_sanity(self):
> super().test_note_sanity()
tests/translate/storage/test_subtitles.py:13:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <tests.translate.storage.test_subtitles.TestSubtitleUnit object at 0x7f6657a9db90>
def test_note_sanity(self):
"""Tests that all subclasses of the base behaves consistently with regards to notes."""
unit = self.unit
unit.addnote("Test note 1", origin="translator")
unit.addnote("Test note 2", origin="translator")
unit.addnote("Test note 3", origin="translator")
expected_notes = "Test note 1\nTest note 2\nTest note 3"
actual_notes = unit.getnotes(origin="translator")
> assert actual_notes == expected_notes
E AssertionError: assert '' == 'Test note 1\...\nTest note 3'
E
E - Test note 1
E - Test note 2
E - Test note 3
tests/translate/storage/test_base.py:180: AssertionError
__________________________ TestCount.test_plurals_kde __________________________
self = <tests.translate.tools.test_pocount.TestCount object at 0x7f6657b22290>
@mark.xfail(reason="Support commented out pending removal")
def test_plurals_kde(self):
"""Test that we correcly count old style KDE plurals."""
> self.count("_n: Singular\\n\nPlural", 2, "Een\\n\ntwee\\n\ndrie", 3)
tests/translate/tools/test_pocount.py:91:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
source = '_n: Singular\\n\nPlural', expectedsource = 2
target = 'Een\\n\ntwee\\n\ndrie', expectedtarget = 3
@staticmethod
def count(source, expectedsource, target=None, expectedtarget=None):
"""Simple helper to check the respective word counts."""
poelement = po.pounit(source)
if target is not None:
poelement.target = target
wordssource, wordstarget = pocount.wordsinunit(poelement)
print(
'Source (expected=%d; actual=%d): "%s"'
% (expectedsource, wordssource, source)
)
> assert wordssource == expectedsource
E assert 3 == 2
tests/translate/tools/test_pocount.py:33: AssertionError
----------------------------- Captured stdout call -----------------------------
Source (expected=2; actual=3): "_n: Singular\n
Plural"
_________________________ TestPOMerge.test_escape_tabs _________________________
self = <tests.translate.tools.test_pomerge.TestPOMerge object at 0x7f66572990d0>
@mark.xfail(reason="Not Implemented")
def test_escape_tabs(self):
"""Ensure that input tabs are escaped in the output, like gettext does."""
# The strings below contains the tab character, not spaces.
templatepo = """msgid "First Second"\nmsgstr ""\n\n"""
mergepo = """msgid "First Second"\nmsgstr "Eerste Tweede"\n"""
expectedpo = r"""msgid "First\tSecond"
msgstr "Eerste\tTweede"
"""
pofile = self.mergestore(templatepo, mergepo)
print(f"Expected:\n{expectedpo}\n\nMerged:\n{bytes(pofile)}")
> assert bytes(pofile).decode("utf-8") == expectedpo
E assert 'msgid "First...e\\tTweede"\n' == 'msgid "First...e\\tTweede"\n'
E
E - msgid "First\tSecond"
E ? ^^
E + msgid "First Second"
E ? ^
E msgstr "Eerste\tTweede"
tests/translate/tools/test_pomerge.py:349: AssertionError
----------------------------- Captured stdout call -----------------------------
Expected:
msgid "First\tSecond"
msgstr "Eerste\tTweede"
Merged:
b'msgid "First\tSecond"\nmsgstr "Eerste\\tTweede"\n'
__________________ TestPretranslate.test_merging_msgid_change __________________
self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7f6657e448d0>
@mark.xfail(reason="Not Implemented")
def test_merging_msgid_change(self):
"""
tests that if the msgid changes but the location stays the same that
we merge.
"""
input_source = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n"""
template_source = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n"""
poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n"""
newpo = self.pretranslatepo(input_source, template_source)
print(bytes(newpo))
> assert bytes(newpo).decode("utf-8") == poexpected
E assert '#: simple.la...\nmsgstr ""\n' == '#: simple.la...we lyne\\n"\n'
E
E #: simple.label
E #: simple.accesskey
E - #, fuzzy
E msgid "Its &hard coding a newline.\n"
E - msgstr "&Hart gekoeerde nuwe lyne\n"
E + msgstr ""
tests/translate/tools/test_pretranslate.py:130: AssertionError
----------------------------- Captured stdout call -----------------------------
b'#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n'
______________ TestPretranslate.test_merging_accelerator_changes _______________
self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7f6658bcf7d0>
@mark.xfail(reason="Not Implemented")
def test_merging_accelerator_changes(self):
"""
test that a change in the accelerator localtion still allows
merging.
"""
input_source = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n"""
template_source = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n"""
poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n"""
newpo = self.pretranslatepo(input_source, template_source)
print(bytes(newpo))
> assert bytes(newpo).decode("utf-8") == poexpected
E assert '#: someline....\nmsgstr ""\n' == '#: someline....str "&Info"\n'
E
E #: someline.c
E msgid "A&bout"
E - msgstr "&Info"
E ? -----
E + msgstr ""
tests/translate/tools/test_pretranslate.py:185: AssertionError
----------------------------- Captured stdout call -----------------------------
b'#: someline.c\nmsgid "A&bout"\nmsgstr ""\n'
_________________ TestPretranslate.test_lines_cut_differently __________________
self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7f6658bcddd0>
@mark.xfail(reason="Not Implemented")
def test_lines_cut_differently(self):
"""
Checks that the correct formatting is preserved when pot an po lines
differ.
"""
input_source = (
"""#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n"""
)
template_source = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n"""
newpo = self.pretranslatepo(input_source, template_source)
newpounit = self.singleunit(newpo)
> assert str(newpounit) == template_source
E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n'
E
E #: simple.label
E - msgid "Line"
E + msgid "Line split "
E ? +++++++
E - " split differently"
E ? -------
E + "differently"
E msgstr "Lyne verskillend gesny"
tests/translate/tools/test_pretranslate.py:199: AssertionError
----------------------------- Captured stdout call -----------------------------
#: simple.label
msgid "Line split "
"differently"
msgstr "Lyne verskillend gesny"
______________ TestPretranslateCommand.test_merging_msgid_change _______________
self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7f66576da890>
@mark.xfail(reason="Not Implemented")
def test_merging_msgid_change(self):
"""
tests that if the msgid changes but the location stays the same that
we merge.
"""
input_source = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n"""
template_source = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n"""
poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n"""
newpo = self.pretranslatepo(input_source, template_source)
print(bytes(newpo))
> assert bytes(newpo).decode("utf-8") == poexpected
E assert '#: simple.la...\nmsgstr ""\n' == '#: simple.la...we lyne\\n"\n'
E
E #: simple.label
E #: simple.accesskey
E - #, fuzzy
E msgid "Its &hard coding a newline.\n"
E - msgstr "&Hart gekoeerde nuwe lyne\n"
E + msgstr ""
tests/translate/tools/test_pretranslate.py:130: AssertionError
----------------------------- Captured stdout call -----------------------------
b'#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n'
___________ TestPretranslateCommand.test_merging_accelerator_changes ___________
self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7f6657a40790>
@mark.xfail(reason="Not Implemented")
def test_merging_accelerator_changes(self):
"""
test that a change in the accelerator localtion still allows
merging.
"""
input_source = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n"""
template_source = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n"""
poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n"""
newpo = self.pretranslatepo(input_source, template_source)
print(bytes(newpo))
> assert bytes(newpo).decode("utf-8") == poexpected
E assert '#: someline....\nmsgstr ""\n' == '#: someline....str "&Info"\n'
E
E #: someline.c
E msgid "A&bout"
E - msgstr "&Info"
E ? -----
E + msgstr ""
tests/translate/tools/test_pretranslate.py:185: AssertionError
----------------------------- Captured stdout call -----------------------------
b'#: someline.c\nmsgid "A&bout"\nmsgstr ""\n'
______________ TestPretranslateCommand.test_lines_cut_differently ______________
self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7f6657a40cd0>
@mark.xfail(reason="Not Implemented")
def test_lines_cut_differently(self):
"""
Checks that the correct formatting is preserved when pot an po lines
differ.
"""
input_source = (
"""#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n"""
)
template_source = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n"""
newpo = self.pretranslatepo(input_source, template_source)
newpounit = self.singleunit(newpo)
> assert str(newpounit) == template_source
E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n'
E
E #: simple.label
E - msgid "Line"
E + msgid "Line split "
E ? +++++++
E - " split differently"
E ? -------
E + "differently"
E msgstr "Lyne verskillend gesny"
tests/translate/tools/test_pretranslate.py:199: AssertionError
----------------------------- Captured stdout call -----------------------------
#: simple.label
msgid "Line split "
"differently"
msgstr "Lyne verskillend gesny"
=============================== warnings summary ===============================
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey
Warning: Could not find accesskey for key.accesskey
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey
Warning: Could not find accesskey for prop.accesskey
.pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2tmx.py: 26 warnings
.pybuild/cpython3_3.11_translate/build/tests/translate/filters/test_pofilter.py: 13 warnings
.pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_tbx.py: 10 warnings
.pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_tmx.py: 23 warnings
Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body'
.pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting
Warning: DTD parse error: <string>:1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated
.pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting
Warning: DTD file '' does not validate
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
--------------------------- snapshot report summary ----------------------------
23 snapshots passed.
=========================== short test summary info ============================
SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found
SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent'
SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available
XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented
XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented
XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour
XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour
XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct
XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review
XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct
XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct
XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review
XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct
XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document
XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document
XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation
XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working
XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408
XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506
XFAIL tests/translate/lang/test_common.py::test_word_khmer - ZWS is not considered a space in Python 2.6+. Khmer should extend words() to include \u200b in addition to other word breakers.
XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now
XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now
XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented
XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented
XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented
XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented
XFAIL tests/translate/storage/test_omegat.py::TestOtFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type
XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented
XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo
XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page
XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented
XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo
XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully
XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented
XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal
XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented
XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented
XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented
XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented
XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented
XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented
XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented
==== 3169 passed, 3 skipped, 39 xfailed, 82 warnings, 104 errors in 32.57s =====
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_translate/build; python3.11 -m pytest -rsx -v .
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" returned exit code 13
make: *** [debian/rules:18: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202405/
About the archive rebuild: The build was made on virtual machines
of type m6a.large and r6a.large from AWS, using sbuild and a
reduced chroot with only build-essential packages.
If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
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 Debian-l10n-devel
mailing list