0s autopkgtest [19:59:47]: starting date and time: 2024-05-15 19:59:47+0000 0s autopkgtest [19:59:47]: git checkout: d60bd36 autopkgtest-build-lxd: Add missing remote prefix in get_boot_id(). 0s autopkgtest [19:59:47]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.w725rj28/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:ruamel.yaml,src:ruamel.yaml.clib --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=ruamel.yaml/0.18.6+ds-3 ruamel.yaml.clib/0.2.8+ds-1' -- lxd -r lxd-armhf-10.145.243.211 lxd-armhf-10.145.243.211:autopkgtest/ubuntu/oracular/armhf 22s autopkgtest [20:00:09]: testbed dpkg architecture: armhf 24s autopkgtest [20:00:11]: testbed apt version: 2.7.14build2 24s autopkgtest [20:00:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 31s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 31s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1842 kB] 32s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 32s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [137 kB] 32s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [9628 B] 32s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [199 kB] 32s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [1301 kB] 32s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [6188 B] 32s Fetched 3570 kB in 1s (3303 kB/s) 32s Reading package lists... 48s tee: /proc/self/fd/2: Permission denied 70s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 70s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 70s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 70s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 71s Reading package lists... 71s Reading package lists... 71s Building dependency tree... 71s Reading state information... 72s Calculating upgrade... 72s The following packages will be upgraded: 72s libgnutls30t64 pastebinit 72s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 72s Need to get 973 kB of archives. 72s After this operation, 24.6 kB of additional disk space will be used. 72s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf libgnutls30t64 armhf 3.8.5-2ubuntu1 [958 kB] 74s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf pastebinit all 1.7.0-1 [14.9 kB] 74s Fetched 973 kB in 1s (1595 kB/s) 74s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57881 files and directories currently installed.) 74s Preparing to unpack .../libgnutls30t64_3.8.5-2ubuntu1_armhf.deb ... 74s Unpacking libgnutls30t64:armhf (3.8.5-2ubuntu1) over (3.8.3-1.1ubuntu3.1) ... 74s Setting up libgnutls30t64:armhf (3.8.5-2ubuntu1) ... 74s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57881 files and directories currently installed.) 74s Preparing to unpack .../pastebinit_1.7.0-1_all.deb ... 74s Unpacking pastebinit (1.7.0-1) over (1.6.2-1) ... 74s Setting up pastebinit (1.7.0-1) ... 74s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 74s Processing triggers for man-db (2.12.0-4build2) ... 74s Reading package lists... 74s Building dependency tree... 74s Reading state information... 75s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 77s autopkgtest [20:01:04]: rebooting testbed after setup commands that affected boot 115s autopkgtest [20:01:42]: testbed running kernel: Linux 5.15.0-106-generic #116-Ubuntu SMP Wed Apr 17 09:19:22 UTC 2024 140s autopkgtest [20:02:07]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 157s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 157s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 157s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 157s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 157s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 157s gpgv: Can't check signature: No public key 157s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 157s autopkgtest [20:02:24]: testing package translate-toolkit version 3.12.2-1ubuntu1 159s autopkgtest [20:02:26]: build not needed 161s autopkgtest [20:02:28]: test translate-toolkit: preparing testbed 171s Reading package lists... 171s Building dependency tree... 171s Reading state information... 171s Starting pkgProblemResolver with broken count: 0 171s Starting 2 pkgProblemResolver with broken count: 0 171s Done 172s The following additional packages will be installed: 172s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 172s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 172s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 172s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 172s python3-diff-match-patch python3-enchant python3-iniparse 172s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 172s python3-more-itertools python3-phply python3-ply python3-pycountry 172s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 172s python3-simplejson python3-soupsieve python3-translate python3-vobject 172s python3-xapian subversion translate-toolkit 172s Suggested packages: 172s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 172s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 172s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 172s python-rapidfuzz-doc python3-subversion translate-toolkit-doc xapian-doc 172s db5.3-util libapache2-mod-svn subversion-tools 172s Recommended packages: 172s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 172s python3-cssselect python3-html5lib translate-toolkit-doc 172s The following NEW packages will be installed: 172s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 172s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 172s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 172s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 172s python3-diff-match-patch python3-enchant python3-iniparse 172s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 172s python3-more-itertools python3-phply python3-ply python3-pycountry 172s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 172s python3-simplejson python3-soupsieve python3-translate python3-vobject 172s python3-xapian subversion translate-toolkit 172s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 172s Need to get 9948 kB/9949 kB of archives. 172s After this operation, 37.1 MB of additional disk space will be used. 172s Get:1 /tmp/autopkgtest.8zW4lu/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [868 B] 172s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 172s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 172s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14-20240412-0ubuntu1 [125 kB] 172s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.21-14ubuntu2 [800 kB] 173s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 173s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.1build2 [86.1 kB] 173s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-1.1ubuntu7 [82.3 kB] 173s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 173s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 173s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 173s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 173s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-2 [40.2 kB] 173s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 173s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-1build4 [1200 kB] 173s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 173s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 173s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.11-2 [221 kB] 173s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 173s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 173s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.2.0-1 [52.9 kB] 173s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 173s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 173s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 173s Get:25 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 173s Get:26 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 173s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.6.2+ds-3 [1200 kB] 173s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-2 [139 kB] 173s Get:29 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.1-1 [1200 kB] 173s Get:30 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 173s Get:31 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 173s Get:32 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 173s Get:33 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-ruamel.yaml.clib armhf 0.2.8+ds-1 [120 kB] 173s Get:34 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 173s Get:35 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 173s Get:36 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.12.2-1ubuntu1 [318 kB] 173s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 173s Get:38 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-xapian armhf 1.4.22-1build5 [370 kB] 173s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-1build4 [890 kB] 173s Get:40 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 173s Get:41 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 173s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 173s Preconfiguring packages ... 174s Fetched 9948 kB in 1s (9330 kB/s) 174s Selecting previously unselected package emacsen-common. 174s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57883 files and directories currently installed.) 174s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 174s Unpacking emacsen-common (3.0.5) ... 174s Selecting previously unselected package dictionaries-common. 174s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 174s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 174s Unpacking dictionaries-common (1.29.7) ... 174s Selecting previously unselected package libgomp1:armhf. 174s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_armhf.deb ... 174s Unpacking libgomp1:armhf (14-20240412-0ubuntu1) ... 174s Selecting previously unselected package gettext. 174s Preparing to unpack .../03-gettext_0.21-14ubuntu2_armhf.deb ... 174s Unpacking gettext (0.21-14ubuntu2) ... 174s Selecting previously unselected package hunspell-en-us. 174s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 174s Unpacking hunspell-en-us (1:2020.12.07-2) ... 174s Selecting previously unselected package libapr1t64:armhf. 174s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_armhf.deb ... 174s Unpacking libapr1t64:armhf (1.7.2-3.1build2) ... 174s Selecting previously unselected package libaprutil1t64:armhf. 174s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_armhf.deb ... 174s Unpacking libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 174s Selecting previously unselected package libaspell15:armhf. 174s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 174s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 174s Selecting previously unselected package libhunspell-1.7-0:armhf. 174s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 174s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 174s Selecting previously unselected package libenchant-2-2:armhf. 174s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 174s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 174s Selecting previously unselected package libexttextcat-data. 174s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 174s Unpacking libexttextcat-data (3.4.7-1build1) ... 174s Selecting previously unselected package libserf-1-1:armhf. 174s Preparing to unpack .../11-libserf-1-1_1.3.10-2_armhf.deb ... 174s Unpacking libserf-1-1:armhf (1.3.10-2) ... 174s Selecting previously unselected package libutf8proc3:armhf. 174s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 174s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 174s Selecting previously unselected package libsvn1:armhf. 174s Preparing to unpack .../13-libsvn1_1.14.3-1build4_armhf.deb ... 174s Unpacking libsvn1:armhf (1.14.3-1build4) ... 174s Selecting previously unselected package libxapian30:armhf. 174s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 174s Unpacking libxapian30:armhf (1.4.22-1build1) ... 174s Selecting previously unselected package libxslt1.1:armhf. 174s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 174s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 174s Selecting previously unselected package python3-aeidon. 174s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 174s Unpacking python3-aeidon (1.11-2) ... 174s Selecting previously unselected package python3-soupsieve. 174s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 174s Unpacking python3-soupsieve (2.5-1) ... 174s Selecting previously unselected package python3-bs4. 174s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 174s Unpacking python3-bs4 (4.12.3-1) ... 174s Selecting previously unselected package python3-more-itertools. 174s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 174s Unpacking python3-more-itertools (10.2.0-1) ... 174s Selecting previously unselected package python3-jaraco.functools. 174s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 174s Unpacking python3-jaraco.functools (4.0.0-1) ... 174s Selecting previously unselected package python3-cheroot. 174s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 174s Unpacking python3-cheroot (10.0.0+ds1-2) ... 174s Selecting previously unselected package python3-dateutil. 174s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 174s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 174s Selecting previously unselected package python3-diff-match-patch. 174s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 174s Unpacking python3-diff-match-patch (20230430-1) ... 174s Selecting previously unselected package python3-enchant. 174s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 174s Unpacking python3-enchant (3.2.2-1) ... 174s Selecting previously unselected package python3-rapidfuzz. 174s Preparing to unpack .../25-python3-rapidfuzz_3.6.2+ds-3_armhf.deb ... 174s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 174s Selecting previously unselected package python3-levenshtein. 174s Preparing to unpack .../26-python3-levenshtein_0.25.1-2_armhf.deb ... 174s Unpacking python3-levenshtein (0.25.1-2) ... 174s Selecting previously unselected package python3-lxml:armhf. 174s Preparing to unpack .../27-python3-lxml_5.2.1-1_armhf.deb ... 174s Unpacking python3-lxml:armhf (5.2.1-1) ... 174s Selecting previously unselected package python3-mistletoe. 174s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 174s Unpacking python3-mistletoe (1.3.0-1) ... 174s Selecting previously unselected package python3-ply. 174s Preparing to unpack .../29-python3-ply_3.11-6_all.deb ... 174s Unpacking python3-ply (3.11-6) ... 174s Selecting previously unselected package python3-phply. 174s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 174s Unpacking python3-phply (1.2.6-1) ... 174s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 174s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8+ds-1_armhf.deb ... 174s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8+ds-1) ... 174s Selecting previously unselected package python3-ruamel.yaml. 175s Preparing to unpack .../32-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 175s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 175s Selecting previously unselected package python3-simplejson. 175s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_armhf.deb ... 175s Unpacking python3-simplejson (3.19.2-1build2) ... 175s Selecting previously unselected package python3-translate. 175s Preparing to unpack .../34-python3-translate_3.12.2-1ubuntu1_all.deb ... 175s Unpacking python3-translate (3.12.2-1ubuntu1) ... 175s Selecting previously unselected package python3-vobject. 175s Preparing to unpack .../35-python3-vobject_0.9.6.1-2_all.deb ... 175s Unpacking python3-vobject (0.9.6.1-2) ... 175s Selecting previously unselected package python3-xapian. 175s Preparing to unpack .../36-python3-xapian_1.4.22-1build5_armhf.deb ... 175s Unpacking python3-xapian (1.4.22-1build5) ... 175s Selecting previously unselected package subversion. 175s Preparing to unpack .../37-subversion_1.14.3-1build4_armhf.deb ... 175s Unpacking subversion (1.14.3-1build4) ... 175s Selecting previously unselected package translate-toolkit. 175s Preparing to unpack .../38-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 175s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 175s Selecting previously unselected package python3-iniparse. 175s Preparing to unpack .../39-python3-iniparse_0.5-2_all.deb ... 175s Unpacking python3-iniparse (0.5-2) ... 175s Selecting previously unselected package python3-pycountry. 175s Preparing to unpack .../40-python3-pycountry_23.12.11+ds1-2_all.deb ... 175s Unpacking python3-pycountry (23.12.11+ds1-2) ... 175s Selecting previously unselected package autopkgtest-satdep. 175s Preparing to unpack .../41-1-autopkgtest-satdep.deb ... 175s Unpacking autopkgtest-satdep (0) ... 175s Setting up python3-more-itertools (10.2.0-1) ... 175s Setting up libxapian30:armhf (1.4.22-1build1) ... 175s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 175s Setting up python3-diff-match-patch (20230430-1) ... 176s Setting up python3-jaraco.functools (4.0.0-1) ... 176s Setting up python3-aeidon (1.11-2) ... 176s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 176s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 176s Setting up python3-ply (3.11-6) ... 176s Setting up python3-ruamel.yaml.clib:armhf (0.2.8+ds-1) ... 176s Setting up libgomp1:armhf (14-20240412-0ubuntu1) ... 176s Setting up python3-simplejson (3.19.2-1build2) ... 176s Setting up emacsen-common (3.0.5) ... 176s Setting up python3-cheroot (10.0.0+ds1-2) ... 176s Setting up python3-pycountry (23.12.11+ds1-2) ... 177s Setting up python3-xapian (1.4.22-1build5) ... 177s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 177s Setting up python3-mistletoe (1.3.0-1) ... 177s Setting up libexttextcat-data (3.4.7-1build1) ... 177s Setting up libapr1t64:armhf (1.7.2-3.1build2) ... 177s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 177s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 177s Setting up python3-levenshtein (0.25.1-2) ... 177s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 177s Setting up python3-soupsieve (2.5-1) ... 177s Setting up python3-iniparse (0.5-2) ... 178s Setting up libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 178s Setting up python3-vobject (0.9.6.1-2) ... 178s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 178s patterns['name'] = '[a-zA-Z0-9\-_]+' 178s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 178s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 178s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 178s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 178s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 178s """ 178s Setting up gettext (0.21-14ubuntu2) ... 178s Setting up python3-phply (1.2.6-1) ... 178s Setting up dictionaries-common (1.29.7) ... 178s Setting up libserf-1-1:armhf (1.3.10-2) ... 178s Setting up python3-bs4 (4.12.3-1) ... 178s Setting up python3-lxml:armhf (5.2.1-1) ... 179s Setting up hunspell-en-us (1:2020.12.07-2) ... 179s Setting up libsvn1:armhf (1.14.3-1build4) ... 179s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 179s Setting up subversion (1.14.3-1build4) ... 179s Setting up python3-enchant (3.2.2-1) ... 179s Setting up python3-translate (3.12.2-1ubuntu1) ... 179s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 179s Setting up autopkgtest-satdep (0) ... 179s Processing triggers for man-db (2.12.0-4build2) ... 180s Processing triggers for install-info (7.1-3build2) ... 180s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 180s Processing triggers for dictionaries-common (1.29.7) ... 195s (Reading database ... 61330 files and directories currently installed.) 195s Removing autopkgtest-satdep (0) ... 201s autopkgtest [20:03:08]: test translate-toolkit: [----------------------- 202s ========= SMOKE TEST: /usr/bin/android2po =========== 202s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Android string files to Gettext PO localization files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/android2po.html for examples and usage 202s instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in xml format 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in po, pot formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in xml format 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --duplicates=DUPLICATESTYLE 202s what to do with duplicate strings (identical source 202s text): merge, msgctxt (default: 'msgctxt') 202s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 202s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 202s input files [input files ...] 202s 202s positional arguments: 202s input files 202s 202s options: 202s -h, --help show this help message and exit 202s -d TMDB_FILE, --tmdb TMDB_FILE 202s translation memory database file (default: tm.db) 202s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 202s source language of translation files (default: en) 202s -t TARGET_LANG, --import-target-lang TARGET_LANG 202s target language of translation files 203s ========= SMOKE TEST: /usr/bin/buildxpi =========== 203s usage: Usage: buildxpi.py [] [ ...] 203s 203s positional arguments: 203s langs 203s 203s options: 203s -h, --help show this help message and exit 203s -L L10NBASE, --l10n-base L10NBASE 203s The directory containing the subdirectory. 203s -o OUTPUTDIR, --output-dir OUTPUTDIR 203s The directory to copy the built XPI to (default: 203s current directory). 203s -p MOZPRODUCT, --mozproduct MOZPRODUCT 203s The Mozilla product name (default: "browser"). 203s -s SRCDIR, --src SRCDIR 203s The directory containing the Mozilla l10n sources. 203s -d, --delete-dest Delete output XPI if it already exists. 203s -v, --verbose Be more noisy 203s --soft-max-version Override a fixed max version with one to cover the 203s whole cycle e.g. 24.0a1 becomes 24.0.* 203s ========= SMOKE TEST: /usr/bin/csv2po =========== 203s Usage: csv2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 203s 203s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 203s See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in csv format 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in po, pot, pot formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -P, --pot output PO Templates (.pot) rather than PO files (.po) 203s --charset=CHARSET set charset to decode from csv files 203s --columnorder=COLUMNORDER 203s specify the order and position of columns 203s (location,source,target) 203s --duplicates=DUPLICATESTYLE 203s what to do with duplicate strings (identical source 203s text): merge, msgctxt (default: 'msgctxt') 203s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 203s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 203s glossary file. See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in csv format 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in tbx format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --charset=CHARSET set charset to decode from csv files 203s --columnorder=COLUMNORDER 203s specify the order and position of columns 203s (comment,source,target) 203s ========= SMOKE TEST: /usr/bin/dtd2po =========== 203s Usage: dtd2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 203s 203s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 203s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 203s this module You can convert back to .dtd using po2dtd.py. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in dtd format 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in dtd format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -P, --pot output PO Templates (.pot) rather than PO files (.po) 203s --duplicates=DUPLICATESTYLE 203s what to do with duplicate strings (identical source 203s text): merge, msgctxt (default: 'msgctxt') 203s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 203s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert flat XML files to Gettext PO localization files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/flatxml2po.html for examples and usage 203s instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in xml format 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -r ROOT, --root=ROOT name of the XML root element (default: "root") 203s -v VALUE, --value=VALUE 203s name of the XML value element (default: "str") 203s -k KEY, --key=KEY name of the XML key attribute (default: "key") 203s -n NS, --namespace=NS 203s XML namespace uri (default: None) 203s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 203s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 203s [--delete-dest] [-v] 203s 203s options: 203s -h, --help show this help message and exit 203s -s SRCDIR, --src SRCDIR 203s The directory containing the Mozilla l10n sources. 203s -d DESTDIR, --dest DESTDIR 203s The destination directory to copy the en-US locale 203s files to. 203s -p MOZPRODUCT, --mozproduct MOZPRODUCT 203s The Mozilla product name. 203s --delete-dest Delete the destination directory (if it exists). 203s -v, --verbose Be more noisy 203s ========= SMOKE TEST: /usr/bin/html2po =========== 203s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 203s 203s Convert HTML files to Gettext PO localization files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in htm, html, xhtml formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -P, --pot output PO Templates (.pot) rather than PO files (.po) 203s --keepcomments preserve html comments as translation notes in the 203s output 203s --duplicates=DUPLICATESTYLE 203s what to do with duplicate strings (identical source 203s text): merge, msgctxt (default: 'msgctxt') 203s --multifile=MULTIFILESTYLE 203s how to split po/pot files (single, toplevel or 203s onefile) 204s ========= SMOKE TEST: /usr/bin/ical2po =========== 204s Usage: ical2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 204s 204s Convert iCalendar files to Gettext PO localization files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in ics format 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in ics format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 204s ========= SMOKE TEST: /usr/bin/idml2po =========== 204s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Convert IDML files to PO localization files. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in idml format 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s ========= SMOKE TEST: /usr/bin/ini2po =========== 204s Usage: ini2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 204s 204s Convert .ini files to Gettext PO localization files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in ini, isl, iss formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in ini, isl, iss formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 204s ========= SMOKE TEST: /usr/bin/json2po =========== 204s Usage: json2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 204s 204s Convert JSON files to Gettext PO localization files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in json format 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in json format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 204s everything) 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 204s ========= SMOKE TEST: /usr/bin/md2po =========== 205s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 205s 205s Convert Markdown files to Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in markdown, md, text, txt formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s --multifile=MULTIFILESTYLE 205s how to split po/pot files (single, toplevel or 205s onefile) 205s ========= SMOKE TEST: /usr/bin/moz2po =========== 205s Usage: moz2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 205s 205s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 205s See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in *, dtd, inc, ini, it, js, lang, 205s manifest, properties, rdf formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 205s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 205s lang.pot, manifest, properties.po, properties.pot, rdf 205s formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 205s manifest, properties, rdf formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 205s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 205s 205s Convert Mozilla .lang files to Gettext PO localization files. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in lang format 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --encoding=ENCODING The encoding of the input file (default: UTF-8) 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/msghack =========== 205s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 205s This program can be used to alter .po files in ways no sane mind would think about. 205s -o result will be written to FILE 205s --invert invert a po file by switching msgid and msgstr 205s --master join any number of files in a master-formatted catalog 205s --empty empty the contents of the .po file, creating a .pot 205s --append append entries from ref.po that don't exist in file.po 205s 205s Note: It is just a replacement of msghack for backward support. 205s 205s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 205s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Convert OpenDocument (ODF) files to XLIFF localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 205s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 205s formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s ========= SMOKE TEST: /usr/bin/oo2po =========== 205s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 205s 205s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 205s files. See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in oo, sdf formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s -l LANG, --language=LANG 205s set target language to extract from oo file (e.g. af- 205s ZA) 205s --source-language=LANG 205s set source language code (default en-US) 205s --nonrecursiveinput don't treat the input oo as a recursive store 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s --multifile=MULTIFILESTYLE 205s how to split po/pot files (single, toplevel or 205s onefile) 206s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 206s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 206s files. See: http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in oo, sdf formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in xlf, xliff formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -l LANG, --language=LANG 206s set target language to extract from oo file (e.g. af- 206s ZA) 206s --source-language=LANG 206s set source language code (default en-US) 206s --nonrecursiveinput don't treat the input oo as a recursive store 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s --multifile=MULTIFILESTYLE 206s how to split po/pot files (single, toplevel or 206s onefile) 206s ========= SMOKE TEST: /usr/bin/php2po =========== 206s Usage: php2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 206s 206s Convert PHP localization files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in html, php formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in html, php formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 206s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert PHP format .po files to Python format .po files. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s ========= SMOKE TEST: /usr/bin/po2csv =========== 206s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 206s See: http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in csv format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --columnorder=COLUMNORDER 206s specify the order and position of columns 206s (location,source,target) 206s ========= SMOKE TEST: /usr/bin/po2dtd =========== 206s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 206s Conversion is either done using a template plus PO file or just using the 206s .po file. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in dtd format 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in dtd format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --threshold=PERCENT only convert files where the translation completion is 206s above PERCENT 206s --fuzzy use translations marked fuzzy 206s --nofuzzy don't use translations marked fuzzy (default) 206s --removeuntranslated remove untranslated strings from output 206s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 206s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Convert Gettext PO localization files to flat XML files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/flatxml2po.html for examples and usage 206s instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in xml format 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in xml format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -r ROOT, --root=ROOT name of the XML root element (default: "root") 206s -v VALUE, --value=VALUE 206s name of the XML value element (default: "str") 206s -k KEY, --key=KEY name of the XML key attribute (default: "key") 206s -n NS, --namespace=NS 206s XML namespace uri (default: None) 206s -w INDENT, --indent=INDENT 206s indent width in spaces, 0 for no indent (default: 2) 206s ========= SMOKE TEST: /usr/bin/po2html =========== 206s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Translate HTML files using Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in htm, html, xhtml formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in htm, html, xhtml formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --threshold=PERCENT only convert files where the translation completion is 206s above PERCENT 206s --fuzzy use translations marked fuzzy 206s --nofuzzy don't use translations marked fuzzy (default) 207s ========= SMOKE TEST: /usr/bin/po2ical =========== 207s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Convert Gettext PO localization files to iCalendar files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in ics format 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in ics format 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s --threshold=PERCENT only convert files where the translation completion is 207s above PERCENT 207s --fuzzy use translations marked fuzzy 207s --nofuzzy don't use translations marked fuzzy (default) 207s ========= SMOKE TEST: /usr/bin/po2idml =========== 207s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Takes an IDML template file and a PO file containing translations of strings 207s in the IDML template. It creates a new IDML file using the translations of the 207s PO file. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in idml format 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in idml format 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s ========= SMOKE TEST: /usr/bin/po2ini =========== 207s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Convert Gettext PO localization files to .ini files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in ini, isl formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in ini, isl formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s --threshold=PERCENT only convert files where the translation completion is 207s above PERCENT 207s --fuzzy use translations marked fuzzy 207s --nofuzzy don't use translations marked fuzzy (default) 207s ========= SMOKE TEST: /usr/bin/po2json =========== 207s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Convert Gettext PO localization files to JSON files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in json format 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in json format 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s --threshold=PERCENT only convert files where the translation completion is 207s above PERCENT 207s --fuzzy use translations marked fuzzy 207s --nofuzzy don't use translations marked fuzzy (default) 207s --removeuntranslated remove untranslated strings from output 207s ========= SMOKE TEST: /usr/bin/po2md =========== 208s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 208s 208s Translate Markdown files using Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in markdown, md, text, txt formats 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in markdown, md, text, txt formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -m MAXLENGTH, --maxlinelength=MAXLENGTH 208s reflow (word wrap) the output to the given maximum 208s line length. set to 0 to disable 208s --threshold=PERCENT only convert files where the translation completion is 208s above PERCENT 208s --fuzzy use translations marked fuzzy 208s --nofuzzy don't use translations marked fuzzy (default) 208s ========= SMOKE TEST: /usr/bin/po2moz =========== 208s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 208s 208s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 208s See: http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in *, dtd.po, dtd.pot, inc.po, 208s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 208s lang.pot, manifest, properties.po, properties.pot, rdf 208s formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 208s manifest, properties, rdf formats 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 208s manifest, properties, rdf formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -l LOCALE, --locale=LOCALE 208s set output locale (required as this sets the directory 208s names) 208s --threshold=PERCENT only convert files where the translation completion is 208s above PERCENT 208s --fuzzy use translations marked fuzzy 208s --nofuzzy don't use translations marked fuzzy (default) 208s --removeuntranslated remove untranslated strings from output 208s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 208s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 208s 208s Convert Gettext PO localization files to Mozilla .lang files. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in lang format 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in lang format 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s --mark-active mark the file as active 208s --threshold=PERCENT only convert files where the translation completion is 208s above PERCENT 208s --fuzzy use translations marked fuzzy 208s --nofuzzy don't use translations marked fuzzy (default) 208s ========= SMOKE TEST: /usr/bin/po2oo =========== 208s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 208s 208s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 208s file. See: http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot, xlf, xliff formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in oo, sdf formats 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in oo, sdf formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -l LANG, --language=LANG 208s set target language code (e.g. af-ZA) [required] 208s --source-language=LANG 208s set source language code (default en-US) 208s -T, --keeptimestamp don't change the timestamps of the strings 208s --nonrecursiveoutput don't treat the output oo as a recursive store 208s --nonrecursivetemplate 208s don't treat the template oo as a recursive store 208s --skipsource don't output the source language, but fallback to it 208s where needed 208s --filteraction=ACTION 208s action on pofilter failure: none (default), warn, 208s exclude-serious, exclude-all 208s --threshold=PERCENT only convert files where the translation completion is 208s above PERCENT 208s --fuzzy use translations marked fuzzy 208s --nofuzzy don't use translations marked fuzzy (default) 208s --multifile=MULTIFILESTYLE 208s how to split po/pot files (single, toplevel or 208s onefile) 208s ========= SMOKE TEST: /usr/bin/po2php =========== 208s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 208s 208s Convert Gettext PO localization files to PHP localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in html, php formats 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in html, php formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s --threshold=PERCENT only convert files where the translation completion is 208s above PERCENT 208s --fuzzy use translations marked fuzzy 208s --nofuzzy don't use translations marked fuzzy (default) 209s ========= SMOKE TEST: /usr/bin/po2prop =========== 209s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert Gettext PO localization files to Java/Mozilla .properties files. 209s See: http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in lang, properties, strings formats 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in lang, properties, strings 209s formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s --personality=TYPE override the input file format: java, java-utf8, java- 209s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 209s strings, strings-utf8, joomla (for .properties files, 209s default: java) 209s --encoding=ENCODING override the encoding set by the personality 209s --threshold=PERCENT only convert files where the translation completion is 209s above PERCENT 209s --fuzzy use translations marked fuzzy 209s --nofuzzy don't use translations marked fuzzy (default) 209s --removeuntranslated remove untranslated strings from output 209s ========= SMOKE TEST: /usr/bin/po2rc =========== 209s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert Gettext PO localization files back to Windows Resource (.rc) files. 209s See: http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in rc format 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in rc format 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 209s -l LANG, --lang=LANG LANG entry 209s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 209s --threshold=PERCENT only convert files where the translation completion is 209s above PERCENT 209s --fuzzy use translations marked fuzzy 209s --nofuzzy don't use translations marked fuzzy (default) 209s ========= SMOKE TEST: /usr/bin/po2resx =========== 209s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in resx format 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in resx format 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s --fuzzy use translations marked fuzzy 209s --nofuzzy don't use translations marked fuzzy (default) 209s ========= SMOKE TEST: /usr/bin/po2sub =========== 209s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert Gettext PO localization files to subtitle files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in ass, srt, ssa, sub formats 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in ass, srt, ssa, sub formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s --threshold=PERCENT only convert files where the translation completion is 209s above PERCENT 209s --fuzzy use translations marked fuzzy 209s --nofuzzy don't use translations marked fuzzy (default) 209s ========= SMOKE TEST: /usr/bin/po2symb =========== 209s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert Gettext PO localization files to Symbian translation files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in r0 format 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s --duplicates=DUPLICATESTYLE 209s what to do with duplicate strings (identical source 209s text): merge, msgctxt (default: 'msgctxt') 209s ========= SMOKE TEST: /usr/bin/po2tiki =========== 209s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 209s 209s Convert Gettext PO files to TikiWiki's language.php files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in tiki format 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s ========= SMOKE TEST: /usr/bin/po2tmx =========== 210s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 210s 210s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 210s file. See: http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in tmx format 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s -l LANG, --language=LANG 210s set target language code (e.g. af-ZA) [required] 210s --source-language=LANG 210s set source language code (default: en) 210s --comments=COMMENT set default comment import: none, source, type or 210s others (default: none) 210s ========= SMOKE TEST: /usr/bin/po2ts =========== 210s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 210s 210s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 210s http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in ts format 210s -t TEMPLATE, --template=TEMPLATE 210s read from TEMPLATE in ts format 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s -c CONTEXT, --context=CONTEXT 210s use supplied context instead of the one in the .po 210s file comment 210s ========= SMOKE TEST: /usr/bin/po2txt =========== 210s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 210s 210s Convert Gettext PO localization files to plain text (.txt) files. See: 210s http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot, xlf, xliff formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in txt format 210s -t TEMPLATE, --template=TEMPLATE 210s read from TEMPLATE in txt format 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s --encoding=ENCODING The encoding of the template file (default: UTF-8) 210s -w WRAP, --wrap=WRAP set number of columns to wrap text at 210s --threshold=PERCENT only convert files where the translation completion is 210s above PERCENT 210s --fuzzy use translations marked fuzzy 210s --nofuzzy don't use translations marked fuzzy (default) 210s ========= SMOKE TEST: /usr/bin/po2web2py =========== 210s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 210s 210s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 210s http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in py format 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s --threshold=PERCENT only convert files where the translation completion is 210s above PERCENT 210s --fuzzy use translations marked fuzzy 210s --nofuzzy don't use translations marked fuzzy (default) 210s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 210s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 210s 210s Convert Gettext PO localization files to a Wordfast translation memory file. 210s See: http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/po2wordfast.html for examples and usage 210s instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in txt format 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s -l LANG, --language=LANG 210s set target language code (e.g. af-ZA) [required] 210s --source-language=LANG 210s set source language code (default: en) 210s ========= SMOKE TEST: /usr/bin/po2xliff =========== 210s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 210s 210s Convert Gettext PO localization files to XLIFF localization files. See: 210s http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in xlf, xliff formats 210s -t TEMPLATE, --template=TEMPLATE 210s read from TEMPLATE in xlf, xliff formats 210s -S, --timestamp skip conversion if the output file has newer timestamp 211s ========= SMOKE TEST: /usr/bin/po2yaml =========== 211s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 211s 211s Convert Gettext PO localization files to YAML files. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in yaml, yml formats 211s -t TEMPLATE, --template=TEMPLATE 211s read from TEMPLATE in yaml, yml formats 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s --threshold=PERCENT only convert files where the translation completion is 211s above PERCENT 211s --fuzzy use translations marked fuzzy 211s --nofuzzy don't use translations marked fuzzy (default) 211s ========= SMOKE TEST: /usr/bin/poclean =========== 211s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 211s 211s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 211s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 211s produces the target file with only the target text in from a text version of 211s the RTF. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot, xlf, xliff formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot, xlf, xliff formats 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s ========= SMOKE TEST: /usr/bin/pocompendium =========== 211s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 211s The first parameter is the output file, standard output if the output file is '-'. 211s Any number of directories may be specified for input files. 211s Options: 211s --invert|v Creates an inverse compendium with msgid and msgstr swapped 211s --errors|e Only ouput msg bundles that have errors 211s --correct|c Only ouput msg bundles that are correctly translated 211s --ignore-case|i Drops all strings to lowercase 211s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 211s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 211s --strip-accel-under|-su Strip all underscore (_) accelerator characters 211s ========= SMOKE TEST: /usr/bin/pocompile =========== 211s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 211s 211s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 211s Object) files. See: http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot, xlf, xliff formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in mo format 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s --fuzzy use translations marked fuzzy 211s --nofuzzy don't use translations marked fuzzy (default) 211s ========= SMOKE TEST: /usr/bin/poconflicts =========== 211s Usage: poconflicts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-I|--ignore-case] [-v|--invert] [--accelerator ACCELERATORS] 211s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 211s 211s Conflict finder for Gettext PO localization files. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/poconflicts.html for examples and usage 211s instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po format 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po format 211s -I, --ignore-case ignore case distinctions 211s -v, --invert invert the conflicts thus extracting conflicting 211s destination words 211s --accelerator=ACCELERATORS 211s ignores the given accelerator characters when matching 211s ========= SMOKE TEST: /usr/bin/pocount =========== 211s usage: pocount [-h] [--incomplete] 211s [--full | --csv | --short | --short-strings | --short-words] 211s [--no-color] 211s files [files ...] 211s 211s positional arguments: 211s files 211s 211s options: 211s -h, --help show this help message and exit 211s --incomplete skip 100% translated files. 211s 211s Output format: 211s --full (default) statistics in full, verbose format 211s --csv statistics in CSV format 211s --short same as --short-strings 211s --short-strings statistics of strings in short format - one line per file 211s --short-words statistics of words in short format - one line per file 211s --no-color show output without color 211s ========= SMOKE TEST: /usr/bin/podebug =========== 211s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 211s 211s Insert debug messages into XLIFF and Gettext PO localization files. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot, pot, tmx, xlf, xliff 211s formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot, tmx, xlf, xliff formats 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s -f FORMAT, --format=FORMAT 211s specify format string 211s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 211s classified, en, flipped, unicode, xxx 211s --ignore=APPLICATION apply tagging ignore rules for the given application: 211s gtk, kde, libreoffice, mozilla, openoffice 211s --preserveplaceholders 211s attempt to exclude characters that are part of 211s placeholders when performing character-level rewrites 211s so that consuming applications can still use the 211s placeholders to generate final output 211s ========= SMOKE TEST: /usr/bin/pofilter =========== 211s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 211s 211s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 211s Snippet files are created whenever a test fails. These can be examined, 211s corrected and merged back into the originals using pomerge. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 211s and http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 211s tests. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot, tmx, xlf, xliff formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot, tmx, xlf, xliff formats 211s -l, --listfilters list filters available 211s --review include units marked for review (default) 211s --noreview exclude units marked for review 211s --fuzzy include units marked fuzzy (default) 211s --nofuzzy exclude units marked fuzzy 211s --nonotes don't add notes about the errors 211s --autocorrect output automatic corrections where possible rather 211s than describing issues 211s --language=LANG set target language code (e.g. af-ZA) [required for 211s spell check and recommended in general] 211s --openoffice use the standard checks for OpenOffice translations 211s --libreoffice use the standard checks for LibreOffice translations 211s --mozilla use the standard checks for Mozilla translations 211s --drupal use the standard checks for Drupal translations 211s --gnome use the standard checks for Gnome translations 211s --kde use the standard checks for KDE translations 211s --wx use the standard checks for wxWidgets translations 211s --excludefilter=FILTER 211s don't use FILTER when filtering 211s -t FILTER, --test=FILTER 211s only use test FILTERs specified with this option when 211s filtering 211s --notranslatefile=FILE 211s read list of untranslatable words from FILE (must not 211s be translated) 211s --musttranslatefile=FILE 211s read list of translatable words from FILE (must be 211s translated) 211s --validcharsfile=FILE 211s read list of all valid characters from FILE (must be 211s in UTF-8) 211s ========= SMOKE TEST: /usr/bin/pogrep =========== 211s Usage: pogrep searchstring [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [--search SEARCHPARTS] [-I|--ignore-case] [-e|--regexp] [-v|--invert-match] [--accelerator ACCELERATOR] [-k|--keep-translations] 211s 211s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 211s snippet files of the same type which can then be reviewed and later merged 211s using :doc:`pomerge `. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 211s xliff formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 211s xliff formats 211s --search=SEARCHPARTS searches the given parts (source, target, notes and 211s locations) 211s -I, --ignore-case ignore case distinctions 211s -e, --regexp use regular expression matching 211s -v, --invert-match select non-matching lines 211s --accelerator=ACCELERATOR 211s ignores the given accelerator when matching 211s -k, --keep-translations 211s always extract units with translations 211s ========= SMOKE TEST: /usr/bin/pomerge =========== 211s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 211s 211s Merges XLIFF and Gettext PO localization files. Snippet file produced by 211s e.g. :doc:`pogrep ` and updated by a translator can be 211s merged back into the original files. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot, pot, xlf, xliff formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot, pot, xlf, xliff formats 211s -t TEMPLATE, --template=TEMPLATE 211s read from TEMPLATE in po, pot, pot, xlf, xliff formats 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s --mergeblanks=MERGEBLANKS 211s whether to overwrite existing translations with blank 211s translations (yes/no). Default is yes. 211s --mergefuzzy=MERGEFUZZY 211s whether to consider fuzzy translations from input 211s (yes/no). Default is yes. 211s --mergecomments=MERGECOMMENTS 211s whether to merge comments as well as translations 211s (yes/no). Default is yes. 211s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 211s Usage pomigrate2 [options] 211s 211s Options: 211s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 211s -C|--use-compendium - create and use a compendium built from the migrating files 211s -C|--use-compendium=some-compendium.po 211s - use an external compendium during the migration 211s --no-wrap - do not wrap long lines 211s --locale=lang - set locale for newly born files 211s -q|--quiet - suppress most output 211s -p|--pot2po - use pot2po instead of msgmerge to migrate 211s ========= SMOKE TEST: /usr/bin/popuretext =========== 211s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 211s ========= SMOKE TEST: /usr/bin/poreencode =========== 211s Usage: poreencode 211s eg: poreencode UTF-8 af/ 211s ========= SMOKE TEST: /usr/bin/porestructure =========== 211s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 211s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 211s 211s Restructure Gettxt PO files produced by :doc:`poconflicts 211s ` into the original directory tree for merging using 211s :doc:`pomerge `. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po format 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po format 212s ========= SMOKE TEST: /usr/bin/posegment =========== 212s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 212s 212s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 212s See: http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in po, pot, tmx, xlf, xliff formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot, tmx, xlf, xliff formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s -P, --pot output PO Templates (.pot) rather than PO files (.po) 212s -l LANG, --language=LANG 212s the target language code 212s --source-language=LANG 212s the source language code (default 'en') 212s --keepspaces Disable automatic stripping of whitespace 212s --only-aligned Removes units where sentence number does not 212s correspond 212s ========= SMOKE TEST: /usr/bin/poswap =========== 212s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 212s 212s Builds a new translation file with the target of the input language as source 212s language. .. note:: Ensure that the two po files correspond 100% to the same 212s pot file before using this. To translate Kurdish (ku) through French:: 212s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 212s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 212s http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in po, pot formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot formats 212s -t TEMPLATE, --template=TEMPLATE 212s read from TEMPLATE in po, pot, pot formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s --reverse reverse the process of intermediate language 212s conversion 212s ========= SMOKE TEST: /usr/bin/pot2po =========== 212s Usage: pot2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 212s 212s Convert template files (like .pot or template .xlf files) to translation 212s files, preserving existing translations. See: 212s http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 212s formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 212s xliff formats 212s -t TEMPLATE, --template=TEMPLATE 212s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 212s xliff formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s -P, --pot output PO Templates (.pot) rather than PO files (.po) 212s --tm=TM The file to use as translation memory when fuzzy 212s matching 212s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 212s The minimum similarity for inclusion (default: 75%) 212s --nofuzzymatching Disable fuzzy matching 212s ========= SMOKE TEST: /usr/bin/poterminology =========== 212s Usage: poterminology [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-u|--update UPDATEFILE] [-S|--stopword-list STOPFILE] [-F|--fold-titlecase] [-C|--preserve-case] [-I|--ignore-case] [--accelerator ACCELERATORS] [-t|--term-words LENGTH] [--nonstop-needed MIN] [--inputs-needed MIN] [--fullmsg-needed MIN] [--substr-needed MIN] [--locs-needed MIN] [--sort ORDER] [--source-language LANG] [-v|--invert] 212s input directory is searched for PO files, terminology PO file is output file 212s 212s Create a terminology file by reading a set of .po or .pot files to produce a 212s pootle-terminology.pot. See: 212s http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/poterminology.html for examples and usage 212s instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in po, pot formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot formats 212s -u UPDATEFILE, --update=UPDATEFILE 212s update terminology in UPDATEFILE 212s -S STOPFILE, --stopword-list=STOPFILE 212s read stopword (term exclusion) list from STOPFILE 212s (default /usr/share/pyshared/translate/share/stoplist- 212s en) 212s -F, --fold-titlecase fold "Title Case" to lowercase (default) 212s -C, --preserve-case preserve all uppercase/lowercase 212s -I, --ignore-case make all terms lowercase 212s --accelerator=ACCELERATORS 212s ignore the given accelerator characters when matching 212s -t LENGTH, --term-words=LENGTH 212s generate terms of up to LENGTH words (default 3) 212s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 212s 1) 212s --inputs-needed=MIN omit terms appearing in less than MIN input files 212s (default 2, or 1 if only one input file) 212s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 212s different messages (default 1) 212s --substr-needed=MIN omit substring-only terms appearing in less than MIN 212s different messages (default 2) 212s --locs-needed=MIN omit terms appearing in less than MIN different 212s original source files (default 2) 212s --sort=ORDER output sort order(s): frequency, dictionary, length 212s (may repeat option, default is all in above order) 212s --source-language=LANG 212s the source language code (default 'en') 212s -v, --invert invert the source and target languages for terminology 212s ========= SMOKE TEST: /usr/bin/pretranslate =========== 212s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 212s 212s Fill localization files with suggested translations based on translation 212s memory and existing translations. See: 212s http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/pretranslate.html for examples and usage 212s instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in po, pot, pot, xlf, xliff formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot, xlf, xliff formats 212s -t TEMPLATE, --template=TEMPLATE 212s read from TEMPLATE in po, pot, xlf, xliff formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s --tm=TM The file to use as translation memory when fuzzy 212s matching 212s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 212s The minimum similarity for inclusion (default: 75%) 212s --nofuzzymatching Disable fuzzy matching 212s ========= SMOKE TEST: /usr/bin/prop2po =========== 212s Usage: prop2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 212s 212s Convert Java/Mozilla .properties files to Gettext PO localization files. 212s See: http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in lang, properties, strings formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot formats 212s -t TEMPLATE, --template=TEMPLATE 212s read from TEMPLATE in lang, properties, strings 212s formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s -P, --pot output PO Templates (.pot) rather than PO files (.po) 212s --personality=TYPE override the input file format: java, java-utf8, java- 212s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 212s strings, strings-utf8, joomla (for .properties files, 212s default: java) 212s --encoding=ENCODING override the encoding set by the personality 212s --duplicates=DUPLICATESTYLE 212s what to do with duplicate strings (identical source 212s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/pydiff =========== 213s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 213s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 213s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 213s fromfile tofile 213s 213s positional arguments: 213s fromfile 213s tofile 213s 213s options: 213s -h, --help show this help message and exit 213s -i, --ignore-case Ignore case differences in file contents. 213s -U NUM, --unified NUM 213s Output NUM (default 3) lines of unified context 213s -r, --recursive Recursively compare any subdirectories found. 213s -N, --new-file Treat absent files as empty. 213s --unidirectional-new-file 213s Treat absent first files as empty. 213s -s, --report-identical-files 213s Report when two files are the same. 213s -x PAT, --exclude PAT 213s Exclude files that match PAT. 213s --fromcontains TEXT Only show changes where fromfile contains TEXT 213s --tocontains TEXT Only show changes where tofile contains TEXT 213s --contains TEXT Only show changes where fromfile or tofile contains 213s TEXT 213s -I, --ignore-case-contains 213s Ignore case differences when matching any of the 213s changes 213s --accelerator ACCELERATORS 213s ignores the given accelerator characters when matching 213s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 213s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 213s 213s Convert Python format .po files to PHP format .po files. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in po, pot formats 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s ========= SMOKE TEST: /usr/bin/rc2po =========== 213s Usage: rc2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 213s 213s Convert Windows RC files to Gettext PO localization files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in nls, rc formats 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -t TEMPLATE, --template=TEMPLATE 213s read from TEMPLATE in nls, rc formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s -P, --pot output PO Templates (.pot) rather than PO files (.po) 213s --charset=CHARSET charset to use to decode the RC files (autodetection 213s is used by default) 213s -l LANG, --lang=LANG LANG entry (default: None) 213s --sublang=SUBLANG SUBLANG entry (default: None) 213s --duplicates=DUPLICATESTYLE 213s what to do with duplicate strings (identical source 213s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/resx2po =========== 213s Usage: resx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 213s 213s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in resx format 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -t TEMPLATE, --template=TEMPLATE 213s read from TEMPLATE in resx format 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s -P, --pot output PO Templates (.pot) rather than PO files (.po) 213s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 213s everything) 213s --duplicates=DUPLICATESTYLE 213s what to do with duplicate strings (identical source 213s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/sub2po =========== 213s Usage: sub2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 213s 213s Convert subtitle files to Gettext PO localization files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in ass, srt, ssa, sub formats 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -t TEMPLATE, --template=TEMPLATE 213s read from TEMPLATE in ass, srt, ssa, sub formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s -P, --pot output PO Templates (.pot) rather than PO files (.po) 213s --duplicates=DUPLICATESTYLE 213s what to do with duplicate strings (identical source 213s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/symb2po =========== 213s Usage: symb2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 213s 213s Convert Symbian localisation files to Gettext PO localization files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in r01 format 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -t TEMPLATE, --template=TEMPLATE 213s read from TEMPLATE in 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s -P, --pot output PO Templates (.pot) rather than PO files (.po) 213s --duplicates=DUPLICATESTYLE 213s what to do with duplicate strings (identical source 213s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/tbx2po =========== 213s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 213s 213s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in tbx format 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s ========= SMOKE TEST: /usr/bin/tiki2po =========== 213s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 213s 213s Convert TikiWiki's language.php files to Gettext PO localization files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in php format 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s --include-unused Include strings in the unused section 214s ========= SMOKE TEST: /usr/bin/tmserver =========== 214s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 214s [-s SOURCE_LANG] [-b BIND] [-p PORT] 214s [--max-candidates MAX_CANDIDATES] 214s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 214s [--debug] 214s 214s options: 214s -h, --help show this help message and exit 214s -d TMDBFILE, --tmdb TMDBFILE 214s translation memory database file 214s -f TMFILES, --import-translation-file TMFILES 214s translation file to import into the database 214s -t TARGET_LANG, --import-target-lang TARGET_LANG 214s target language of translation files 214s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 214s source language of translation files 214s -b BIND, --bind BIND address to bind server to (default: localhost) 214s -p PORT, --port PORT port to listen on (default: 8888) 214s --max-candidates MAX_CANDIDATES 214s Maximum number of candidates 214s --min-similarity MIN_SIMILARITY 214s minimum similarity 214s --max-length MAX_LENGTH 214s Maxmimum string length 214s --debug enable debugging features 214s ========= SMOKE TEST: /usr/bin/ts2po =========== 214s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 214s 214s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 214s http://docs.translatehouse.org/projects/translate- 214s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 214s 214s Options: 214s --version show program's version number and exit 214s -h, --help show this help message and exit 214s --manpage output a manpage based on the help 214s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 214s --errorlevel=ERRORLEVEL 214s show errorlevel as: none, message, exception, 214s traceback 214s -i INPUT, --input=INPUT 214s read from INPUT in ts format 214s -x EXCLUDE, --exclude=EXCLUDE 214s exclude names matching EXCLUDE from input paths 214s -o OUTPUT, --output=OUTPUT 214s write to OUTPUT in po, pot formats 214s -S, --timestamp skip conversion if the output file has newer timestamp 214s -P, --pot output PO Templates (.pot) rather than PO files (.po) 214s --duplicates=DUPLICATESTYLE 214s what to do with duplicate strings (identical source 214s text): merge, msgctxt (default: 'msgctxt') 214s ========= SMOKE TEST: /usr/bin/txt2po =========== 214s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 214s 214s Convert plain text (.txt) files to Gettext PO localization files. See: 214s http://docs.translatehouse.org/projects/translate- 214s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 214s 214s Options: 214s --version show program's version number and exit 214s -h, --help show this help message and exit 214s --manpage output a manpage based on the help 214s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 214s --errorlevel=ERRORLEVEL 214s show errorlevel as: none, message, exception, 214s traceback 214s -i INPUT, --input=INPUT 214s read from INPUT in *, txt formats 214s -x EXCLUDE, --exclude=EXCLUDE 214s exclude names matching EXCLUDE from input paths 214s -o OUTPUT, --output=OUTPUT 214s write to OUTPUT in po, pot formats 214s -S, --timestamp skip conversion if the output file has newer timestamp 214s -P, --pot output PO Templates (.pot) rather than PO files (.po) 214s --encoding=ENCODING The encoding of the input file (default: UTF-8) 214s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 214s mediawiki 214s --no-segmentation Don't segment the file, treat it like a single message 214s --duplicates=DUPLICATESTYLE 214s what to do with duplicate strings (identical source 214s text): merge, msgctxt (default: 'msgctxt') 214s ========= SMOKE TEST: /usr/bin/web2py2po =========== 214s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 214s 214s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 214s http://docs.translatehouse.org/projects/translate- 214s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 214s 214s Options: 214s --version show program's version number and exit 214s -h, --help show this help message and exit 214s --manpage output a manpage based on the help 214s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 214s --errorlevel=ERRORLEVEL 214s show errorlevel as: none, message, exception, 214s traceback 214s -i INPUT, --input=INPUT 214s read from INPUT in py format 214s -x EXCLUDE, --exclude=EXCLUDE 214s exclude names matching EXCLUDE from input paths 214s -o OUTPUT, --output=OUTPUT 214s write to OUTPUT in po, pot formats 214s -S, --timestamp skip conversion if the output file has newer timestamp 214s -P, --pot output PO Templates (.pot) rather than PO files (.po) 214s --duplicates=DUPLICATESTYLE 214s what to do with duplicate strings (identical source 214s text): merge, msgctxt (default: 'msgctxt') 214s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 214s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 214s 214s Convert XLIFF translation files to OpenDocument (ODF) files. See: 214s http://docs.translatehouse.org/projects/translate- 214s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 214s 214s Options: 214s --version show program's version number and exit 214s -h, --help show this help message and exit 214s --manpage output a manpage based on the help 214s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 214s --errorlevel=ERRORLEVEL 214s show errorlevel as: none, message, exception, 214s traceback 214s -i INPUT, --input=INPUT 214s read from INPUT in xlf format 214s -x EXCLUDE, --exclude=EXCLUDE 214s exclude names matching EXCLUDE from input paths 214s -o OUTPUT, --output=OUTPUT 214s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 214s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 214s -t TEMPLATE, --template=TEMPLATE 214s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 214s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 214s formats 214s -S, --timestamp skip conversion if the output file has newer timestamp 214s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 215s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 215s 215s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 215s file. See: http://docs.translatehouse.org/projects/translate- 215s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 215s 215s Options: 215s --version show program's version number and exit 215s -h, --help show this help message and exit 215s --manpage output a manpage based on the help 215s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 215s --errorlevel=ERRORLEVEL 215s show errorlevel as: none, message, exception, 215s traceback 215s -i INPUT, --input=INPUT 215s read from INPUT in po, pot, xlf, xliff formats 215s -x EXCLUDE, --exclude=EXCLUDE 215s exclude names matching EXCLUDE from input paths 215s -o OUTPUT, --output=OUTPUT 215s write to OUTPUT in oo, sdf formats 215s -t TEMPLATE, --template=TEMPLATE 215s read from TEMPLATE in oo, sdf formats 215s -S, --timestamp skip conversion if the output file has newer timestamp 215s -l LANG, --language=LANG 215s set target language code (e.g. af-ZA) [required] 215s --source-language=LANG 215s set source language code (default en-US) 215s -T, --keeptimestamp don't change the timestamps of the strings 215s --nonrecursiveoutput don't treat the output oo as a recursive store 215s --nonrecursivetemplate 215s don't treat the template oo as a recursive store 215s --skipsource don't output the source language, but fallback to it 215s where needed 215s --filteraction=ACTION 215s action on pofilter failure: none (default), warn, 215s exclude-serious, exclude-all 215s --fuzzy use translations marked fuzzy 215s --nofuzzy don't use translations marked fuzzy (default) 215s --multifile=MULTIFILESTYLE 215s how to split po/pot files (single, toplevel or 215s onefile) 215s ========= SMOKE TEST: /usr/bin/xliff2po =========== 215s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 215s 215s Convert XLIFF localization files to Gettext PO localization files. See: 215s http://docs.translatehouse.org/projects/translate- 215s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 215s 215s Options: 215s --version show program's version number and exit 215s -h, --help show this help message and exit 215s --manpage output a manpage based on the help 215s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 215s --errorlevel=ERRORLEVEL 215s show errorlevel as: none, message, exception, 215s traceback 215s -i INPUT, --input=INPUT 215s read from INPUT in xlf, xliff formats 215s -x EXCLUDE, --exclude=EXCLUDE 215s exclude names matching EXCLUDE from input paths 215s -o OUTPUT, --output=OUTPUT 215s write to OUTPUT in po, pot formats 215s -S, --timestamp skip conversion if the output file has newer timestamp 215s -P, --pot output PO Templates (.pot) rather than PO files (.po) 215s --duplicates=DUPLICATESTYLE 215s what to do with duplicate strings (identical source 215s text): merge, msgctxt (default: 'msgctxt') 215s ========= SMOKE TEST: /usr/bin/yaml2po =========== 215s Usage: yaml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 215s 215s Convert YAML files to Gettext PO localization files. See: 215s http://docs.translatehouse.org/projects/translate- 215s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 215s 215s Options: 215s --version show program's version number and exit 215s -h, --help show this help message and exit 215s --manpage output a manpage based on the help 215s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 215s --errorlevel=ERRORLEVEL 215s show errorlevel as: none, message, exception, 215s traceback 215s -i INPUT, --input=INPUT 215s read from INPUT in yaml, yml formats 215s -x EXCLUDE, --exclude=EXCLUDE 215s exclude names matching EXCLUDE from input paths 215s -o OUTPUT, --output=OUTPUT 215s write to OUTPUT in po, pot formats 215s -t TEMPLATE, --template=TEMPLATE 215s read from TEMPLATE in yaml, yml formats 215s -S, --timestamp skip conversion if the output file has newer timestamp 215s -P, --pot output PO Templates (.pot) rather than PO files (.po) 215s --duplicates=DUPLICATESTYLE 215s what to do with duplicate strings (identical source 215s text): merge, msgctxt (default: 'msgctxt') 215s autopkgtest [20:03:22]: test translate-toolkit: -----------------------] 219s autopkgtest [20:03:26]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 219s translate-toolkit PASS 222s autopkgtest [20:03:29]: test python3-translate: preparing testbed 250s autopkgtest [20:03:57]: testbed dpkg architecture: armhf 251s autopkgtest [20:03:58]: testbed apt version: 2.7.14build2 251s autopkgtest [20:03:58]: @@@@@@@@@@@@@@@@@@@@ test bed setup 259s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 259s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 259s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [9628 B] 259s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1842 kB] 259s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [137 kB] 259s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [199 kB] 259s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [1301 kB] 259s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [6188 B] 260s Fetched 3570 kB in 1s (3116 kB/s) 260s Reading package lists... 274s tee: /proc/self/fd/2: Permission denied 295s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 295s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 295s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 295s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 296s Reading package lists... 296s Reading package lists... 296s Building dependency tree... 296s Reading state information... 297s Calculating upgrade... 297s The following packages will be upgraded: 297s libgnutls30t64 pastebinit 297s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 297s Need to get 973 kB of archives. 297s After this operation, 24.6 kB of additional disk space will be used. 297s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf libgnutls30t64 armhf 3.8.5-2ubuntu1 [958 kB] 298s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf pastebinit all 1.7.0-1 [14.9 kB] 298s Fetched 973 kB in 1s (1592 kB/s) 298s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57881 files and directories currently installed.) 298s Preparing to unpack .../libgnutls30t64_3.8.5-2ubuntu1_armhf.deb ... 298s Unpacking libgnutls30t64:armhf (3.8.5-2ubuntu1) over (3.8.3-1.1ubuntu3.1) ... 298s Setting up libgnutls30t64:armhf (3.8.5-2ubuntu1) ... 298s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57881 files and directories currently installed.) 298s Preparing to unpack .../pastebinit_1.7.0-1_all.deb ... 298s Unpacking pastebinit (1.7.0-1) over (1.6.2-1) ... 298s Setting up pastebinit (1.7.0-1) ... 298s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 299s Processing triggers for man-db (2.12.0-4build2) ... 299s Reading package lists... 300s Building dependency tree... 300s Reading state information... 300s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 302s autopkgtest [20:04:49]: rebooting testbed after setup commands that affected boot 373s Reading package lists... 373s Building dependency tree... 373s Reading state information... 373s Starting pkgProblemResolver with broken count: 0 373s Starting 2 pkgProblemResolver with broken count: 0 373s Done 374s The following additional packages will be installed: 374s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 374s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 374s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 374s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 374s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 374s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 374s python3-more-itertools python3-packaging python3-phply python3-pluggy 374s python3-ply python3-pycountry python3-pytest python3-rapidfuzz 374s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 374s python3-soupsieve python3-syrupy python3-translate python3-vobject 374s python3-xapian subversion 374s Suggested packages: 374s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 374s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 374s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 374s python-rapidfuzz-doc python3-subversion translate-toolkit-doc xapian-doc 374s db5.3-util libapache2-mod-svn subversion-tools 374s Recommended packages: 374s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 374s python3-cssselect python3-html5lib 374s The following NEW packages will be installed: 374s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 374s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 374s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 374s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 374s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 374s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 374s python3-mistletoe python3-more-itertools python3-packaging python3-phply 374s python3-pluggy python3-ply python3-pycountry python3-pytest 374s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 374s python3-simplejson python3-soupsieve python3-syrupy python3-translate 374s python3-vobject python3-xapian subversion 374s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 374s Need to get 10.3 MB/10.3 MB of archives. 374s After this operation, 38.5 MB of additional disk space will be used. 374s Get:1 /tmp/autopkgtest.8zW4lu/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [876 B] 374s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 374s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 375s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14-20240412-0ubuntu1 [125 kB] 375s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.21-14ubuntu2 [800 kB] 375s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 375s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.1build2 [86.1 kB] 375s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-1.1ubuntu7 [82.3 kB] 375s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 375s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 375s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 375s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 375s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-2 [40.2 kB] 375s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 375s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-1build4 [1200 kB] 375s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 375s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 375s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.11-2 [221 kB] 375s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-all armhf 3.12.3-0ubuntu1 [886 B] 375s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 375s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 375s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.2.0-1 [52.9 kB] 375s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 375s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 375s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 375s Get:26 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 375s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 375s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 375s Get:29 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.6.2+ds-3 [1200 kB] 375s Get:30 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-2 [139 kB] 375s Get:31 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.1-1 [1200 kB] 375s Get:32 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 375s Get:33 http://ftpmaster.internal/ubuntu oracular/main armhf python3-packaging all 24.0-1 [41.1 kB] 375s Get:34 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 375s Get:35 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 375s Get:36 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pluggy all 1.4.0-1 [20.4 kB] 375s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pytest all 7.4.4-1 [305 kB] 375s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-ruamel.yaml.clib armhf 0.2.8+ds-1 [120 kB] 375s Get:39 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 375s Get:40 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 375s Get:41 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-syrupy all 4.6.1-1 [42.8 kB] 375s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.12.2-1ubuntu1 [318 kB] 375s Get:43 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 375s Get:44 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-xapian armhf 1.4.22-1build5 [370 kB] 375s Get:45 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-1build4 [890 kB] 375s Get:46 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 375s Get:47 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 376s Preconfiguring packages ... 376s Fetched 10.3 MB in 1s (9181 kB/s) 376s Selecting previously unselected package emacsen-common. 376s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57883 files and directories currently installed.) 376s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 376s Unpacking emacsen-common (3.0.5) ... 376s Selecting previously unselected package dictionaries-common. 376s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 376s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 376s Unpacking dictionaries-common (1.29.7) ... 376s Selecting previously unselected package libgomp1:armhf. 376s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_armhf.deb ... 376s Unpacking libgomp1:armhf (14-20240412-0ubuntu1) ... 376s Selecting previously unselected package gettext. 376s Preparing to unpack .../03-gettext_0.21-14ubuntu2_armhf.deb ... 376s Unpacking gettext (0.21-14ubuntu2) ... 376s Selecting previously unselected package hunspell-en-us. 376s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 376s Unpacking hunspell-en-us (1:2020.12.07-2) ... 376s Selecting previously unselected package libapr1t64:armhf. 376s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_armhf.deb ... 376s Unpacking libapr1t64:armhf (1.7.2-3.1build2) ... 376s Selecting previously unselected package libaprutil1t64:armhf. 376s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_armhf.deb ... 376s Unpacking libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 376s Selecting previously unselected package libaspell15:armhf. 376s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 376s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 376s Selecting previously unselected package libhunspell-1.7-0:armhf. 376s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 376s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 376s Selecting previously unselected package libenchant-2-2:armhf. 376s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 376s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 376s Selecting previously unselected package libexttextcat-data. 376s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 376s Unpacking libexttextcat-data (3.4.7-1build1) ... 376s Selecting previously unselected package libserf-1-1:armhf. 376s Preparing to unpack .../11-libserf-1-1_1.3.10-2_armhf.deb ... 376s Unpacking libserf-1-1:armhf (1.3.10-2) ... 376s Selecting previously unselected package libutf8proc3:armhf. 377s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 377s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 377s Selecting previously unselected package libsvn1:armhf. 377s Preparing to unpack .../13-libsvn1_1.14.3-1build4_armhf.deb ... 377s Unpacking libsvn1:armhf (1.14.3-1build4) ... 377s Selecting previously unselected package libxapian30:armhf. 377s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 377s Unpacking libxapian30:armhf (1.4.22-1build1) ... 377s Selecting previously unselected package libxslt1.1:armhf. 377s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 377s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 377s Selecting previously unselected package python3-aeidon. 377s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 377s Unpacking python3-aeidon (1.11-2) ... 377s Selecting previously unselected package python3-all. 377s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_armhf.deb ... 377s Unpacking python3-all (3.12.3-0ubuntu1) ... 377s Selecting previously unselected package python3-soupsieve. 377s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 377s Unpacking python3-soupsieve (2.5-1) ... 377s Selecting previously unselected package python3-bs4. 377s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 377s Unpacking python3-bs4 (4.12.3-1) ... 377s Selecting previously unselected package python3-more-itertools. 377s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 377s Unpacking python3-more-itertools (10.2.0-1) ... 377s Selecting previously unselected package python3-jaraco.functools. 377s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 377s Unpacking python3-jaraco.functools (4.0.0-1) ... 377s Selecting previously unselected package python3-cheroot. 377s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 377s Unpacking python3-cheroot (10.0.0+ds1-2) ... 377s Selecting previously unselected package python3-dateutil. 377s Preparing to unpack .../23-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 377s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 377s Selecting previously unselected package python3-diff-match-patch. 377s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 377s Unpacking python3-diff-match-patch (20230430-1) ... 377s Selecting previously unselected package python3-enchant. 377s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 377s Unpacking python3-enchant (3.2.2-1) ... 377s Selecting previously unselected package python3-iniconfig. 377s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 377s Unpacking python3-iniconfig (1.1.1-2) ... 377s Selecting previously unselected package python3-rapidfuzz. 377s Preparing to unpack .../27-python3-rapidfuzz_3.6.2+ds-3_armhf.deb ... 377s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 377s Selecting previously unselected package python3-levenshtein. 377s Preparing to unpack .../28-python3-levenshtein_0.25.1-2_armhf.deb ... 377s Unpacking python3-levenshtein (0.25.1-2) ... 377s Selecting previously unselected package python3-lxml:armhf. 377s Preparing to unpack .../29-python3-lxml_5.2.1-1_armhf.deb ... 377s Unpacking python3-lxml:armhf (5.2.1-1) ... 377s Selecting previously unselected package python3-mistletoe. 377s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 377s Unpacking python3-mistletoe (1.3.0-1) ... 377s Selecting previously unselected package python3-packaging. 377s Preparing to unpack .../31-python3-packaging_24.0-1_all.deb ... 377s Unpacking python3-packaging (24.0-1) ... 377s Selecting previously unselected package python3-ply. 377s Preparing to unpack .../32-python3-ply_3.11-6_all.deb ... 377s Unpacking python3-ply (3.11-6) ... 377s Selecting previously unselected package python3-phply. 377s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 377s Unpacking python3-phply (1.2.6-1) ... 377s Selecting previously unselected package python3-pluggy. 377s Preparing to unpack .../34-python3-pluggy_1.4.0-1_all.deb ... 377s Unpacking python3-pluggy (1.4.0-1) ... 377s Selecting previously unselected package python3-pytest. 377s Preparing to unpack .../35-python3-pytest_7.4.4-1_all.deb ... 377s Unpacking python3-pytest (7.4.4-1) ... 377s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 377s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-1_armhf.deb ... 377s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8+ds-1) ... 377s Selecting previously unselected package python3-ruamel.yaml. 377s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 377s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 378s Selecting previously unselected package python3-simplejson. 378s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_armhf.deb ... 378s Unpacking python3-simplejson (3.19.2-1build2) ... 378s Selecting previously unselected package python3-syrupy. 378s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 378s Unpacking python3-syrupy (4.6.1-1) ... 378s Selecting previously unselected package python3-translate. 378s Preparing to unpack .../40-python3-translate_3.12.2-1ubuntu1_all.deb ... 378s Unpacking python3-translate (3.12.2-1ubuntu1) ... 378s Selecting previously unselected package python3-vobject. 378s Preparing to unpack .../41-python3-vobject_0.9.6.1-2_all.deb ... 378s Unpacking python3-vobject (0.9.6.1-2) ... 378s Selecting previously unselected package python3-xapian. 378s Preparing to unpack .../42-python3-xapian_1.4.22-1build5_armhf.deb ... 378s Unpacking python3-xapian (1.4.22-1build5) ... 378s Selecting previously unselected package subversion. 378s Preparing to unpack .../43-subversion_1.14.3-1build4_armhf.deb ... 378s Unpacking subversion (1.14.3-1build4) ... 378s Selecting previously unselected package python3-iniparse. 378s Preparing to unpack .../44-python3-iniparse_0.5-2_all.deb ... 378s Unpacking python3-iniparse (0.5-2) ... 378s Selecting previously unselected package python3-pycountry. 378s Preparing to unpack .../45-python3-pycountry_23.12.11+ds1-2_all.deb ... 378s Unpacking python3-pycountry (23.12.11+ds1-2) ... 378s Selecting previously unselected package autopkgtest-satdep. 378s Preparing to unpack .../46-2-autopkgtest-satdep.deb ... 378s Unpacking autopkgtest-satdep (0) ... 378s Setting up python3-more-itertools (10.2.0-1) ... 378s Setting up python3-iniconfig (1.1.1-2) ... 378s Setting up libxapian30:armhf (1.4.22-1build1) ... 378s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 378s Setting up python3-diff-match-patch (20230430-1) ... 379s Setting up python3-jaraco.functools (4.0.0-1) ... 379s Setting up python3-aeidon (1.11-2) ... 379s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 379s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 379s Setting up python3-ply (3.11-6) ... 379s Setting up python3-ruamel.yaml.clib:armhf (0.2.8+ds-1) ... 379s Setting up python3-all (3.12.3-0ubuntu1) ... 379s Setting up libgomp1:armhf (14-20240412-0ubuntu1) ... 379s Setting up python3-simplejson (3.19.2-1build2) ... 379s Setting up python3-packaging (24.0-1) ... 379s Setting up emacsen-common (3.0.5) ... 380s Setting up python3-cheroot (10.0.0+ds1-2) ... 380s Setting up python3-pycountry (23.12.11+ds1-2) ... 380s Setting up python3-xapian (1.4.22-1build5) ... 380s Setting up python3-pluggy (1.4.0-1) ... 380s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 380s Setting up python3-mistletoe (1.3.0-1) ... 381s Setting up libexttextcat-data (3.4.7-1build1) ... 381s Setting up libapr1t64:armhf (1.7.2-3.1build2) ... 381s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 381s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 381s Setting up python3-levenshtein (0.25.1-2) ... 381s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 381s Setting up python3-soupsieve (2.5-1) ... 381s Setting up python3-iniparse (0.5-2) ... 381s Setting up libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 381s Setting up python3-vobject (0.9.6.1-2) ... 381s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 381s patterns['name'] = '[a-zA-Z0-9\-_]+' 381s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 381s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 381s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 381s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 381s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 381s """ 381s Setting up gettext (0.21-14ubuntu2) ... 381s Setting up python3-phply (1.2.6-1) ... 382s Setting up dictionaries-common (1.29.7) ... 382s Setting up python3-pytest (7.4.4-1) ... 382s Setting up python3-syrupy (4.6.1-1) ... 382s Setting up libserf-1-1:armhf (1.3.10-2) ... 382s Setting up python3-bs4 (4.12.3-1) ... 383s Setting up python3-lxml:armhf (5.2.1-1) ... 383s Setting up hunspell-en-us (1:2020.12.07-2) ... 383s Setting up libsvn1:armhf (1.14.3-1build4) ... 383s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 383s Setting up subversion (1.14.3-1build4) ... 383s Setting up python3-enchant (3.2.2-1) ... 383s Setting up python3-translate (3.12.2-1ubuntu1) ... 384s Setting up autopkgtest-satdep (0) ... 384s Processing triggers for man-db (2.12.0-4build2) ... 385s Processing triggers for install-info (7.1-3build2) ... 385s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 385s Processing triggers for dictionaries-common (1.29.7) ... 401s (Reading database ... 61356 files and directories currently installed.) 401s Removing autopkgtest-satdep (0) ... 412s autopkgtest [20:06:39]: test python3-translate: [----------------------- 414s ============================= test session starts ============================== 414s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 414s cachedir: .pytest_cache 414s rootdir: /tmp/autopkgtest.8zW4lu/autopkgtest_tmp 414s plugins: syrupy-4.6.1 419s collecting ... collected 3313 items / 2 skipped 419s 419s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 419s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 419s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 419s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 419s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 419s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 419s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 419s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 419s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 419s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 419s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 419s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 419s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 419s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 419s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 419s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 420s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 420s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 420s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 420s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 420s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 420s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 420s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 420s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 420s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 420s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 420s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 420s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 420s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 420s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 420s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 420s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 420s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 420s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 420s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 421s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 421s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 421s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 421s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 421s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 421s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 421s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 421s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 421s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 421s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 421s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 421s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 421s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 421s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 421s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 421s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 421s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 422s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 422s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 422s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 422s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 422s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 422s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 422s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 422s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 422s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 422s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 422s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 422s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 423s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 423s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 423s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 423s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 423s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 423s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 423s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 423s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 423s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 423s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 423s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 423s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 423s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 423s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 423s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 423s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 423s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 423s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 423s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 423s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 423s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 424s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 424s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 424s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 424s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 424s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 424s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 424s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 424s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 424s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 424s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 424s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 424s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 424s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 424s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 424s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 424s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 424s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 424s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 424s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 424s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 424s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 424s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 424s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 424s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 424s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 424s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 424s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 424s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 424s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 424s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 424s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 424s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 424s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 424s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 424s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 424s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 424s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 424s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 424s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 424s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 424s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 424s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 424s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 424s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 424s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 424s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 424s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 424s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 424s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 424s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 424s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 424s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 424s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 424s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 424s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 424s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 424s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 424s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 424s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 424s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 424s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 424s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 424s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 424s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 424s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 424s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 424s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 424s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 424s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 425s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 425s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 425s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 425s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 425s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 425s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 425s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 425s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 425s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 425s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 425s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 425s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 425s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 425s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 425s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 425s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 425s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 425s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 425s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 425s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 426s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 426s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 426s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 426s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 426s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 426s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 426s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 426s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 426s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 426s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 426s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 426s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 426s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 426s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 426s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 426s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 426s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 426s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 426s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 426s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 426s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 426s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 426s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 426s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 426s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 426s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 426s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 426s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 427s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 427s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 427s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 428s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 428s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 428s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 428s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 428s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 428s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 428s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 428s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 428s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 428s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 428s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 428s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 428s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 428s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 428s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 428s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 428s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 428s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 428s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 428s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 428s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 428s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 428s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 428s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 429s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 429s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 429s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 429s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 429s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 429s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 429s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 429s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 430s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 430s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 430s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 430s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 430s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 430s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 430s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 430s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 430s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 430s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 430s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 430s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 430s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 430s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 430s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 430s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 430s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 430s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 430s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 430s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 430s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 430s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 430s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 430s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 430s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 430s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 430s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 430s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 430s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 430s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 431s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 431s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 431s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 431s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 431s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 431s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 431s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 431s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 431s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 431s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 431s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 431s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 431s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 431s 431s =============================== warnings summary =============================== 431s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 431s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.8zW4lu/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 431s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 431s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 431s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 431s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 431s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 431s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 431s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 431s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 431s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 431s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 431s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 431s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 431s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 431s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 431s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 431s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 431s Warning: Could not find accesskey for key.accesskey 431s 431s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 431s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 431s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 431s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 431s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 431s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.8zW4lu/autopkgtest_tmp/tests/translate/convert/test.idml'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 431s Warning: unclosed file <_io.BufferedReader name='translation.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 431s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 431s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 431s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 431s Warning: Could not find accesskey for prop.accesskey 431s 431s tests/translate/convert/test_po2tmx.py: 26 warnings 431s tests/translate/filters/test_pofilter.py: 13 warnings 431s tests/translate/storage/test_tbx.py: 17 warnings 431s tests/translate/storage/test_tmx.py: 24 warnings 431s 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' 431s 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 431s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 431s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 431s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 431s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 431s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 431s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 431s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 431s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 431s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 431s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 431s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.8zW4lu/autopkgtest_tmp/tests/translate/convert/test.odt'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 431s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 431s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 431s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 431s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 431s Enable tracemalloc to get traceback where the object was allocated. 431s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 431s 431s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 431s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 431s 431s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 431s Warning: DTD file '' does not validate 431s 431s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 431s --------------------------- snapshot report summary ---------------------------- 431s 23 snapshots passed. 431s =========================== short test summary info ============================ 431s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 431s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 431s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 431s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 431s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 431s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 431s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 431s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 431s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 431s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 431s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 431s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 431s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 431s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 431s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 431s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 431s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 431s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 431s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 431s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 431s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 431s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 431s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 431s 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. 431s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 431s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 431s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 431s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 431s 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 431s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 431s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 431s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 431s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 431s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 431s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 431s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 431s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 431s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 431s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 431s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 431s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 431s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 431s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 431s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 431s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 431s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 431s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 17.42s ========== 432s autopkgtest [20:06:59]: test python3-translate: -----------------------] 436s autopkgtest [20:07:03]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 436s python3-translate PASS 439s autopkgtest [20:07:06]: test python3-translate-commands: preparing testbed 450s Reading package lists... 450s Building dependency tree... 450s Reading state information... 451s Starting pkgProblemResolver with broken count: 0 451s Starting 2 pkgProblemResolver with broken count: 0 451s Done 451s The following additional packages will be installed: 451s translate-toolkit 451s Recommended packages: 451s translate-toolkit-doc 451s The following NEW packages will be installed: 451s autopkgtest-satdep translate-toolkit 452s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 452s Need to get 88.2 kB/89.1 kB of archives. 452s After this operation, 253 kB of additional disk space will be used. 452s Get:1 /tmp/autopkgtest.8zW4lu/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [884 B] 452s Get:2 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 452s Fetched 88.2 kB in 0s (287 kB/s) 452s Selecting previously unselected package translate-toolkit. 452s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 61356 files and directories currently installed.) 452s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 452s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 452s Selecting previously unselected package autopkgtest-satdep. 452s Preparing to unpack .../3-autopkgtest-satdep.deb ... 452s Unpacking autopkgtest-satdep (0) ... 452s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 452s Setting up autopkgtest-satdep (0) ... 452s Processing triggers for man-db (2.12.0-4build2) ... 465s (Reading database ... 61529 files and directories currently installed.) 465s Removing autopkgtest-satdep (0) ... 471s autopkgtest [20:07:38]: test python3-translate-commands: [----------------------- 473s ============================= test session starts ============================== 473s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 473s cachedir: .pytest_cache 473s rootdir: /tmp/autopkgtest.8zW4lu/autopkgtest_tmp 473s plugins: syrupy-4.6.1 478s collecting ... collected 3313 items / 2 skipped 478s 478s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 478s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 478s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 478s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 478s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 478s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 478s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 478s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 478s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 478s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 478s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 478s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 478s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 478s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 478s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 479s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 479s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 479s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 479s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 479s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 479s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 479s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 479s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 479s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 479s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 479s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 479s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 479s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 479s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 479s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 479s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 479s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 479s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 479s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 479s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 479s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 479s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 479s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 479s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 480s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 480s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 480s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 480s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 480s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 480s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 480s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 480s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 480s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 480s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 480s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 480s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 480s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 480s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 480s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 480s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 480s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 480s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 480s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 480s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 480s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 480s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 480s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 480s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 480s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 480s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 480s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 480s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 480s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 481s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 481s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 481s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 481s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 481s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 481s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 481s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 481s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 481s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 481s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 481s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 481s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 481s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 481s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 481s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 481s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 481s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 481s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 481s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 481s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 481s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 481s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 481s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 481s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 481s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 481s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 481s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 481s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 481s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 481s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 482s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 482s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 482s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 482s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 482s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 482s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 482s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 482s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 482s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 482s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 482s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 482s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 482s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 482s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 482s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 482s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 482s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 482s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 482s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 482s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 482s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 482s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 482s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 482s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 482s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 482s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 482s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 482s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 482s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 482s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 482s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 482s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 482s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 482s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 482s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 482s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 482s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 482s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 482s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 482s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 482s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 482s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 482s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 482s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 482s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 482s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 482s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 482s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 482s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 482s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 482s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 482s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 482s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 482s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 482s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 482s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 482s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 482s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 482s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 482s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 482s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 482s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 482s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 482s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 482s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 482s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 482s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 482s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 482s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 482s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 482s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 482s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 482s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 482s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 482s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 483s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 483s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 483s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 483s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 484s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 484s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 484s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 484s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 484s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 484s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 484s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 484s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 484s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 484s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 484s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 484s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 484s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 484s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 484s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 484s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 484s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 484s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 484s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 484s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 484s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 484s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 484s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 484s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 484s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 484s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 484s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 484s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 484s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 484s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 484s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 484s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 484s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 484s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 484s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 484s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 485s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 485s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 485s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 485s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 486s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 486s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 486s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 486s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 486s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 486s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 486s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 486s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 486s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 486s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 486s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 486s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 486s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 486s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 486s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 486s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 486s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 486s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 487s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 487s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 487s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 487s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 487s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 487s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 487s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 487s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 487s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 487s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 487s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 487s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 487s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 487s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 487s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 487s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 487s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 487s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 487s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 487s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 487s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 488s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 488s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 488s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 489s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 489s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 489s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 489s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 489s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 489s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 489s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 489s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 489s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 489s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 489s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 489s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 489s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 489s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 489s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 490s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 490s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 490s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 490s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 490s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 490s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 490s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 490s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 490s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 490s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 490s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 490s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 490s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 490s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 490s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 490s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 490s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 490s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 490s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 490s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 491s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 491s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 491s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 491s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 491s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 491s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 491s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 491s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 491s 491s =============================== warnings summary =============================== 491s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 491s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.8zW4lu/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 491s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 491s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 491s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 491s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 491s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 491s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 491s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 491s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 491s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 491s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 491s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 491s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 491s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 491s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 491s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 491s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 491s Warning: Could not find accesskey for key.accesskey 491s 491s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 491s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 491s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 491s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 491s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 491s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.8zW4lu/autopkgtest_tmp/tests/translate/convert/test.idml'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 491s Warning: unclosed file <_io.BufferedReader name='translation.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 491s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 491s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 491s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 491s Warning: Could not find accesskey for prop.accesskey 491s 491s tests/translate/convert/test_po2tmx.py: 26 warnings 491s tests/translate/filters/test_pofilter.py: 13 warnings 491s tests/translate/storage/test_tbx.py: 17 warnings 491s tests/translate/storage/test_tmx.py: 24 warnings 491s 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' 491s 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 491s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 491s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 491s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 491s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 491s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 491s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 491s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 491s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 491s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 491s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 491s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.8zW4lu/autopkgtest_tmp/tests/translate/convert/test.odt'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 491s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 491s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 491s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 491s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 491s Enable tracemalloc to get traceback where the object was allocated. 491s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 491s 491s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 491s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 491s 491s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 491s Warning: DTD file '' does not validate 491s 491s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 491s --------------------------- snapshot report summary ---------------------------- 491s 23 snapshots passed. 491s =========================== short test summary info ============================ 491s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 491s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 491s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 491s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 491s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 491s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 491s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 491s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 491s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 491s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 491s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 491s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 491s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 491s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 491s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 491s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 491s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 491s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 491s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 491s 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. 491s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 491s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 491s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 491s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 491s 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 491s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 491s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 491s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 491s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 491s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 491s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 491s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 491s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 491s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 491s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 491s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 491s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 491s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 491s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 491s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 491s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 491s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 491s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 18.63s ========== 492s autopkgtest [20:07:59]: test python3-translate-commands: -----------------------] 496s python3-translate-commands PASS 496s autopkgtest [20:08:03]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 499s autopkgtest [20:08:06]: @@@@@@@@@@@@@@@@@@@@ summary 499s translate-toolkit PASS 499s python3-translate PASS 499s python3-translate-commands PASS