0s autopkgtest [22:41:47]: starting date and time: 2024-07-13 22:41:47+0000 0s autopkgtest [22:41:47]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [22:41:47]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.uw7c69lk/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:setuptools --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/70.3.0-2 -- lxd -r lxd-armhf-10.145.243.21 lxd-armhf-10.145.243.21:autopkgtest/ubuntu/oracular/armhf 58s autopkgtest [22:42:45]: testbed dpkg architecture: armhf 61s autopkgtest [22:42:47]: testbed apt version: 2.9.6 61s autopkgtest [22:42:47]: @@@@@@@@@@@@@@@@@@@@ test bed setup 69s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 70s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 70s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 70s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 70s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 70s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [76.7 kB] 70s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf c-n-f Metadata [1428 B] 70s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf Packages [1368 B] 70s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf c-n-f Metadata [120 B] 70s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [387 kB] 70s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf c-n-f Metadata [6916 B] 70s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [1784 B] 70s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf c-n-f Metadata [120 B] 72s Fetched 1062 kB in 1s (875 kB/s) 72s Reading package lists... 90s tee: /proc/self/fd/2: Permission denied 115s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 115s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 115s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 115s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 117s Reading package lists... 117s Reading package lists... 117s Building dependency tree... 117s Reading state information... 118s Calculating upgrade... 118s The following packages will be upgraded: 118s libelf1t64 python3-pkg-resources python3-setuptools ubuntu-pro-client 118s ubuntu-pro-client-l10n 118s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 118s Need to get 917 kB of archives. 118s After this operation, 465 kB of additional disk space will be used. 118s Get:1 http://ftpmaster.internal/ubuntu oracular/main armhf libelf1t64 armhf 0.191-2 [50.0 kB] 118s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-setuptools all 70.3.0-2 [429 kB] 119s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-pkg-resources all 70.3.0-2 [187 kB] 119s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf ubuntu-pro-client-l10n armhf 33.1 [19.2 kB] 119s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf ubuntu-pro-client armhf 33.1 [232 kB] 119s Fetched 917 kB in 1s (1618 kB/s) 120s (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 ... 58436 files and directories currently installed.) 120s Preparing to unpack .../libelf1t64_0.191-2_armhf.deb ... 120s Unpacking libelf1t64:armhf (0.191-2) over (0.191-1) ... 120s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 120s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 120s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 120s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 120s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_armhf.deb ... 120s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 120s Preparing to unpack .../ubuntu-pro-client_33.1_armhf.deb ... 120s Unpacking ubuntu-pro-client (33.1) over (33) ... 120s Setting up python3-pkg-resources (70.3.0-2) ... 121s Setting up python3-setuptools (70.3.0-2) ... 121s Setting up libelf1t64:armhf (0.191-2) ... 121s Setting up ubuntu-pro-client (33.1) ... 122s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 122s 122s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 122s 122s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 122s 124s Setting up ubuntu-pro-client-l10n (33.1) ... 124s Processing triggers for man-db (2.12.1-2) ... 124s Processing triggers for libc-bin (2.39-0ubuntu9) ... 125s Reading package lists... 125s Building dependency tree... 125s Reading state information... 126s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 128s autopkgtest [22:43:55]: rebooting testbed after setup commands that affected boot 199s autopkgtest [22:45:06]: testbed running kernel: Linux 6.5.0-41-generic #41~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 3 16:28:24 UTC 2 226s autopkgtest [22:45:33]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 245s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (dsc) [3098 B] 245s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (tar) [1173 kB] 245s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (diff) [24.4 kB] 246s gpgv: Signature made Thu Jun 27 09:16:24 2024 UTC 246s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 246s gpgv: Can't check signature: No public key 246s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.1-1.dsc: no acceptable signature found 246s autopkgtest [22:45:53]: testing package translate-toolkit version 3.13.1-1 248s autopkgtest [22:45:55]: build not needed 251s autopkgtest [22:45:58]: test translate-toolkit: preparing testbed 260s Reading package lists... 261s Building dependency tree... 261s Reading state information... 261s Starting pkgProblemResolver with broken count: 0 261s Starting 2 pkgProblemResolver with broken count: 0 261s Done 262s The following additional packages will be installed: 262s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 262s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 262s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 262s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 262s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 262s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 262s python3-more-itertools python3-phply python3-ply python3-pycountry 262s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 262s python3-simplejson python3-soupsieve python3-translate python3-vobject 262s python3-xapian subversion translate-toolkit 262s Suggested packages: 262s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 262s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 262s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 262s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 262s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 262s subversion-tools 262s Recommended packages: 262s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 262s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 262s The following NEW packages will be installed: 262s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 262s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 262s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 262s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 262s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 262s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 262s python3-mistletoe python3-more-itertools python3-phply python3-ply 262s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 262s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 262s python3-translate python3-vobject python3-xapian subversion 262s translate-toolkit 262s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 262s Need to get 10.2 MB/10.2 MB of archives. 262s After this operation, 37.6 MB of additional disk space will be used. 262s Get:1 /tmp/autopkgtest.XIabK6/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [876 B] 262s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 262s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 262s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14.1.0-1ubuntu1 [125 kB] 262s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.22.5-1 [989 kB] 262s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 262s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.2 [86.0 kB] 262s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-2ubuntu1 [82.5 kB] 262s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 262s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 262s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 262s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 262s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-3ubuntu1 [40.5 kB] 262s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 262s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-2 [1198 kB] 262s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 262s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 262s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.15-1 [231 kB] 262s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 263s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 263s Get:21 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-charset-normalizer all 3.3.2-1 [47.9 kB] 263s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.3.0-1 [54.9 kB] 263s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 263s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 263s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 263s Get:26 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 263s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 263s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.6.2+ds-3 [1200 kB] 263s Get:29 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-3 [139 kB] 263s Get:30 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.2-1 [1199 kB] 263s Get:31 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 263s Get:32 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 263s Get:33 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 263s Get:34 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml.clib armhf 0.2.8-1build1 [120 kB] 263s Get:35 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 263s Get:36 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 263s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.13.1-1 [319 kB] 263s Get:38 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 263s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-xapian armhf 1.4.22-1build5 [370 kB] 263s Get:40 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-2 [892 kB] 263s Get:41 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.13.1-1 [81.2 kB] 263s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 263s Get:43 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 263s Preconfiguring packages ... 263s Fetched 10.2 MB in 1s (9654 kB/s) 263s Selecting previously unselected package emacsen-common. 263s (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 ... 58496 files and directories currently installed.) 263s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 263s Unpacking emacsen-common (3.0.5) ... 263s Selecting previously unselected package dictionaries-common. 263s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 263s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 263s Unpacking dictionaries-common (1.29.7) ... 263s Selecting previously unselected package libgomp1:armhf. 263s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_armhf.deb ... 263s Unpacking libgomp1:armhf (14.1.0-1ubuntu1) ... 263s Selecting previously unselected package gettext. 263s Preparing to unpack .../03-gettext_0.22.5-1_armhf.deb ... 263s Unpacking gettext (0.22.5-1) ... 263s Selecting previously unselected package hunspell-en-us. 263s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 263s Unpacking hunspell-en-us (1:2020.12.07-2) ... 264s Selecting previously unselected package libapr1t64:armhf. 264s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_armhf.deb ... 264s Unpacking libapr1t64:armhf (1.7.2-3.2) ... 264s Selecting previously unselected package libaprutil1t64:armhf. 264s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_armhf.deb ... 264s Unpacking libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 264s Selecting previously unselected package libaspell15:armhf. 264s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 264s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 264s Selecting previously unselected package libhunspell-1.7-0:armhf. 264s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 264s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 264s Selecting previously unselected package libenchant-2-2:armhf. 264s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 264s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 264s Selecting previously unselected package libexttextcat-data. 264s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 264s Unpacking libexttextcat-data (3.4.7-1build1) ... 264s Selecting previously unselected package libserf-1-1:armhf. 264s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_armhf.deb ... 264s Unpacking libserf-1-1:armhf (1.3.10-3ubuntu1) ... 264s Selecting previously unselected package libutf8proc3:armhf. 264s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 264s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 264s Selecting previously unselected package libsvn1:armhf. 264s Preparing to unpack .../13-libsvn1_1.14.3-2_armhf.deb ... 264s Unpacking libsvn1:armhf (1.14.3-2) ... 264s Selecting previously unselected package libxapian30:armhf. 264s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 264s Unpacking libxapian30:armhf (1.4.22-1build1) ... 264s Selecting previously unselected package libxslt1.1:armhf. 264s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 264s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 264s Selecting previously unselected package python3-aeidon. 264s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 264s Unpacking python3-aeidon (1.15-1) ... 264s Selecting previously unselected package python3-soupsieve. 264s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 264s Unpacking python3-soupsieve (2.5-1) ... 264s Selecting previously unselected package python3-bs4. 264s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 264s Unpacking python3-bs4 (4.12.3-1) ... 264s Selecting previously unselected package python3-charset-normalizer. 264s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 264s Unpacking python3-charset-normalizer (3.3.2-1) ... 264s Selecting previously unselected package python3-more-itertools. 264s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 264s Unpacking python3-more-itertools (10.3.0-1) ... 264s Selecting previously unselected package python3-jaraco.functools. 264s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 264s Unpacking python3-jaraco.functools (4.0.0-1) ... 264s Selecting previously unselected package python3-cheroot. 264s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 264s Unpacking python3-cheroot (10.0.0+ds1-2) ... 264s Selecting previously unselected package python3-dateutil. 264s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 264s Unpacking python3-dateutil (2.9.0-2) ... 264s Selecting previously unselected package python3-diff-match-patch. 264s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 264s Unpacking python3-diff-match-patch (20230430-1) ... 264s Selecting previously unselected package python3-enchant. 264s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 264s Unpacking python3-enchant (3.2.2-1) ... 264s Selecting previously unselected package python3-rapidfuzz. 264s Preparing to unpack .../26-python3-rapidfuzz_3.6.2+ds-3_armhf.deb ... 264s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 264s Selecting previously unselected package python3-levenshtein. 264s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_armhf.deb ... 264s Unpacking python3-levenshtein (0.25.1-3) ... 264s Selecting previously unselected package python3-lxml:armhf. 264s Preparing to unpack .../28-python3-lxml_5.2.2-1_armhf.deb ... 264s Unpacking python3-lxml:armhf (5.2.2-1) ... 264s Selecting previously unselected package python3-mistletoe. 264s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 264s Unpacking python3-mistletoe (1.3.0-1) ... 264s Selecting previously unselected package python3-ply. 264s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 264s Unpacking python3-ply (3.11-6) ... 265s Selecting previously unselected package python3-phply. 265s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 265s Unpacking python3-phply (1.2.6-1) ... 265s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 265s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_armhf.deb ... 265s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 265s Selecting previously unselected package python3-ruamel.yaml. 265s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 265s Unpacking python3-ruamel.yaml (0.17.21-1) ... 265s Selecting previously unselected package python3-simplejson. 265s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_armhf.deb ... 265s Unpacking python3-simplejson (3.19.2-1build2) ... 265s Selecting previously unselected package python3-translate. 265s Preparing to unpack .../35-python3-translate_3.13.1-1_all.deb ... 265s Unpacking python3-translate (3.13.1-1) ... 265s Selecting previously unselected package python3-vobject. 265s Preparing to unpack .../36-python3-vobject_0.9.6.1-2_all.deb ... 265s Unpacking python3-vobject (0.9.6.1-2) ... 265s Selecting previously unselected package python3-xapian. 265s Preparing to unpack .../37-python3-xapian_1.4.22-1build5_armhf.deb ... 265s Unpacking python3-xapian (1.4.22-1build5) ... 265s Selecting previously unselected package subversion. 265s Preparing to unpack .../38-subversion_1.14.3-2_armhf.deb ... 265s Unpacking subversion (1.14.3-2) ... 265s Selecting previously unselected package translate-toolkit. 265s Preparing to unpack .../39-translate-toolkit_3.13.1-1_all.deb ... 265s Unpacking translate-toolkit (3.13.1-1) ... 265s Selecting previously unselected package python3-iniparse. 265s Preparing to unpack .../40-python3-iniparse_0.5-2_all.deb ... 265s Unpacking python3-iniparse (0.5-2) ... 265s Selecting previously unselected package python3-pycountry. 265s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 265s Unpacking python3-pycountry (24.6.1+ds1-1) ... 265s Selecting previously unselected package autopkgtest-satdep. 265s Preparing to unpack .../42-1-autopkgtest-satdep.deb ... 265s Unpacking autopkgtest-satdep (0) ... 265s Setting up python3-more-itertools (10.3.0-1) ... 265s Setting up libxapian30:armhf (1.4.22-1build1) ... 265s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 265s Setting up python3-diff-match-patch (20230430-1) ... 266s Setting up python3-jaraco.functools (4.0.0-1) ... 266s Setting up python3-aeidon (1.15-1) ... 266s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 266s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 266s Setting up python3-charset-normalizer (3.3.2-1) ... 266s Setting up python3-ply (3.11-6) ... 266s Setting up python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 266s Setting up libgomp1:armhf (14.1.0-1ubuntu1) ... 266s Setting up python3-simplejson (3.19.2-1build2) ... 266s Setting up emacsen-common (3.0.5) ... 266s Setting up python3-cheroot (10.0.0+ds1-2) ... 267s Setting up python3-pycountry (24.6.1+ds1-1) ... 267s Setting up python3-xapian (1.4.22-1build5) ... 267s Setting up python3-ruamel.yaml (0.17.21-1) ... 267s Setting up python3-mistletoe (1.3.0-1) ... 267s Setting up libexttextcat-data (3.4.7-1build1) ... 267s Setting up libapr1t64:armhf (1.7.2-3.2) ... 267s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 267s Setting up python3-dateutil (2.9.0-2) ... 267s Setting up python3-levenshtein (0.25.1-3) ... 268s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 268s Setting up python3-soupsieve (2.5-1) ... 268s Setting up python3-iniparse (0.5-2) ... 268s Setting up libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 268s Setting up python3-vobject (0.9.6.1-2) ... 268s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 268s patterns['name'] = '[a-zA-Z0-9\-_]+' 268s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 268s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 268s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 268s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 268s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 268s """ 268s Setting up gettext (0.22.5-1) ... 268s Setting up python3-phply (1.2.6-1) ... 268s Setting up dictionaries-common (1.29.7) ... 269s Setting up libserf-1-1:armhf (1.3.10-3ubuntu1) ... 269s Setting up python3-bs4 (4.12.3-1) ... 269s Setting up python3-lxml:armhf (5.2.2-1) ... 269s Setting up hunspell-en-us (1:2020.12.07-2) ... 269s Setting up libsvn1:armhf (1.14.3-2) ... 269s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 269s Setting up subversion (1.14.3-2) ... 269s Setting up python3-enchant (3.2.2-1) ... 269s Setting up python3-translate (3.13.1-1) ... 270s Setting up translate-toolkit (3.13.1-1) ... 270s Setting up autopkgtest-satdep (0) ... 270s Processing triggers for man-db (2.12.1-2) ... 271s Processing triggers for install-info (7.1-3build2) ... 271s Processing triggers for libc-bin (2.39-0ubuntu9) ... 271s Processing triggers for dictionaries-common (1.29.7) ... 287s (Reading database ... 61953 files and directories currently installed.) 287s Removing autopkgtest-satdep (0) ... 293s autopkgtest [22:46:40]: test translate-toolkit: [----------------------- 295s ========= SMOKE TEST: /usr/bin/android2po =========== 295s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 295s 295s Convert Android string files to Gettext PO localization files. See: 295s http://docs.translatehouse.org/projects/translate- 295s toolkit/en/latest/commands/android2po.html for examples and usage 295s instructions. 295s 295s Options: 295s --version show program's version number and exit 295s -h, --help show this help message and exit 295s --manpage output a manpage based on the help 295s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 295s --errorlevel=ERRORLEVEL 295s show errorlevel as: none, message, exception, 295s traceback 295s -i INPUT, --input=INPUT 295s read from INPUT in xml format 295s -x EXCLUDE, --exclude=EXCLUDE 295s exclude names matching EXCLUDE from input paths 295s -o OUTPUT, --output=OUTPUT 295s write to OUTPUT in po, pot formats 295s -t TEMPLATE, --template=TEMPLATE 295s read from TEMPLATE in xml format 295s -S, --timestamp skip conversion if the output file has newer timestamp 295s --duplicates=DUPLICATESTYLE 295s what to do with duplicate strings (identical source 295s text): merge, msgctxt (default: 'msgctxt') 295s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 295s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 295s input files [input files ...] 295s 295s positional arguments: 295s input files 295s 295s options: 295s -h, --help show this help message and exit 295s -d TMDB_FILE, --tmdb TMDB_FILE 295s translation memory database file (default: tm.db) 295s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 295s source language of translation files (default: en) 295s -t TARGET_LANG, --import-target-lang TARGET_LANG 295s target language of translation files 296s ========= SMOKE TEST: /usr/bin/csv2po =========== 296s 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] 296s 296s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 296s See: http://docs.translatehouse.org/projects/translate- 296s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 296s 296s Options: 296s --version show program's version number and exit 296s -h, --help show this help message and exit 296s --manpage output a manpage based on the help 296s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 296s --errorlevel=ERRORLEVEL 296s show errorlevel as: none, message, exception, 296s traceback 296s -i INPUT, --input=INPUT 296s read from INPUT in csv format 296s -x EXCLUDE, --exclude=EXCLUDE 296s exclude names matching EXCLUDE from input paths 296s -o OUTPUT, --output=OUTPUT 296s write to OUTPUT in po, pot formats 296s -t TEMPLATE, --template=TEMPLATE 296s read from TEMPLATE in po, pot, pot formats 296s -S, --timestamp skip conversion if the output file has newer timestamp 296s -P, --pot output PO Templates (.pot) rather than PO files (.po) 296s --charset=CHARSET set charset to decode from csv files 296s --columnorder=COLUMNORDER 296s specify the order and position of columns 296s (location,source,target,context) 296s --duplicates=DUPLICATESTYLE 296s what to do with duplicate strings (identical source 296s text): merge, msgctxt (default: 'msgctxt') 296s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 296s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 296s 296s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 296s glossary file. See: http://docs.translatehouse.org/projects/translate- 296s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 296s 296s Options: 296s --version show program's version number and exit 296s -h, --help show this help message and exit 296s --manpage output a manpage based on the help 296s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 296s --errorlevel=ERRORLEVEL 296s show errorlevel as: none, message, exception, 296s traceback 296s -i INPUT, --input=INPUT 296s read from INPUT in csv format 296s -x EXCLUDE, --exclude=EXCLUDE 296s exclude names matching EXCLUDE from input paths 296s -o OUTPUT, --output=OUTPUT 296s write to OUTPUT in tbx format 296s -S, --timestamp skip conversion if the output file has newer timestamp 296s --charset=CHARSET set charset to decode from csv files 296s --columnorder=COLUMNORDER 296s specify the order and position of columns 296s (comment,source,target) 296s ========= SMOKE TEST: /usr/bin/dtd2po =========== 296s 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] 296s 296s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 296s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 296s this module You can convert back to .dtd using po2dtd.py. 296s 296s Options: 296s --version show program's version number and exit 296s -h, --help show this help message and exit 296s --manpage output a manpage based on the help 296s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 296s --errorlevel=ERRORLEVEL 296s show errorlevel as: none, message, exception, 296s traceback 296s -i INPUT, --input=INPUT 296s read from INPUT in dtd format 296s -x EXCLUDE, --exclude=EXCLUDE 296s exclude names matching EXCLUDE from input paths 296s -o OUTPUT, --output=OUTPUT 296s write to OUTPUT in po, pot formats 296s -t TEMPLATE, --template=TEMPLATE 296s read from TEMPLATE in dtd format 296s -S, --timestamp skip conversion if the output file has newer timestamp 296s -P, --pot output PO Templates (.pot) rather than PO files (.po) 296s --duplicates=DUPLICATESTYLE 296s what to do with duplicate strings (identical source 296s text): merge, msgctxt (default: 'msgctxt') 296s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 296s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 296s 296s Convert flat XML files to Gettext PO localization files. See: 296s http://docs.translatehouse.org/projects/translate- 296s toolkit/en/latest/commands/flatxml2po.html for examples and usage 296s instructions. 296s 296s Options: 296s --version show program's version number and exit 296s -h, --help show this help message and exit 296s --manpage output a manpage based on the help 296s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 296s --errorlevel=ERRORLEVEL 296s show errorlevel as: none, message, exception, 296s traceback 296s -i INPUT, --input=INPUT 296s read from INPUT in xml format 296s -x EXCLUDE, --exclude=EXCLUDE 296s exclude names matching EXCLUDE from input paths 296s -o OUTPUT, --output=OUTPUT 296s write to OUTPUT in po, pot formats 296s -S, --timestamp skip conversion if the output file has newer timestamp 296s -r ROOT, --root=ROOT name of the XML root element (default: "root") 296s -v VALUE, --value=VALUE 296s name of the XML value element (default: "str") 296s -k KEY, --key=KEY name of the XML key attribute (default: "key") 296s -n NS, --namespace=NS 296s XML namespace uri (default: None) 296s ========= SMOKE TEST: /usr/bin/html2po =========== 296s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 296s 296s Convert HTML files to Gettext PO localization files. See: 296s http://docs.translatehouse.org/projects/translate- 296s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 296s 296s Options: 296s --version show program's version number and exit 296s -h, --help show this help message and exit 296s --manpage output a manpage based on the help 296s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 296s --errorlevel=ERRORLEVEL 296s show errorlevel as: none, message, exception, 296s traceback 296s -i INPUT, --input=INPUT 296s read from INPUT in htm, html, xhtml formats 296s -x EXCLUDE, --exclude=EXCLUDE 296s exclude names matching EXCLUDE from input paths 296s -o OUTPUT, --output=OUTPUT 296s write to OUTPUT in po, pot formats 296s -S, --timestamp skip conversion if the output file has newer timestamp 296s -P, --pot output PO Templates (.pot) rather than PO files (.po) 296s --keepcomments preserve html comments as translation notes in the 296s output 296s --duplicates=DUPLICATESTYLE 296s what to do with duplicate strings (identical source 296s text): merge, msgctxt (default: 'msgctxt') 296s --multifile=MULTIFILESTYLE 296s how to split po/pot files (single, toplevel or 296s onefile) 296s ========= SMOKE TEST: /usr/bin/ical2po =========== 297s 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] 297s 297s Convert iCalendar files to Gettext PO localization files. See: 297s http://docs.translatehouse.org/projects/translate- 297s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 297s 297s Options: 297s --version show program's version number and exit 297s -h, --help show this help message and exit 297s --manpage output a manpage based on the help 297s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 297s --errorlevel=ERRORLEVEL 297s show errorlevel as: none, message, exception, 297s traceback 297s -i INPUT, --input=INPUT 297s read from INPUT in ics format 297s -x EXCLUDE, --exclude=EXCLUDE 297s exclude names matching EXCLUDE from input paths 297s -o OUTPUT, --output=OUTPUT 297s write to OUTPUT in po, pot formats 297s -t TEMPLATE, --template=TEMPLATE 297s read from TEMPLATE in ics format 297s -S, --timestamp skip conversion if the output file has newer timestamp 297s -P, --pot output PO Templates (.pot) rather than PO files (.po) 297s --duplicates=DUPLICATESTYLE 297s what to do with duplicate strings (identical source 297s text): merge, msgctxt (default: 'msgctxt') 297s ========= SMOKE TEST: /usr/bin/idml2po =========== 297s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 297s 297s Convert IDML files to PO localization files. 297s 297s Options: 297s --version show program's version number and exit 297s -h, --help show this help message and exit 297s --manpage output a manpage based on the help 297s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 297s --errorlevel=ERRORLEVEL 297s show errorlevel as: none, message, exception, 297s traceback 297s -i INPUT, --input=INPUT 297s read from INPUT in idml format 297s -x EXCLUDE, --exclude=EXCLUDE 297s exclude names matching EXCLUDE from input paths 297s -o OUTPUT, --output=OUTPUT 297s write to OUTPUT in po, pot formats 297s -S, --timestamp skip conversion if the output file has newer timestamp 297s ========= SMOKE TEST: /usr/bin/ini2po =========== 297s 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] 297s 297s Convert .ini files to Gettext PO localization files. See: 297s http://docs.translatehouse.org/projects/translate- 297s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 297s 297s Options: 297s --version show program's version number and exit 297s -h, --help show this help message and exit 297s --manpage output a manpage based on the help 297s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 297s --errorlevel=ERRORLEVEL 297s show errorlevel as: none, message, exception, 297s traceback 297s -i INPUT, --input=INPUT 297s read from INPUT in ini, isl, iss formats 297s -x EXCLUDE, --exclude=EXCLUDE 297s exclude names matching EXCLUDE from input paths 297s -o OUTPUT, --output=OUTPUT 297s write to OUTPUT in po, pot formats 297s -t TEMPLATE, --template=TEMPLATE 297s read from TEMPLATE in ini, isl, iss formats 297s -S, --timestamp skip conversion if the output file has newer timestamp 297s -P, --pot output PO Templates (.pot) rather than PO files (.po) 297s --duplicates=DUPLICATESTYLE 297s what to do with duplicate strings (identical source 297s text): merge, msgctxt (default: 'msgctxt') 297s ========= SMOKE TEST: /usr/bin/json2po =========== 297s 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] 297s 297s Convert JSON files to Gettext PO localization files. See: 297s http://docs.translatehouse.org/projects/translate- 297s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 297s 297s Options: 297s --version show program's version number and exit 297s -h, --help show this help message and exit 297s --manpage output a manpage based on the help 297s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 297s --errorlevel=ERRORLEVEL 297s show errorlevel as: none, message, exception, 297s traceback 297s -i INPUT, --input=INPUT 297s read from INPUT in json format 297s -x EXCLUDE, --exclude=EXCLUDE 297s exclude names matching EXCLUDE from input paths 297s -o OUTPUT, --output=OUTPUT 297s write to OUTPUT in po, pot formats 297s -t TEMPLATE, --template=TEMPLATE 297s read from TEMPLATE in json format 297s -S, --timestamp skip conversion if the output file has newer timestamp 297s -P, --pot output PO Templates (.pot) rather than PO files (.po) 297s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 297s everything) 297s --duplicates=DUPLICATESTYLE 297s what to do with duplicate strings (identical source 297s text): merge, msgctxt (default: 'msgctxt') 297s ========= SMOKE TEST: /usr/bin/md2po =========== 297s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 297s 297s Convert Markdown files to Gettext PO localization files. See: 297s http://docs.translatehouse.org/projects/translate- 297s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 297s 297s Options: 297s --version show program's version number and exit 297s -h, --help show this help message and exit 297s --manpage output a manpage based on the help 297s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 297s --errorlevel=ERRORLEVEL 297s show errorlevel as: none, message, exception, 297s traceback 297s -i INPUT, --input=INPUT 297s read from INPUT in markdown, md, text, txt formats 297s -x EXCLUDE, --exclude=EXCLUDE 297s exclude names matching EXCLUDE from input paths 297s -o OUTPUT, --output=OUTPUT 297s write to OUTPUT in po, pot formats 297s -S, --timestamp skip conversion if the output file has newer timestamp 297s -P, --pot output PO Templates (.pot) rather than PO files (.po) 297s --duplicates=DUPLICATESTYLE 297s what to do with duplicate strings (identical source 297s text): merge, msgctxt (default: 'msgctxt') 297s --multifile=MULTIFILESTYLE 297s how to split po/pot files (single, toplevel or 297s onefile) 298s ========= SMOKE TEST: /usr/bin/moz2po =========== 298s 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] 298s 298s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 298s See: http://docs.translatehouse.org/projects/translate- 298s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 298s 298s Options: 298s --version show program's version number and exit 298s -h, --help show this help message and exit 298s --manpage output a manpage based on the help 298s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 298s --errorlevel=ERRORLEVEL 298s show errorlevel as: none, message, exception, 298s traceback 298s -i INPUT, --input=INPUT 298s read from INPUT in *, dtd, inc, ini, it, js, lang, 298s manifest, properties, rdf formats 298s -x EXCLUDE, --exclude=EXCLUDE 298s exclude names matching EXCLUDE from input paths 298s -o OUTPUT, --output=OUTPUT 298s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 298s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 298s lang.pot, manifest, properties.po, properties.pot, rdf 298s formats 298s -t TEMPLATE, --template=TEMPLATE 298s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 298s manifest, properties, rdf formats 298s -S, --timestamp skip conversion if the output file has newer timestamp 298s -P, --pot output PO Templates (.pot) rather than PO files (.po) 298s --duplicates=DUPLICATESTYLE 298s what to do with duplicate strings (identical source 298s text): merge, msgctxt (default: 'msgctxt') 298s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 298s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 298s 298s Convert Mozilla .lang files to Gettext PO localization files. 298s 298s Options: 298s --version show program's version number and exit 298s -h, --help show this help message and exit 298s --manpage output a manpage based on the help 298s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 298s --errorlevel=ERRORLEVEL 298s show errorlevel as: none, message, exception, 298s traceback 298s -i INPUT, --input=INPUT 298s read from INPUT in lang format 298s -x EXCLUDE, --exclude=EXCLUDE 298s exclude names matching EXCLUDE from input paths 298s -o OUTPUT, --output=OUTPUT 298s write to OUTPUT in po, pot formats 298s -S, --timestamp skip conversion if the output file has newer timestamp 298s -P, --pot output PO Templates (.pot) rather than PO files (.po) 298s --encoding=ENCODING The encoding of the input file (default: UTF-8) 298s --duplicates=DUPLICATESTYLE 298s what to do with duplicate strings (identical source 298s text): merge, msgctxt (default: 'msgctxt') 298s ========= SMOKE TEST: /usr/bin/msghack =========== 298s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 298s This program can be used to alter .po files in ways no sane mind would think about. 298s -o result will be written to FILE 298s --invert invert a po file by switching msgid and msgstr 298s --master join any number of files in a master-formatted catalog 298s --empty empty the contents of the .po file, creating a .pot 298s --append append entries from ref.po that don't exist in file.po 298s 298s Note: It is just a replacement of msghack for backward support. 298s 298s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 298s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 298s 298s Convert OpenDocument (ODF) files to XLIFF localization files. See: 298s http://docs.translatehouse.org/projects/translate- 298s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 298s 298s Options: 298s --version show program's version number and exit 298s -h, --help show this help message and exit 298s --manpage output a manpage based on the help 298s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 298s --errorlevel=ERRORLEVEL 298s show errorlevel as: none, message, exception, 298s traceback 298s -i INPUT, --input=INPUT 298s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 298s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 298s formats 298s -x EXCLUDE, --exclude=EXCLUDE 298s exclude names matching EXCLUDE from input paths 298s -o OUTPUT, --output=OUTPUT 298s write to OUTPUT in xlf, xliff formats 298s -S, --timestamp skip conversion if the output file has newer timestamp 298s ========= SMOKE TEST: /usr/bin/oo2po =========== 298s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 298s 298s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 298s files. See: http://docs.translatehouse.org/projects/translate- 298s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 298s 298s Options: 298s --version show program's version number and exit 298s -h, --help show this help message and exit 298s --manpage output a manpage based on the help 298s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 298s --errorlevel=ERRORLEVEL 298s show errorlevel as: none, message, exception, 298s traceback 298s -i INPUT, --input=INPUT 298s read from INPUT in oo, sdf formats 298s -x EXCLUDE, --exclude=EXCLUDE 298s exclude names matching EXCLUDE from input paths 298s -o OUTPUT, --output=OUTPUT 298s write to OUTPUT in po, pot formats 298s -S, --timestamp skip conversion if the output file has newer timestamp 298s -P, --pot output PO Templates (.pot) rather than PO files (.po) 298s -l LANG, --language=LANG 298s set target language to extract from oo file (e.g. af- 298s ZA) 298s --source-language=LANG 298s set source language code (default en-US) 298s --nonrecursiveinput don't treat the input oo as a recursive store 298s --duplicates=DUPLICATESTYLE 298s what to do with duplicate strings (identical source 298s text): merge, msgctxt (default: 'msgctxt') 298s --multifile=MULTIFILESTYLE 298s how to split po/pot files (single, toplevel or 298s onefile) 299s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 299s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 299s 299s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 299s files. See: http://docs.translatehouse.org/projects/translate- 299s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in oo, sdf formats 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in xlf, xliff formats 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s -l LANG, --language=LANG 299s set target language to extract from oo file (e.g. af- 299s ZA) 299s --source-language=LANG 299s set source language code (default en-US) 299s --nonrecursiveinput don't treat the input oo as a recursive store 299s --duplicates=DUPLICATESTYLE 299s what to do with duplicate strings (identical source 299s text): merge, msgctxt (default: 'msgctxt') 299s --multifile=MULTIFILESTYLE 299s how to split po/pot files (single, toplevel or 299s onefile) 299s ========= SMOKE TEST: /usr/bin/php2po =========== 299s 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] 299s 299s Convert PHP localization files to Gettext PO localization files. See: 299s http://docs.translatehouse.org/projects/translate- 299s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in html, php formats 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in po, pot formats 299s -t TEMPLATE, --template=TEMPLATE 299s read from TEMPLATE in html, php formats 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s -P, --pot output PO Templates (.pot) rather than PO files (.po) 299s --duplicates=DUPLICATESTYLE 299s what to do with duplicate strings (identical source 299s text): merge, msgctxt (default: 'msgctxt') 299s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 299s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 299s 299s Convert PHP format .po files to Python format .po files. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in po, pot formats 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in po, pot formats 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s ========= SMOKE TEST: /usr/bin/po2csv =========== 299s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 299s 299s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 299s See: http://docs.translatehouse.org/projects/translate- 299s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in po, pot formats 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in csv format 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s --columnorder=COLUMNORDER 299s specify the order and position of columns 299s (location,source,target,context) 299s ========= SMOKE TEST: /usr/bin/po2dtd =========== 299s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 299s 299s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 299s Conversion is either done using a template plus PO file or just using the 299s .po file. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in po, pot formats 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in dtd format 299s -t TEMPLATE, --template=TEMPLATE 299s read from TEMPLATE in dtd format 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s --threshold=PERCENT only convert files where the translation completion is 299s above PERCENT 299s --fuzzy use translations marked fuzzy 299s --nofuzzy don't use translations marked fuzzy (default) 299s --removeuntranslated remove untranslated strings from output 299s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 299s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 299s 299s Convert Gettext PO localization files to flat XML files. See: 299s http://docs.translatehouse.org/projects/translate- 299s toolkit/en/latest/commands/flatxml2po.html for examples and usage 299s instructions. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in po, pot formats 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in xml format 299s -t TEMPLATE, --template=TEMPLATE 299s read from TEMPLATE in xml format 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s -r ROOT, --root=ROOT name of the XML root element (default: "root") 299s -v VALUE, --value=VALUE 299s name of the XML value element (default: "str") 299s -k KEY, --key=KEY name of the XML key attribute (default: "key") 299s -n NS, --namespace=NS 299s XML namespace uri (default: None) 299s -w INDENT, --indent=INDENT 299s indent width in spaces, 0 for no indent (default: 2) 300s ========= SMOKE TEST: /usr/bin/po2html =========== 300s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 300s 300s Translate HTML files using Gettext PO localization files. See: 300s http://docs.translatehouse.org/projects/translate- 300s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 300s 300s Options: 300s --version show program's version number and exit 300s -h, --help show this help message and exit 300s --manpage output a manpage based on the help 300s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 300s --errorlevel=ERRORLEVEL 300s show errorlevel as: none, message, exception, 300s traceback 300s -i INPUT, --input=INPUT 300s read from INPUT in po, pot formats 300s -x EXCLUDE, --exclude=EXCLUDE 300s exclude names matching EXCLUDE from input paths 300s -o OUTPUT, --output=OUTPUT 300s write to OUTPUT in htm, html, xhtml formats 300s -t TEMPLATE, --template=TEMPLATE 300s read from TEMPLATE in htm, html, xhtml formats 300s -S, --timestamp skip conversion if the output file has newer timestamp 300s --threshold=PERCENT only convert files where the translation completion is 300s above PERCENT 300s --fuzzy use translations marked fuzzy 300s --nofuzzy don't use translations marked fuzzy (default) 300s ========= SMOKE TEST: /usr/bin/po2ical =========== 300s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 300s 300s Convert Gettext PO localization files to iCalendar files. See: 300s http://docs.translatehouse.org/projects/translate- 300s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 300s 300s Options: 300s --version show program's version number and exit 300s -h, --help show this help message and exit 300s --manpage output a manpage based on the help 300s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 300s --errorlevel=ERRORLEVEL 300s show errorlevel as: none, message, exception, 300s traceback 300s -i INPUT, --input=INPUT 300s read from INPUT in po, pot formats 300s -x EXCLUDE, --exclude=EXCLUDE 300s exclude names matching EXCLUDE from input paths 300s -o OUTPUT, --output=OUTPUT 300s write to OUTPUT in ics format 300s -t TEMPLATE, --template=TEMPLATE 300s read from TEMPLATE in ics format 300s -S, --timestamp skip conversion if the output file has newer timestamp 300s --threshold=PERCENT only convert files where the translation completion is 300s above PERCENT 300s --fuzzy use translations marked fuzzy 300s --nofuzzy don't use translations marked fuzzy (default) 300s ========= SMOKE TEST: /usr/bin/po2idml =========== 300s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 300s 300s Takes an IDML template file and a PO file containing translations of strings 300s in the IDML template. It creates a new IDML file using the translations of the 300s PO file. 300s 300s Options: 300s --version show program's version number and exit 300s -h, --help show this help message and exit 300s --manpage output a manpage based on the help 300s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 300s --errorlevel=ERRORLEVEL 300s show errorlevel as: none, message, exception, 300s traceback 300s -i INPUT, --input=INPUT 300s read from INPUT in po, pot formats 300s -x EXCLUDE, --exclude=EXCLUDE 300s exclude names matching EXCLUDE from input paths 300s -o OUTPUT, --output=OUTPUT 300s write to OUTPUT in idml format 300s -t TEMPLATE, --template=TEMPLATE 300s read from TEMPLATE in idml format 300s -S, --timestamp skip conversion if the output file has newer timestamp 300s ========= SMOKE TEST: /usr/bin/po2ini =========== 300s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 300s 300s Convert Gettext PO localization files to .ini files. See: 300s http://docs.translatehouse.org/projects/translate- 300s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 300s 300s Options: 300s --version show program's version number and exit 300s -h, --help show this help message and exit 300s --manpage output a manpage based on the help 300s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 300s --errorlevel=ERRORLEVEL 300s show errorlevel as: none, message, exception, 300s traceback 300s -i INPUT, --input=INPUT 300s read from INPUT in po, pot formats 300s -x EXCLUDE, --exclude=EXCLUDE 300s exclude names matching EXCLUDE from input paths 300s -o OUTPUT, --output=OUTPUT 300s write to OUTPUT in ini, isl formats 300s -t TEMPLATE, --template=TEMPLATE 300s read from TEMPLATE in ini, isl formats 300s -S, --timestamp skip conversion if the output file has newer timestamp 300s --threshold=PERCENT only convert files where the translation completion is 300s above PERCENT 300s --fuzzy use translations marked fuzzy 300s --nofuzzy don't use translations marked fuzzy (default) 300s ========= SMOKE TEST: /usr/bin/po2json =========== 300s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 300s 300s Convert Gettext PO localization files to JSON files. See: 300s http://docs.translatehouse.org/projects/translate- 300s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 300s 300s Options: 300s --version show program's version number and exit 300s -h, --help show this help message and exit 300s --manpage output a manpage based on the help 300s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 300s --errorlevel=ERRORLEVEL 300s show errorlevel as: none, message, exception, 300s traceback 300s -i INPUT, --input=INPUT 300s read from INPUT in po, pot formats 300s -x EXCLUDE, --exclude=EXCLUDE 300s exclude names matching EXCLUDE from input paths 300s -o OUTPUT, --output=OUTPUT 300s write to OUTPUT in json format 300s -t TEMPLATE, --template=TEMPLATE 300s read from TEMPLATE in json format 300s -S, --timestamp skip conversion if the output file has newer timestamp 300s --threshold=PERCENT only convert files where the translation completion is 300s above PERCENT 300s --fuzzy use translations marked fuzzy 300s --nofuzzy don't use translations marked fuzzy (default) 300s --removeuntranslated remove untranslated strings from output 300s ========= SMOKE TEST: /usr/bin/po2md =========== 301s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 301s 301s Translate Markdown files using Gettext PO localization files. See: 301s http://docs.translatehouse.org/projects/translate- 301s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 301s 301s Options: 301s --version show program's version number and exit 301s -h, --help show this help message and exit 301s --manpage output a manpage based on the help 301s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 301s --errorlevel=ERRORLEVEL 301s show errorlevel as: none, message, exception, 301s traceback 301s -i INPUT, --input=INPUT 301s read from INPUT in po, pot formats 301s -x EXCLUDE, --exclude=EXCLUDE 301s exclude names matching EXCLUDE from input paths 301s -o OUTPUT, --output=OUTPUT 301s write to OUTPUT in markdown, md, text, txt formats 301s -t TEMPLATE, --template=TEMPLATE 301s read from TEMPLATE in markdown, md, text, txt formats 301s -S, --timestamp skip conversion if the output file has newer timestamp 301s -m MAXLENGTH, --maxlinelength=MAXLENGTH 301s reflow (word wrap) the output to the given maximum 301s line length. set to 0 to disable 301s --threshold=PERCENT only convert files where the translation completion is 301s above PERCENT 301s --fuzzy use translations marked fuzzy 301s --nofuzzy don't use translations marked fuzzy (default) 301s ========= SMOKE TEST: /usr/bin/po2moz =========== 301s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 301s 301s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 301s See: http://docs.translatehouse.org/projects/translate- 301s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 301s 301s Options: 301s --version show program's version number and exit 301s -h, --help show this help message and exit 301s --manpage output a manpage based on the help 301s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 301s --errorlevel=ERRORLEVEL 301s show errorlevel as: none, message, exception, 301s traceback 301s -i INPUT, --input=INPUT 301s read from INPUT in *, dtd.po, dtd.pot, inc.po, 301s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 301s lang.pot, manifest, properties.po, properties.pot, rdf 301s formats 301s -x EXCLUDE, --exclude=EXCLUDE 301s exclude names matching EXCLUDE from input paths 301s -o OUTPUT, --output=OUTPUT 301s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 301s manifest, properties, rdf formats 301s -t TEMPLATE, --template=TEMPLATE 301s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 301s manifest, properties, rdf formats 301s -S, --timestamp skip conversion if the output file has newer timestamp 301s -l LOCALE, --locale=LOCALE 301s set output locale (required as this sets the directory 301s names) 301s --threshold=PERCENT only convert files where the translation completion is 301s above PERCENT 301s --fuzzy use translations marked fuzzy 301s --nofuzzy don't use translations marked fuzzy (default) 301s --removeuntranslated remove untranslated strings from output 301s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 301s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 301s 301s Convert Gettext PO localization files to Mozilla .lang files. 301s 301s Options: 301s --version show program's version number and exit 301s -h, --help show this help message and exit 301s --manpage output a manpage based on the help 301s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 301s --errorlevel=ERRORLEVEL 301s show errorlevel as: none, message, exception, 301s traceback 301s -i INPUT, --input=INPUT 301s read from INPUT in po, pot formats 301s -x EXCLUDE, --exclude=EXCLUDE 301s exclude names matching EXCLUDE from input paths 301s -o OUTPUT, --output=OUTPUT 301s write to OUTPUT in lang format 301s -t TEMPLATE, --template=TEMPLATE 301s read from TEMPLATE in lang format 301s -S, --timestamp skip conversion if the output file has newer timestamp 301s --mark-active mark the file as active 301s --threshold=PERCENT only convert files where the translation completion is 301s above PERCENT 301s --fuzzy use translations marked fuzzy 301s --nofuzzy don't use translations marked fuzzy (default) 301s ========= SMOKE TEST: /usr/bin/po2oo =========== 302s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 302s 302s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 302s file. See: http://docs.translatehouse.org/projects/translate- 302s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 302s 302s Options: 302s --version show program's version number and exit 302s -h, --help show this help message and exit 302s --manpage output a manpage based on the help 302s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 302s --errorlevel=ERRORLEVEL 302s show errorlevel as: none, message, exception, 302s traceback 302s -i INPUT, --input=INPUT 302s read from INPUT in po, pot, xlf, xliff formats 302s -x EXCLUDE, --exclude=EXCLUDE 302s exclude names matching EXCLUDE from input paths 302s -o OUTPUT, --output=OUTPUT 302s write to OUTPUT in oo, sdf formats 302s -t TEMPLATE, --template=TEMPLATE 302s read from TEMPLATE in oo, sdf formats 302s -S, --timestamp skip conversion if the output file has newer timestamp 302s -l LANG, --language=LANG 302s set target language code (e.g. af-ZA) [required] 302s --source-language=LANG 302s set source language code (default en-US) 302s -T, --keeptimestamp don't change the timestamps of the strings 302s --nonrecursiveoutput don't treat the output oo as a recursive store 302s --nonrecursivetemplate 302s don't treat the template oo as a recursive store 302s --skipsource don't output the source language, but fallback to it 302s where needed 302s --filteraction=ACTION 302s action on pofilter failure: none (default), warn, 302s exclude-serious, exclude-all 302s --threshold=PERCENT only convert files where the translation completion is 302s above PERCENT 302s --fuzzy use translations marked fuzzy 302s --nofuzzy don't use translations marked fuzzy (default) 302s --multifile=MULTIFILESTYLE 302s how to split po/pot files (single, toplevel or 302s onefile) 302s ========= SMOKE TEST: /usr/bin/po2php =========== 302s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 302s 302s Convert Gettext PO localization files to PHP localization files. See: 302s http://docs.translatehouse.org/projects/translate- 302s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 302s 302s Options: 302s --version show program's version number and exit 302s -h, --help show this help message and exit 302s --manpage output a manpage based on the help 302s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 302s --errorlevel=ERRORLEVEL 302s show errorlevel as: none, message, exception, 302s traceback 302s -i INPUT, --input=INPUT 302s read from INPUT in po, pot formats 302s -x EXCLUDE, --exclude=EXCLUDE 302s exclude names matching EXCLUDE from input paths 302s -o OUTPUT, --output=OUTPUT 302s write to OUTPUT in html, php formats 302s -t TEMPLATE, --template=TEMPLATE 302s read from TEMPLATE in html, php formats 302s -S, --timestamp skip conversion if the output file has newer timestamp 302s --threshold=PERCENT only convert files where the translation completion is 302s above PERCENT 302s --fuzzy use translations marked fuzzy 302s --nofuzzy don't use translations marked fuzzy (default) 302s ========= SMOKE TEST: /usr/bin/po2prop =========== 302s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 302s 302s Convert Gettext PO localization files to Java/Mozilla .properties files. 302s See: http://docs.translatehouse.org/projects/translate- 302s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 302s 302s Options: 302s --version show program's version number and exit 302s -h, --help show this help message and exit 302s --manpage output a manpage based on the help 302s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 302s --errorlevel=ERRORLEVEL 302s show errorlevel as: none, message, exception, 302s traceback 302s -i INPUT, --input=INPUT 302s read from INPUT in po, pot formats 302s -x EXCLUDE, --exclude=EXCLUDE 302s exclude names matching EXCLUDE from input paths 302s -o OUTPUT, --output=OUTPUT 302s write to OUTPUT in lang, properties, strings formats 302s -t TEMPLATE, --template=TEMPLATE 302s read from TEMPLATE in lang, properties, strings 302s formats 302s -S, --timestamp skip conversion if the output file has newer timestamp 302s --personality=TYPE override the input file format: java, java-utf8, java- 302s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 302s strings, strings-utf8, joomla (for .properties files, 302s default: java) 302s --encoding=ENCODING override the encoding set by the personality 302s --threshold=PERCENT only convert files where the translation completion is 302s above PERCENT 302s --fuzzy use translations marked fuzzy 302s --nofuzzy don't use translations marked fuzzy (default) 302s --removeuntranslated remove untranslated strings from output 302s ========= SMOKE TEST: /usr/bin/po2rc =========== 302s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 302s 302s Convert Gettext PO localization files back to Windows Resource (.rc) files. 302s See: http://docs.translatehouse.org/projects/translate- 302s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 302s 302s Options: 302s --version show program's version number and exit 302s -h, --help show this help message and exit 302s --manpage output a manpage based on the help 302s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 302s --errorlevel=ERRORLEVEL 302s show errorlevel as: none, message, exception, 302s traceback 302s -i INPUT, --input=INPUT 302s read from INPUT in po, pot formats 302s -x EXCLUDE, --exclude=EXCLUDE 302s exclude names matching EXCLUDE from input paths 302s -o OUTPUT, --output=OUTPUT 302s write to OUTPUT in rc format 302s -t TEMPLATE, --template=TEMPLATE 302s read from TEMPLATE in rc format 302s -S, --timestamp skip conversion if the output file has newer timestamp 302s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 302s -l LANG, --lang=LANG LANG entry 302s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 302s --threshold=PERCENT only convert files where the translation completion is 302s above PERCENT 302s --fuzzy use translations marked fuzzy 302s --nofuzzy don't use translations marked fuzzy (default) 302s ========= SMOKE TEST: /usr/bin/po2resx =========== 302s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 302s 302s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 302s http://docs.translatehouse.org/projects/translate- 302s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 302s 302s Options: 302s --version show program's version number and exit 302s -h, --help show this help message and exit 302s --manpage output a manpage based on the help 302s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 302s --errorlevel=ERRORLEVEL 302s show errorlevel as: none, message, exception, 302s traceback 302s -i INPUT, --input=INPUT 302s read from INPUT in po, pot formats 302s -x EXCLUDE, --exclude=EXCLUDE 302s exclude names matching EXCLUDE from input paths 302s -o OUTPUT, --output=OUTPUT 302s write to OUTPUT in resx format 302s -t TEMPLATE, --template=TEMPLATE 302s read from TEMPLATE in resx format 302s -S, --timestamp skip conversion if the output file has newer timestamp 302s --fuzzy use translations marked fuzzy 302s --nofuzzy don't use translations marked fuzzy (default) 303s ========= SMOKE TEST: /usr/bin/po2sub =========== 303s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 303s 303s Convert Gettext PO localization files to subtitle files. See: 303s http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in ass, srt, ssa, sub formats 303s -t TEMPLATE, --template=TEMPLATE 303s read from TEMPLATE in ass, srt, ssa, sub formats 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s --threshold=PERCENT only convert files where the translation completion is 303s above PERCENT 303s --fuzzy use translations marked fuzzy 303s --nofuzzy don't use translations marked fuzzy (default) 303s ========= SMOKE TEST: /usr/bin/po2symb =========== 303s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 303s 303s Convert Gettext PO localization files to Symbian translation files. See: 303s http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in r0 format 303s -t TEMPLATE, --template=TEMPLATE 303s read from TEMPLATE in 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s --duplicates=DUPLICATESTYLE 303s what to do with duplicate strings (identical source 303s text): merge, msgctxt (default: 'msgctxt') 303s ========= SMOKE TEST: /usr/bin/po2tiki =========== 303s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 303s 303s Convert Gettext PO files to TikiWiki's language.php files. See: 303s http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in tiki format 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s ========= SMOKE TEST: /usr/bin/po2tmx =========== 303s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 303s 303s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 303s file. See: http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in tmx format 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s -l LANG, --language=LANG 303s set target language code (e.g. af-ZA) [required] 303s --source-language=LANG 303s set source language code (default: en) 303s --comments=COMMENT set default comment import: none, source, type or 303s others (default: none) 303s ========= SMOKE TEST: /usr/bin/po2ts =========== 303s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 303s 303s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 303s http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in ts format 303s -t TEMPLATE, --template=TEMPLATE 303s read from TEMPLATE in ts format 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s -c CONTEXT, --context=CONTEXT 303s use supplied context instead of the one in the .po 303s file comment 303s ========= SMOKE TEST: /usr/bin/po2txt =========== 303s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 303s 303s Convert Gettext PO localization files to plain text (.txt) files. See: 303s http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot, xlf, xliff formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in txt format 303s -t TEMPLATE, --template=TEMPLATE 303s read from TEMPLATE in txt format 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s --encoding=ENCODING The encoding of the template file (default: UTF-8) 303s -w WRAP, --wrap=WRAP set number of columns to wrap text at 303s --threshold=PERCENT only convert files where the translation completion is 303s above PERCENT 303s --fuzzy use translations marked fuzzy 303s --nofuzzy don't use translations marked fuzzy (default) 303s ========= SMOKE TEST: /usr/bin/po2web2py =========== 303s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 303s 303s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 303s http://docs.translatehouse.org/projects/translate- 303s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 303s 303s Options: 303s --version show program's version number and exit 303s -h, --help show this help message and exit 303s --manpage output a manpage based on the help 303s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 303s --errorlevel=ERRORLEVEL 303s show errorlevel as: none, message, exception, 303s traceback 303s -i INPUT, --input=INPUT 303s read from INPUT in po, pot formats 303s -x EXCLUDE, --exclude=EXCLUDE 303s exclude names matching EXCLUDE from input paths 303s -o OUTPUT, --output=OUTPUT 303s write to OUTPUT in py format 303s -S, --timestamp skip conversion if the output file has newer timestamp 303s --threshold=PERCENT only convert files where the translation completion is 303s above PERCENT 303s --fuzzy use translations marked fuzzy 303s --nofuzzy don't use translations marked fuzzy (default) 304s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 304s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 304s 304s Convert Gettext PO localization files to a Wordfast translation memory file. 304s See: http://docs.translatehouse.org/projects/translate- 304s toolkit/en/latest/commands/po2wordfast.html for examples and usage 304s instructions. 304s 304s Options: 304s --version show program's version number and exit 304s -h, --help show this help message and exit 304s --manpage output a manpage based on the help 304s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 304s --errorlevel=ERRORLEVEL 304s show errorlevel as: none, message, exception, 304s traceback 304s -i INPUT, --input=INPUT 304s read from INPUT in po, pot formats 304s -x EXCLUDE, --exclude=EXCLUDE 304s exclude names matching EXCLUDE from input paths 304s -o OUTPUT, --output=OUTPUT 304s write to OUTPUT in txt format 304s -S, --timestamp skip conversion if the output file has newer timestamp 304s -l LANG, --language=LANG 304s set target language code (e.g. af-ZA) [required] 304s --source-language=LANG 304s set source language code (default: en) 304s ========= SMOKE TEST: /usr/bin/po2xliff =========== 304s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 304s 304s Convert Gettext PO localization files to XLIFF localization files. See: 304s http://docs.translatehouse.org/projects/translate- 304s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 304s 304s Options: 304s --version show program's version number and exit 304s -h, --help show this help message and exit 304s --manpage output a manpage based on the help 304s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 304s --errorlevel=ERRORLEVEL 304s show errorlevel as: none, message, exception, 304s traceback 304s -i INPUT, --input=INPUT 304s read from INPUT in po, pot formats 304s -x EXCLUDE, --exclude=EXCLUDE 304s exclude names matching EXCLUDE from input paths 304s -o OUTPUT, --output=OUTPUT 304s write to OUTPUT in xlf, xliff formats 304s -t TEMPLATE, --template=TEMPLATE 304s read from TEMPLATE in xlf, xliff formats 304s -S, --timestamp skip conversion if the output file has newer timestamp 304s ========= SMOKE TEST: /usr/bin/po2yaml =========== 304s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 304s 304s Convert Gettext PO localization files to YAML files. See: 304s http://docs.translatehouse.org/projects/translate- 304s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 304s 304s Options: 304s --version show program's version number and exit 304s -h, --help show this help message and exit 304s --manpage output a manpage based on the help 304s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 304s --errorlevel=ERRORLEVEL 304s show errorlevel as: none, message, exception, 304s traceback 304s -i INPUT, --input=INPUT 304s read from INPUT in po, pot formats 304s -x EXCLUDE, --exclude=EXCLUDE 304s exclude names matching EXCLUDE from input paths 304s -o OUTPUT, --output=OUTPUT 304s write to OUTPUT in yaml, yml formats 304s -t TEMPLATE, --template=TEMPLATE 304s read from TEMPLATE in yaml, yml formats 304s -S, --timestamp skip conversion if the output file has newer timestamp 304s --threshold=PERCENT only convert files where the translation completion is 304s above PERCENT 304s --fuzzy use translations marked fuzzy 304s --nofuzzy don't use translations marked fuzzy (default) 304s ========= SMOKE TEST: /usr/bin/poclean =========== 304s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 304s 304s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 304s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 304s produces the target file with only the target text in from a text version of 304s the RTF. 304s 304s Options: 304s --version show program's version number and exit 304s -h, --help show this help message and exit 304s --manpage output a manpage based on the help 304s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 304s --errorlevel=ERRORLEVEL 304s show errorlevel as: none, message, exception, 304s traceback 304s -i INPUT, --input=INPUT 304s read from INPUT in po, pot, xlf, xliff formats 304s -x EXCLUDE, --exclude=EXCLUDE 304s exclude names matching EXCLUDE from input paths 304s -o OUTPUT, --output=OUTPUT 304s write to OUTPUT in po, pot, xlf, xliff formats 304s -S, --timestamp skip conversion if the output file has newer timestamp 304s ========= SMOKE TEST: /usr/bin/pocompendium =========== 304s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 304s The first parameter is the output file, standard output if the output file is '-'. 304s Any number of directories may be specified for input files. 304s Options: 304s --invert|v Creates an inverse compendium with msgid and msgstr swapped 304s --errors|e Only ouput msg bundles that have errors 304s --correct|c Only ouput msg bundles that are correctly translated 304s --ignore-case|i Drops all strings to lowercase 304s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 304s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 304s --strip-accel-under|-su Strip all underscore (_) accelerator characters 304s ========= SMOKE TEST: /usr/bin/pocompile =========== 304s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 304s 304s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 304s Object) files. See: http://docs.translatehouse.org/projects/translate- 304s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 304s 304s Options: 304s --version show program's version number and exit 304s -h, --help show this help message and exit 304s --manpage output a manpage based on the help 304s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 304s --errorlevel=ERRORLEVEL 304s show errorlevel as: none, message, exception, 304s traceback 304s -i INPUT, --input=INPUT 304s read from INPUT in po, pot, xlf, xliff formats 304s -x EXCLUDE, --exclude=EXCLUDE 304s exclude names matching EXCLUDE from input paths 304s -o OUTPUT, --output=OUTPUT 304s write to OUTPUT in mo format 304s -S, --timestamp skip conversion if the output file has newer timestamp 304s --fuzzy use translations marked fuzzy 304s --nofuzzy don't use translations marked fuzzy (default) 304s ========= SMOKE TEST: /usr/bin/poconflicts =========== 304s 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] 304s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 304s 304s Conflict finder for Gettext PO localization files. See: 304s http://docs.translatehouse.org/projects/translate- 304s toolkit/en/latest/commands/poconflicts.html for examples and usage 304s instructions. 304s 304s Options: 304s --version show program's version number and exit 304s -h, --help show this help message and exit 304s --manpage output a manpage based on the help 304s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 304s --errorlevel=ERRORLEVEL 304s show errorlevel as: none, message, exception, 304s traceback 304s -i INPUT, --input=INPUT 304s read from INPUT in po format 304s -x EXCLUDE, --exclude=EXCLUDE 304s exclude names matching EXCLUDE from input paths 304s -o OUTPUT, --output=OUTPUT 304s write to OUTPUT in po format 304s -I, --ignore-case ignore case distinctions 304s -v, --invert invert the conflicts thus extracting conflicting 304s destination words 304s --accelerator=ACCELERATORS 304s ignores the given accelerator characters when matching 304s ========= SMOKE TEST: /usr/bin/pocount =========== 305s usage: pocount [-h] [--incomplete] 305s [--full | --csv | --short | --short-strings | --short-words] 305s [--no-color] 305s files [files ...] 305s 305s positional arguments: 305s files 305s 305s options: 305s -h, --help show this help message and exit 305s --incomplete skip 100% translated files. 305s 305s Output format: 305s --full (default) statistics in full, verbose format 305s --csv statistics in CSV format 305s --short same as --short-strings 305s --short-strings statistics of strings in short format - one line per file 305s --short-words statistics of words in short format - one line per file 305s --no-color show output without color 305s ========= SMOKE TEST: /usr/bin/podebug =========== 305s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 305s 305s Insert debug messages into XLIFF and Gettext PO localization files. See: 305s http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 305s 305s Options: 305s --version show program's version number and exit 305s -h, --help show this help message and exit 305s --manpage output a manpage based on the help 305s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 305s --errorlevel=ERRORLEVEL 305s show errorlevel as: none, message, exception, 305s traceback 305s -i INPUT, --input=INPUT 305s read from INPUT in po, pot, pot, tmx, xlf, xliff 305s formats 305s -x EXCLUDE, --exclude=EXCLUDE 305s exclude names matching EXCLUDE from input paths 305s -o OUTPUT, --output=OUTPUT 305s write to OUTPUT in po, pot, tmx, xlf, xliff formats 305s -S, --timestamp skip conversion if the output file has newer timestamp 305s -f FORMAT, --format=FORMAT 305s specify format string 305s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 305s classified, en, flipped, unicode, xxx 305s --ignore=APPLICATION apply tagging ignore rules for the given application: 305s gtk, kde, libreoffice, mozilla, openoffice 305s --preserveplaceholders 305s attempt to exclude characters that are part of 305s placeholders when performing character-level rewrites 305s so that consuming applications can still use the 305s placeholders to generate final output 305s ========= SMOKE TEST: /usr/bin/pofilter =========== 305s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 305s 305s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 305s Snippet files are created whenever a test fails. These can be examined, 305s corrected and merged back into the originals using pomerge. See: 305s http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 305s and http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 305s tests. 305s 305s Options: 305s --version show program's version number and exit 305s -h, --help show this help message and exit 305s --manpage output a manpage based on the help 305s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 305s --errorlevel=ERRORLEVEL 305s show errorlevel as: none, message, exception, 305s traceback 305s -i INPUT, --input=INPUT 305s read from INPUT in po, pot, tmx, xlf, xliff formats 305s -x EXCLUDE, --exclude=EXCLUDE 305s exclude names matching EXCLUDE from input paths 305s -o OUTPUT, --output=OUTPUT 305s write to OUTPUT in po, pot, tmx, xlf, xliff formats 305s -l, --listfilters list filters available 305s --review include units marked for review (default) 305s --noreview exclude units marked for review 305s --fuzzy include units marked fuzzy (default) 305s --nofuzzy exclude units marked fuzzy 305s --nonotes don't add notes about the errors 305s --autocorrect output automatic corrections where possible rather 305s than describing issues 305s --language=LANG set target language code (e.g. af-ZA) [required for 305s spell check and recommended in general] 305s --openoffice use the standard checks for OpenOffice translations 305s --libreoffice use the standard checks for LibreOffice translations 305s --mozilla use the standard checks for Mozilla translations 305s --drupal use the standard checks for Drupal translations 305s --gnome use the standard checks for Gnome translations 305s --kde use the standard checks for KDE translations 305s --wx use the standard checks for wxWidgets translations 305s --excludefilter=FILTER 305s don't use FILTER when filtering 305s -t FILTER, --test=FILTER 305s only use test FILTERs specified with this option when 305s filtering 305s --notranslatefile=FILE 305s read list of untranslatable words from FILE (must not 305s be translated) 305s --musttranslatefile=FILE 305s read list of translatable words from FILE (must be 305s translated) 305s --validcharsfile=FILE 305s read list of all valid characters from FILE (must be 305s in UTF-8) 305s ========= SMOKE TEST: /usr/bin/pogrep =========== 305s 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] 305s 305s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 305s snippet files of the same type which can then be reviewed and later merged 305s using :doc:`pomerge `. See: 305s http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 305s 305s Options: 305s --version show program's version number and exit 305s -h, --help show this help message and exit 305s --manpage output a manpage based on the help 305s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 305s --errorlevel=ERRORLEVEL 305s show errorlevel as: none, message, exception, 305s traceback 305s -i INPUT, --input=INPUT 305s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 305s xliff formats 305s -x EXCLUDE, --exclude=EXCLUDE 305s exclude names matching EXCLUDE from input paths 305s -o OUTPUT, --output=OUTPUT 305s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 305s xliff formats 305s --search=SEARCHPARTS searches the given parts (source, target, notes and 305s locations) 305s -I, --ignore-case ignore case distinctions 305s -e, --regexp use regular expression matching 305s -v, --invert-match select non-matching lines 305s --accelerator=ACCELERATOR 305s ignores the given accelerator when matching 305s -k, --keep-translations 305s always extract units with translations 305s ========= SMOKE TEST: /usr/bin/pomerge =========== 305s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 305s 305s Merges XLIFF and Gettext PO localization files. Snippet file produced by 305s e.g. :doc:`pogrep ` and updated by a translator can be 305s merged back into the original files. See: 305s http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 305s 305s Options: 305s --version show program's version number and exit 305s -h, --help show this help message and exit 305s --manpage output a manpage based on the help 305s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 305s --errorlevel=ERRORLEVEL 305s show errorlevel as: none, message, exception, 305s traceback 305s -i INPUT, --input=INPUT 305s read from INPUT in po, pot, pot, xlf, xliff formats 305s -x EXCLUDE, --exclude=EXCLUDE 305s exclude names matching EXCLUDE from input paths 305s -o OUTPUT, --output=OUTPUT 305s write to OUTPUT in po, pot, pot, xlf, xliff formats 305s -t TEMPLATE, --template=TEMPLATE 305s read from TEMPLATE in po, pot, pot, xlf, xliff formats 305s -S, --timestamp skip conversion if the output file has newer timestamp 305s --mergeblanks=MERGEBLANKS 305s whether to overwrite existing translations with blank 305s translations (yes/no). Default is yes. 305s --mergefuzzy=MERGEFUZZY 305s whether to consider fuzzy translations from input 305s (yes/no). Default is yes. 305s --mergecomments=MERGECOMMENTS 305s whether to merge comments as well as translations 305s (yes/no). Default is yes. 305s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 305s Usage pomigrate2 [options] 305s 305s Options: 305s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 305s -C|--use-compendium - create and use a compendium built from the migrating files 305s -C|--use-compendium=some-compendium.po 305s - use an external compendium during the migration 305s --no-wrap - do not wrap long lines 305s --locale=lang - set locale for newly born files 305s -q|--quiet - suppress most output 305s -p|--pot2po - use pot2po instead of msgmerge to migrate 305s ========= SMOKE TEST: /usr/bin/popuretext =========== 305s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 305s ========= SMOKE TEST: /usr/bin/poreencode =========== 305s Usage: poreencode 305s eg: poreencode UTF-8 af/ 305s ========= SMOKE TEST: /usr/bin/porestructure =========== 305s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 305s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 305s 305s Restructure Gettxt PO files produced by :doc:`poconflicts 305s ` into the original directory tree for merging using 305s :doc:`pomerge `. See: 305s http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 305s 305s Options: 305s --version show program's version number and exit 305s -h, --help show this help message and exit 305s --manpage output a manpage based on the help 305s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 305s --errorlevel=ERRORLEVEL 305s show errorlevel as: none, message, exception, 305s traceback 305s -i INPUT, --input=INPUT 305s read from INPUT in po format 305s -x EXCLUDE, --exclude=EXCLUDE 305s exclude names matching EXCLUDE from input paths 305s -o OUTPUT, --output=OUTPUT 305s write to OUTPUT in po format 305s ========= SMOKE TEST: /usr/bin/posegment =========== 305s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 305s 305s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 305s See: http://docs.translatehouse.org/projects/translate- 305s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 305s 305s Options: 305s --version show program's version number and exit 305s -h, --help show this help message and exit 305s --manpage output a manpage based on the help 305s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 305s --errorlevel=ERRORLEVEL 305s show errorlevel as: none, message, exception, 305s traceback 305s -i INPUT, --input=INPUT 305s read from INPUT in po, pot, tmx, xlf, xliff formats 305s -x EXCLUDE, --exclude=EXCLUDE 305s exclude names matching EXCLUDE from input paths 305s -o OUTPUT, --output=OUTPUT 305s write to OUTPUT in po, pot, tmx, xlf, xliff formats 305s -S, --timestamp skip conversion if the output file has newer timestamp 305s -P, --pot output PO Templates (.pot) rather than PO files (.po) 305s -l LANG, --language=LANG 305s the target language code 305s --source-language=LANG 305s the source language code (default 'en') 305s --keepspaces Disable automatic stripping of whitespace 305s --only-aligned Removes units where sentence number does not 305s correspond 306s ========= SMOKE TEST: /usr/bin/poswap =========== 306s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 306s 306s Builds a new translation file with the target of the input language as source 306s language. .. note:: Ensure that the two po files correspond 100% to the same 306s pot file before using this. To translate Kurdish (ku) through French:: 306s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 306s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 306s http://docs.translatehouse.org/projects/translate- 306s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 306s 306s Options: 306s --version show program's version number and exit 306s -h, --help show this help message and exit 306s --manpage output a manpage based on the help 306s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 306s --errorlevel=ERRORLEVEL 306s show errorlevel as: none, message, exception, 306s traceback 306s -i INPUT, --input=INPUT 306s read from INPUT in po, pot formats 306s -x EXCLUDE, --exclude=EXCLUDE 306s exclude names matching EXCLUDE from input paths 306s -o OUTPUT, --output=OUTPUT 306s write to OUTPUT in po, pot formats 306s -t TEMPLATE, --template=TEMPLATE 306s read from TEMPLATE in po, pot, pot formats 306s -S, --timestamp skip conversion if the output file has newer timestamp 306s --reverse reverse the process of intermediate language 306s conversion 306s ========= SMOKE TEST: /usr/bin/pot2po =========== 306s 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] 306s 306s Convert template files (like .pot or template .xlf files) to translation 306s files, preserving existing translations. See: 306s http://docs.translatehouse.org/projects/translate- 306s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 306s 306s Options: 306s --version show program's version number and exit 306s -h, --help show this help message and exit 306s --manpage output a manpage based on the help 306s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 306s --errorlevel=ERRORLEVEL 306s show errorlevel as: none, message, exception, 306s traceback 306s -i INPUT, --input=INPUT 306s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 306s formats 306s -x EXCLUDE, --exclude=EXCLUDE 306s exclude names matching EXCLUDE from input paths 306s -o OUTPUT, --output=OUTPUT 306s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 306s xliff formats 306s -t TEMPLATE, --template=TEMPLATE 306s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 306s xliff formats 306s -S, --timestamp skip conversion if the output file has newer timestamp 306s -P, --pot output PO Templates (.pot) rather than PO files (.po) 306s --tm=TM The file to use as translation memory when fuzzy 306s matching 306s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 306s The minimum similarity for inclusion (default: 75%) 306s --nofuzzymatching Disable fuzzy matching 306s ========= SMOKE TEST: /usr/bin/poterminology =========== 306s 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] 306s input directory is searched for PO files, terminology PO file is output file 306s 306s Create a terminology file by reading a set of .po or .pot files to produce a 306s pootle-terminology.pot. See: 306s http://docs.translatehouse.org/projects/translate- 306s toolkit/en/latest/commands/poterminology.html for examples and usage 306s instructions. 306s 306s Options: 306s --version show program's version number and exit 306s -h, --help show this help message and exit 306s --manpage output a manpage based on the help 306s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 306s --errorlevel=ERRORLEVEL 306s show errorlevel as: none, message, exception, 306s traceback 306s -i INPUT, --input=INPUT 306s read from INPUT in po, pot formats 306s -x EXCLUDE, --exclude=EXCLUDE 306s exclude names matching EXCLUDE from input paths 306s -o OUTPUT, --output=OUTPUT 306s write to OUTPUT in po, pot formats 306s -u UPDATEFILE, --update=UPDATEFILE 306s update terminology in UPDATEFILE 306s -S STOPFILE, --stopword-list=STOPFILE 306s read stopword (term exclusion) list from STOPFILE 306s (default /usr/share/pyshared/translate/share/stoplist- 306s en) 306s -F, --fold-titlecase fold "Title Case" to lowercase (default) 306s -C, --preserve-case preserve all uppercase/lowercase 306s -I, --ignore-case make all terms lowercase 306s --accelerator=ACCELERATORS 306s ignore the given accelerator characters when matching 306s -t LENGTH, --term-words=LENGTH 306s generate terms of up to LENGTH words (default 3) 306s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 306s 1) 306s --inputs-needed=MIN omit terms appearing in less than MIN input files 306s (default 2, or 1 if only one input file) 306s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 306s different messages (default 1) 306s --substr-needed=MIN omit substring-only terms appearing in less than MIN 306s different messages (default 2) 306s --locs-needed=MIN omit terms appearing in less than MIN different 306s original source files (default 2) 306s --sort=ORDER output sort order(s): frequency, dictionary, length 306s (may repeat option, default is all in above order) 306s --source-language=LANG 306s the source language code (default 'en') 306s -v, --invert invert the source and target languages for terminology 306s ========= SMOKE TEST: /usr/bin/pretranslate =========== 306s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 306s 306s Fill localization files with suggested translations based on translation 306s memory and existing translations. See: 306s http://docs.translatehouse.org/projects/translate- 306s toolkit/en/latest/commands/pretranslate.html for examples and usage 306s instructions. 306s 306s Options: 306s --version show program's version number and exit 306s -h, --help show this help message and exit 306s --manpage output a manpage based on the help 306s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 306s --errorlevel=ERRORLEVEL 306s show errorlevel as: none, message, exception, 306s traceback 306s -i INPUT, --input=INPUT 306s read from INPUT in po, pot, pot, xlf, xliff formats 306s -x EXCLUDE, --exclude=EXCLUDE 306s exclude names matching EXCLUDE from input paths 306s -o OUTPUT, --output=OUTPUT 306s write to OUTPUT in po, pot, xlf, xliff formats 306s -t TEMPLATE, --template=TEMPLATE 306s read from TEMPLATE in po, pot, xlf, xliff formats 306s -S, --timestamp skip conversion if the output file has newer timestamp 306s --tm=TM The file to use as translation memory when fuzzy 306s matching 306s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 306s The minimum similarity for inclusion (default: 75%) 306s --nofuzzymatching Disable fuzzy matching 306s ========= SMOKE TEST: /usr/bin/prop2po =========== 306s 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] 306s 306s Convert Java/Mozilla .properties files to Gettext PO localization files. 306s See: http://docs.translatehouse.org/projects/translate- 306s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 306s 306s Options: 306s --version show program's version number and exit 306s -h, --help show this help message and exit 306s --manpage output a manpage based on the help 306s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 306s --errorlevel=ERRORLEVEL 306s show errorlevel as: none, message, exception, 306s traceback 306s -i INPUT, --input=INPUT 306s read from INPUT in lang, properties, strings formats 306s -x EXCLUDE, --exclude=EXCLUDE 306s exclude names matching EXCLUDE from input paths 306s -o OUTPUT, --output=OUTPUT 306s write to OUTPUT in po, pot formats 306s -t TEMPLATE, --template=TEMPLATE 306s read from TEMPLATE in lang, properties, strings 306s formats 306s -S, --timestamp skip conversion if the output file has newer timestamp 306s -P, --pot output PO Templates (.pot) rather than PO files (.po) 306s --personality=TYPE override the input file format: java, java-utf8, java- 306s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 306s strings, strings-utf8, joomla (for .properties files, 306s default: java) 306s --encoding=ENCODING override the encoding set by the personality 306s --duplicates=DUPLICATESTYLE 306s what to do with duplicate strings (identical source 306s text): merge, msgctxt (default: 'msgctxt') 307s ========= SMOKE TEST: /usr/bin/pydiff =========== 307s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 307s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 307s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 307s fromfile tofile 307s 307s positional arguments: 307s fromfile 307s tofile 307s 307s options: 307s -h, --help show this help message and exit 307s -i, --ignore-case Ignore case differences in file contents. 307s -U NUM, --unified NUM 307s Output NUM (default 3) lines of unified context 307s -r, --recursive Recursively compare any subdirectories found. 307s -N, --new-file Treat absent files as empty. 307s --unidirectional-new-file 307s Treat absent first files as empty. 307s -s, --report-identical-files 307s Report when two files are the same. 307s -x PAT, --exclude PAT 307s Exclude files that match PAT. 307s --fromcontains TEXT Only show changes where fromfile contains TEXT 307s --tocontains TEXT Only show changes where tofile contains TEXT 307s --contains TEXT Only show changes where fromfile or tofile contains 307s TEXT 307s -I, --ignore-case-contains 307s Ignore case differences when matching any of the 307s changes 307s --accelerator ACCELERATORS 307s ignores the given accelerator characters when matching 307s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 307s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 307s 307s Convert Python format .po files to PHP format .po files. 307s 307s Options: 307s --version show program's version number and exit 307s -h, --help show this help message and exit 307s --manpage output a manpage based on the help 307s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 307s --errorlevel=ERRORLEVEL 307s show errorlevel as: none, message, exception, 307s traceback 307s -i INPUT, --input=INPUT 307s read from INPUT in po, pot formats 307s -x EXCLUDE, --exclude=EXCLUDE 307s exclude names matching EXCLUDE from input paths 307s -o OUTPUT, --output=OUTPUT 307s write to OUTPUT in po, pot formats 307s -S, --timestamp skip conversion if the output file has newer timestamp 307s ========= SMOKE TEST: /usr/bin/rc2po =========== 307s 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] 307s 307s Convert Windows RC files to Gettext PO localization files. See: 307s http://docs.translatehouse.org/projects/translate- 307s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 307s 307s Options: 307s --version show program's version number and exit 307s -h, --help show this help message and exit 307s --manpage output a manpage based on the help 307s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 307s --errorlevel=ERRORLEVEL 307s show errorlevel as: none, message, exception, 307s traceback 307s -i INPUT, --input=INPUT 307s read from INPUT in nls, rc formats 307s -x EXCLUDE, --exclude=EXCLUDE 307s exclude names matching EXCLUDE from input paths 307s -o OUTPUT, --output=OUTPUT 307s write to OUTPUT in po, pot formats 307s -t TEMPLATE, --template=TEMPLATE 307s read from TEMPLATE in nls, rc formats 307s -S, --timestamp skip conversion if the output file has newer timestamp 307s -P, --pot output PO Templates (.pot) rather than PO files (.po) 307s --charset=CHARSET charset to use to decode the RC files (autodetection 307s is used by default) 307s -l LANG, --lang=LANG LANG entry (default: None) 307s --sublang=SUBLANG SUBLANG entry (default: None) 307s --duplicates=DUPLICATESTYLE 307s what to do with duplicate strings (identical source 307s text): merge, msgctxt (default: 'msgctxt') 307s ========= SMOKE TEST: /usr/bin/resx2po =========== 307s 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] 307s 307s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 307s http://docs.translatehouse.org/projects/translate- 307s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 307s 307s Options: 307s --version show program's version number and exit 307s -h, --help show this help message and exit 307s --manpage output a manpage based on the help 307s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 307s --errorlevel=ERRORLEVEL 307s show errorlevel as: none, message, exception, 307s traceback 307s -i INPUT, --input=INPUT 307s read from INPUT in resx format 307s -x EXCLUDE, --exclude=EXCLUDE 307s exclude names matching EXCLUDE from input paths 307s -o OUTPUT, --output=OUTPUT 307s write to OUTPUT in po, pot formats 307s -t TEMPLATE, --template=TEMPLATE 307s read from TEMPLATE in resx format 307s -S, --timestamp skip conversion if the output file has newer timestamp 307s -P, --pot output PO Templates (.pot) rather than PO files (.po) 307s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 307s everything) 307s --duplicates=DUPLICATESTYLE 307s what to do with duplicate strings (identical source 307s text): merge, msgctxt (default: 'msgctxt') 307s ========= SMOKE TEST: /usr/bin/sub2po =========== 307s 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] 307s 307s Convert subtitle files to Gettext PO localization files. See: 307s http://docs.translatehouse.org/projects/translate- 307s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 307s 307s Options: 307s --version show program's version number and exit 307s -h, --help show this help message and exit 307s --manpage output a manpage based on the help 307s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 307s --errorlevel=ERRORLEVEL 307s show errorlevel as: none, message, exception, 307s traceback 307s -i INPUT, --input=INPUT 307s read from INPUT in ass, srt, ssa, sub formats 307s -x EXCLUDE, --exclude=EXCLUDE 307s exclude names matching EXCLUDE from input paths 307s -o OUTPUT, --output=OUTPUT 307s write to OUTPUT in po, pot formats 307s -t TEMPLATE, --template=TEMPLATE 307s read from TEMPLATE in ass, srt, ssa, sub formats 307s -S, --timestamp skip conversion if the output file has newer timestamp 307s -P, --pot output PO Templates (.pot) rather than PO files (.po) 307s --duplicates=DUPLICATESTYLE 307s what to do with duplicate strings (identical source 307s text): merge, msgctxt (default: 'msgctxt') 307s ========= SMOKE TEST: /usr/bin/symb2po =========== 307s 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] 307s 307s Convert Symbian localisation files to Gettext PO localization files. See: 307s http://docs.translatehouse.org/projects/translate- 307s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 307s 307s Options: 307s --version show program's version number and exit 307s -h, --help show this help message and exit 307s --manpage output a manpage based on the help 307s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 307s --errorlevel=ERRORLEVEL 307s show errorlevel as: none, message, exception, 307s traceback 307s -i INPUT, --input=INPUT 307s read from INPUT in r01 format 307s -x EXCLUDE, --exclude=EXCLUDE 307s exclude names matching EXCLUDE from input paths 307s -o OUTPUT, --output=OUTPUT 307s write to OUTPUT in po, pot formats 307s -t TEMPLATE, --template=TEMPLATE 307s read from TEMPLATE in 307s -S, --timestamp skip conversion if the output file has newer timestamp 307s -P, --pot output PO Templates (.pot) rather than PO files (.po) 307s --duplicates=DUPLICATESTYLE 307s what to do with duplicate strings (identical source 307s text): merge, msgctxt (default: 'msgctxt') 307s ========= SMOKE TEST: /usr/bin/tbx2po =========== 308s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 308s 308s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 308s http://docs.translatehouse.org/projects/translate- 308s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 308s 308s Options: 308s --version show program's version number and exit 308s -h, --help show this help message and exit 308s --manpage output a manpage based on the help 308s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 308s --errorlevel=ERRORLEVEL 308s show errorlevel as: none, message, exception, 308s traceback 308s -i INPUT, --input=INPUT 308s read from INPUT in tbx format 308s -x EXCLUDE, --exclude=EXCLUDE 308s exclude names matching EXCLUDE from input paths 308s -o OUTPUT, --output=OUTPUT 308s write to OUTPUT in po, pot formats 308s -S, --timestamp skip conversion if the output file has newer timestamp 308s ========= SMOKE TEST: /usr/bin/tiki2po =========== 308s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 308s 308s Convert TikiWiki's language.php files to Gettext PO localization files. See: 308s http://docs.translatehouse.org/projects/translate- 308s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 308s 308s Options: 308s --version show program's version number and exit 308s -h, --help show this help message and exit 308s --manpage output a manpage based on the help 308s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 308s --errorlevel=ERRORLEVEL 308s show errorlevel as: none, message, exception, 308s traceback 308s -i INPUT, --input=INPUT 308s read from INPUT in php format 308s -x EXCLUDE, --exclude=EXCLUDE 308s exclude names matching EXCLUDE from input paths 308s -o OUTPUT, --output=OUTPUT 308s write to OUTPUT in po, pot formats 308s -S, --timestamp skip conversion if the output file has newer timestamp 308s --include-unused Include strings in the unused section 308s ========= SMOKE TEST: /usr/bin/tmserver =========== 308s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 308s [-s SOURCE_LANG] [-b BIND] [-p PORT] 308s [--max-candidates MAX_CANDIDATES] 308s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 308s [--debug] 308s 308s options: 308s -h, --help show this help message and exit 308s -d TMDBFILE, --tmdb TMDBFILE 308s translation memory database file 308s -f TMFILES, --import-translation-file TMFILES 308s translation file to import into the database 308s -t TARGET_LANG, --import-target-lang TARGET_LANG 308s target language of translation files 308s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 308s source language of translation files 308s -b BIND, --bind BIND address to bind server to (default: localhost) 308s -p PORT, --port PORT port to listen on (default: 8888) 308s --max-candidates MAX_CANDIDATES 308s Maximum number of candidates 308s --min-similarity MIN_SIMILARITY 308s minimum similarity 308s --max-length MAX_LENGTH 308s Maxmimum string length 308s --debug enable debugging features 308s ========= SMOKE TEST: /usr/bin/ts2po =========== 308s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 308s 308s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 308s http://docs.translatehouse.org/projects/translate- 308s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 308s 308s Options: 308s --version show program's version number and exit 308s -h, --help show this help message and exit 308s --manpage output a manpage based on the help 308s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 308s --errorlevel=ERRORLEVEL 308s show errorlevel as: none, message, exception, 308s traceback 308s -i INPUT, --input=INPUT 308s read from INPUT in ts format 308s -x EXCLUDE, --exclude=EXCLUDE 308s exclude names matching EXCLUDE from input paths 308s -o OUTPUT, --output=OUTPUT 308s write to OUTPUT in po, pot formats 308s -S, --timestamp skip conversion if the output file has newer timestamp 308s -P, --pot output PO Templates (.pot) rather than PO files (.po) 308s --duplicates=DUPLICATESTYLE 308s what to do with duplicate strings (identical source 308s text): merge, msgctxt (default: 'msgctxt') 308s ========= SMOKE TEST: /usr/bin/txt2po =========== 308s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 308s 308s Convert plain text (.txt) files to Gettext PO localization files. See: 308s http://docs.translatehouse.org/projects/translate- 308s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 308s 308s Options: 308s --version show program's version number and exit 308s -h, --help show this help message and exit 308s --manpage output a manpage based on the help 308s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 308s --errorlevel=ERRORLEVEL 308s show errorlevel as: none, message, exception, 308s traceback 308s -i INPUT, --input=INPUT 308s read from INPUT in *, txt formats 308s -x EXCLUDE, --exclude=EXCLUDE 308s exclude names matching EXCLUDE from input paths 308s -o OUTPUT, --output=OUTPUT 308s write to OUTPUT in po, pot formats 308s -S, --timestamp skip conversion if the output file has newer timestamp 308s -P, --pot output PO Templates (.pot) rather than PO files (.po) 308s --encoding=ENCODING The encoding of the input file (default: UTF-8) 308s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 308s mediawiki 308s --no-segmentation Don't segment the file, treat it like a single message 308s --duplicates=DUPLICATESTYLE 308s what to do with duplicate strings (identical source 308s text): merge, msgctxt (default: 'msgctxt') 308s ========= SMOKE TEST: /usr/bin/web2py2po =========== 308s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 308s 308s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 308s http://docs.translatehouse.org/projects/translate- 308s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 308s 308s Options: 308s --version show program's version number and exit 308s -h, --help show this help message and exit 308s --manpage output a manpage based on the help 308s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 308s --errorlevel=ERRORLEVEL 308s show errorlevel as: none, message, exception, 308s traceback 308s -i INPUT, --input=INPUT 308s read from INPUT in py format 308s -x EXCLUDE, --exclude=EXCLUDE 308s exclude names matching EXCLUDE from input paths 308s -o OUTPUT, --output=OUTPUT 308s write to OUTPUT in po, pot formats 308s -S, --timestamp skip conversion if the output file has newer timestamp 308s -P, --pot output PO Templates (.pot) rather than PO files (.po) 308s --duplicates=DUPLICATESTYLE 308s what to do with duplicate strings (identical source 308s text): merge, msgctxt (default: 'msgctxt') 309s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 309s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 309s 309s Convert XLIFF translation files to OpenDocument (ODF) files. See: 309s http://docs.translatehouse.org/projects/translate- 309s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 309s 309s Options: 309s --version show program's version number and exit 309s -h, --help show this help message and exit 309s --manpage output a manpage based on the help 309s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 309s --errorlevel=ERRORLEVEL 309s show errorlevel as: none, message, exception, 309s traceback 309s -i INPUT, --input=INPUT 309s read from INPUT in xlf format 309s -x EXCLUDE, --exclude=EXCLUDE 309s exclude names matching EXCLUDE from input paths 309s -o OUTPUT, --output=OUTPUT 309s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 309s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 309s -t TEMPLATE, --template=TEMPLATE 309s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 309s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 309s formats 309s -S, --timestamp skip conversion if the output file has newer timestamp 309s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 309s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 309s 309s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 309s file. See: http://docs.translatehouse.org/projects/translate- 309s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 309s 309s Options: 309s --version show program's version number and exit 309s -h, --help show this help message and exit 309s --manpage output a manpage based on the help 309s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 309s --errorlevel=ERRORLEVEL 309s show errorlevel as: none, message, exception, 309s traceback 309s -i INPUT, --input=INPUT 309s read from INPUT in po, pot, xlf, xliff formats 309s -x EXCLUDE, --exclude=EXCLUDE 309s exclude names matching EXCLUDE from input paths 309s -o OUTPUT, --output=OUTPUT 309s write to OUTPUT in oo, sdf formats 309s -t TEMPLATE, --template=TEMPLATE 309s read from TEMPLATE in oo, sdf formats 309s -S, --timestamp skip conversion if the output file has newer timestamp 309s -l LANG, --language=LANG 309s set target language code (e.g. af-ZA) [required] 309s --source-language=LANG 309s set source language code (default en-US) 309s -T, --keeptimestamp don't change the timestamps of the strings 309s --nonrecursiveoutput don't treat the output oo as a recursive store 309s --nonrecursivetemplate 309s don't treat the template oo as a recursive store 309s --skipsource don't output the source language, but fallback to it 309s where needed 309s --filteraction=ACTION 309s action on pofilter failure: none (default), warn, 309s exclude-serious, exclude-all 309s --fuzzy use translations marked fuzzy 309s --nofuzzy don't use translations marked fuzzy (default) 309s --multifile=MULTIFILESTYLE 309s how to split po/pot files (single, toplevel or 309s onefile) 309s ========= SMOKE TEST: /usr/bin/xliff2po =========== 309s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 309s 309s Convert XLIFF localization files to Gettext PO localization files. See: 309s http://docs.translatehouse.org/projects/translate- 309s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 309s 309s Options: 309s --version show program's version number and exit 309s -h, --help show this help message and exit 309s --manpage output a manpage based on the help 309s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 309s --errorlevel=ERRORLEVEL 309s show errorlevel as: none, message, exception, 309s traceback 309s -i INPUT, --input=INPUT 309s read from INPUT in xlf, xliff formats 309s -x EXCLUDE, --exclude=EXCLUDE 309s exclude names matching EXCLUDE from input paths 309s -o OUTPUT, --output=OUTPUT 309s write to OUTPUT in po, pot formats 309s -S, --timestamp skip conversion if the output file has newer timestamp 309s -P, --pot output PO Templates (.pot) rather than PO files (.po) 309s --duplicates=DUPLICATESTYLE 309s what to do with duplicate strings (identical source 309s text): merge, msgctxt (default: 'msgctxt') 309s ========= SMOKE TEST: /usr/bin/yaml2po =========== 309s 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] 309s 309s Convert YAML files to Gettext PO localization files. See: 309s http://docs.translatehouse.org/projects/translate- 309s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 309s 309s Options: 309s --version show program's version number and exit 309s -h, --help show this help message and exit 309s --manpage output a manpage based on the help 309s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 309s --errorlevel=ERRORLEVEL 309s show errorlevel as: none, message, exception, 309s traceback 309s -i INPUT, --input=INPUT 309s read from INPUT in yaml, yml formats 309s -x EXCLUDE, --exclude=EXCLUDE 309s exclude names matching EXCLUDE from input paths 309s -o OUTPUT, --output=OUTPUT 309s write to OUTPUT in po, pot formats 309s -t TEMPLATE, --template=TEMPLATE 309s read from TEMPLATE in yaml, yml formats 309s -S, --timestamp skip conversion if the output file has newer timestamp 309s -P, --pot output PO Templates (.pot) rather than PO files (.po) 309s --duplicates=DUPLICATESTYLE 309s what to do with duplicate strings (identical source 309s text): merge, msgctxt (default: 'msgctxt') 310s autopkgtest [22:46:57]: test translate-toolkit: -----------------------] 313s autopkgtest [22:47:00]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 313s translate-toolkit PASS 317s autopkgtest [22:47:04]: test python3-translate: preparing testbed 374s autopkgtest [22:48:01]: testbed dpkg architecture: armhf 377s autopkgtest [22:48:03]: testbed apt version: 2.9.6 377s autopkgtest [22:48:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 384s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 384s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 384s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 384s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 385s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 385s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [76.7 kB] 385s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf c-n-f Metadata [1428 B] 385s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf Packages [1368 B] 385s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf c-n-f Metadata [120 B] 385s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [387 kB] 385s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf c-n-f Metadata [6916 B] 385s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [1784 B] 385s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf c-n-f Metadata [120 B] 386s Fetched 1062 kB in 1s (718 kB/s) 386s Reading package lists... 406s tee: /proc/self/fd/2: Permission denied 428s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 428s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 428s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 428s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 430s Reading package lists... 430s Reading package lists... 430s Building dependency tree... 430s Reading state information... 431s Calculating upgrade... 431s The following packages will be upgraded: 431s libelf1t64 python3-pkg-resources python3-setuptools ubuntu-pro-client 431s ubuntu-pro-client-l10n 432s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 432s Need to get 917 kB of archives. 432s After this operation, 465 kB of additional disk space will be used. 432s Get:1 http://ftpmaster.internal/ubuntu oracular/main armhf libelf1t64 armhf 0.191-2 [50.0 kB] 432s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-setuptools all 70.3.0-2 [429 kB] 432s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-pkg-resources all 70.3.0-2 [187 kB] 432s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf ubuntu-pro-client-l10n armhf 33.1 [19.2 kB] 432s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf ubuntu-pro-client armhf 33.1 [232 kB] 433s Fetched 917 kB in 1s (1670 kB/s) 433s (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 ... 58436 files and directories currently installed.) 433s Preparing to unpack .../libelf1t64_0.191-2_armhf.deb ... 433s Unpacking libelf1t64:armhf (0.191-2) over (0.191-1) ... 433s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 433s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 433s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 433s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 433s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_armhf.deb ... 433s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 433s Preparing to unpack .../ubuntu-pro-client_33.1_armhf.deb ... 434s Unpacking ubuntu-pro-client (33.1) over (33) ... 434s Setting up python3-pkg-resources (70.3.0-2) ... 434s Setting up python3-setuptools (70.3.0-2) ... 435s Setting up libelf1t64:armhf (0.191-2) ... 435s Setting up ubuntu-pro-client (33.1) ... 435s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 435s 435s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 435s 435s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 435s 437s Setting up ubuntu-pro-client-l10n (33.1) ... 437s Processing triggers for man-db (2.12.1-2) ... 437s Processing triggers for libc-bin (2.39-0ubuntu9) ... 439s Reading package lists... 439s Building dependency tree... 439s Reading state information... 440s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 442s autopkgtest [22:49:09]: rebooting testbed after setup commands that affected boot 549s Reading package lists... 549s Building dependency tree... 549s Reading state information... 550s Starting pkgProblemResolver with broken count: 0 550s Starting 2 pkgProblemResolver with broken count: 0 550s Done 550s The following additional packages will be installed: 550s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 550s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 550s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 550s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 550s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 550s python3-iniconfig python3-iniparse python3-jaraco.functools 550s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 550s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 550s python3-pytest python3-rapidfuzz python3-ruamel.yaml 550s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 550s python3-translate python3-vobject python3-xapian subversion 550s Suggested packages: 550s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 550s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 550s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 550s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 550s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 550s subversion-tools 550s Recommended packages: 550s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 550s python3-cssselect python3-html5lib python3-tz 550s The following NEW packages will be installed: 550s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 550s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 550s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 550s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 550s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 550s python3-iniconfig python3-iniparse python3-jaraco.functools 550s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 550s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 550s python3-pytest python3-rapidfuzz python3-ruamel.yaml 550s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 550s python3-translate python3-vobject python3-xapian subversion 551s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 551s Need to get 10.5 MB/10.5 MB of archives. 551s After this operation, 39.1 MB of additional disk space will be used. 551s Get:1 /tmp/autopkgtest.XIabK6/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [888 B] 552s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 552s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 552s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14.1.0-1ubuntu1 [125 kB] 552s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.22.5-1 [989 kB] 553s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 553s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.2 [86.0 kB] 553s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-2ubuntu1 [82.5 kB] 553s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 553s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 553s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 553s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 553s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-3ubuntu1 [40.5 kB] 553s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 553s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-2 [1198 kB] 553s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 553s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 553s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.15-1 [231 kB] 553s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-all armhf 3.12.3-0ubuntu1 [886 B] 553s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 553s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 553s Get:22 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-charset-normalizer all 3.3.2-1 [47.9 kB] 553s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.3.0-1 [54.9 kB] 553s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 553s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 553s Get:26 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 553s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 553s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 553s Get:29 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 553s Get:30 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.6.2+ds-3 [1200 kB] 553s Get:31 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-3 [139 kB] 553s Get:32 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.2-1 [1199 kB] 553s Get:33 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 553s Get:34 http://ftpmaster.internal/ubuntu oracular/main armhf python3-packaging all 24.1-1 [41.4 kB] 553s Get:35 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 553s Get:36 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 553s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 553s Get:38 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pytest all 7.4.4-1 [305 kB] 553s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml.clib armhf 0.2.8-1build1 [120 kB] 553s Get:40 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 553s Get:41 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 553s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-syrupy all 4.6.1-1 [42.8 kB] 553s Get:43 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.13.1-1 [319 kB] 553s Get:44 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 553s Get:45 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-xapian armhf 1.4.22-1build5 [370 kB] 553s Get:46 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-2 [892 kB] 553s Get:47 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 553s Get:48 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 554s Preconfiguring packages ... 554s Fetched 10.5 MB in 3s (3999 kB/s) 554s Selecting previously unselected package emacsen-common. 554s (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 ... 58496 files and directories currently installed.) 554s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 554s Unpacking emacsen-common (3.0.5) ... 554s Selecting previously unselected package dictionaries-common. 554s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 554s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 554s Unpacking dictionaries-common (1.29.7) ... 554s Selecting previously unselected package libgomp1:armhf. 554s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_armhf.deb ... 554s Unpacking libgomp1:armhf (14.1.0-1ubuntu1) ... 554s Selecting previously unselected package gettext. 554s Preparing to unpack .../03-gettext_0.22.5-1_armhf.deb ... 554s Unpacking gettext (0.22.5-1) ... 554s Selecting previously unselected package hunspell-en-us. 554s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 554s Unpacking hunspell-en-us (1:2020.12.07-2) ... 554s Selecting previously unselected package libapr1t64:armhf. 554s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_armhf.deb ... 554s Unpacking libapr1t64:armhf (1.7.2-3.2) ... 554s Selecting previously unselected package libaprutil1t64:armhf. 554s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_armhf.deb ... 554s Unpacking libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 554s Selecting previously unselected package libaspell15:armhf. 554s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 554s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 554s Selecting previously unselected package libhunspell-1.7-0:armhf. 554s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 554s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 554s Selecting previously unselected package libenchant-2-2:armhf. 554s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 554s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 554s Selecting previously unselected package libexttextcat-data. 554s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 554s Unpacking libexttextcat-data (3.4.7-1build1) ... 554s Selecting previously unselected package libserf-1-1:armhf. 555s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_armhf.deb ... 555s Unpacking libserf-1-1:armhf (1.3.10-3ubuntu1) ... 555s Selecting previously unselected package libutf8proc3:armhf. 555s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 555s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 555s Selecting previously unselected package libsvn1:armhf. 555s Preparing to unpack .../13-libsvn1_1.14.3-2_armhf.deb ... 555s Unpacking libsvn1:armhf (1.14.3-2) ... 555s Selecting previously unselected package libxapian30:armhf. 555s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 555s Unpacking libxapian30:armhf (1.4.22-1build1) ... 555s Selecting previously unselected package libxslt1.1:armhf. 555s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 555s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 555s Selecting previously unselected package python3-aeidon. 555s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 555s Unpacking python3-aeidon (1.15-1) ... 555s Selecting previously unselected package python3-all. 555s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_armhf.deb ... 555s Unpacking python3-all (3.12.3-0ubuntu1) ... 555s Selecting previously unselected package python3-soupsieve. 556s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 556s Unpacking python3-soupsieve (2.5-1) ... 556s Selecting previously unselected package python3-bs4. 556s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 556s Unpacking python3-bs4 (4.12.3-1) ... 556s Selecting previously unselected package python3-charset-normalizer. 556s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 556s Unpacking python3-charset-normalizer (3.3.2-1) ... 556s Selecting previously unselected package python3-more-itertools. 556s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 556s Unpacking python3-more-itertools (10.3.0-1) ... 556s Selecting previously unselected package python3-jaraco.functools. 556s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 556s Unpacking python3-jaraco.functools (4.0.0-1) ... 556s Selecting previously unselected package python3-cheroot. 556s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 556s Unpacking python3-cheroot (10.0.0+ds1-2) ... 557s Selecting previously unselected package python3-dateutil. 557s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 557s Unpacking python3-dateutil (2.9.0-2) ... 557s Selecting previously unselected package python3-diff-match-patch. 557s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 557s Unpacking python3-diff-match-patch (20230430-1) ... 557s Selecting previously unselected package python3-enchant. 557s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 557s Unpacking python3-enchant (3.2.2-1) ... 557s Selecting previously unselected package python3-iniconfig. 557s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 557s Unpacking python3-iniconfig (1.1.1-2) ... 557s Selecting previously unselected package python3-rapidfuzz. 558s Preparing to unpack .../28-python3-rapidfuzz_3.6.2+ds-3_armhf.deb ... 558s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 558s Selecting previously unselected package python3-levenshtein. 558s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_armhf.deb ... 558s Unpacking python3-levenshtein (0.25.1-3) ... 558s Selecting previously unselected package python3-lxml:armhf. 558s Preparing to unpack .../30-python3-lxml_5.2.2-1_armhf.deb ... 558s Unpacking python3-lxml:armhf (5.2.2-1) ... 558s Selecting previously unselected package python3-mistletoe. 558s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 558s Unpacking python3-mistletoe (1.3.0-1) ... 558s Selecting previously unselected package python3-packaging. 558s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 558s Unpacking python3-packaging (24.1-1) ... 558s Selecting previously unselected package python3-ply. 558s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 558s Unpacking python3-ply (3.11-6) ... 558s Selecting previously unselected package python3-phply. 558s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 558s Unpacking python3-phply (1.2.6-1) ... 558s Selecting previously unselected package python3-pluggy. 558s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 558s Unpacking python3-pluggy (1.5.0-1) ... 558s Selecting previously unselected package python3-pytest. 558s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 558s Unpacking python3-pytest (7.4.4-1) ... 558s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 558s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_armhf.deb ... 558s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 558s Selecting previously unselected package python3-ruamel.yaml. 558s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 558s Unpacking python3-ruamel.yaml (0.17.21-1) ... 558s Selecting previously unselected package python3-simplejson. 558s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_armhf.deb ... 558s Unpacking python3-simplejson (3.19.2-1build2) ... 558s Selecting previously unselected package python3-syrupy. 558s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 558s Unpacking python3-syrupy (4.6.1-1) ... 558s Selecting previously unselected package python3-translate. 558s Preparing to unpack .../41-python3-translate_3.13.1-1_all.deb ... 558s Unpacking python3-translate (3.13.1-1) ... 558s Selecting previously unselected package python3-vobject. 558s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 558s Unpacking python3-vobject (0.9.6.1-2) ... 558s Selecting previously unselected package python3-xapian. 558s Preparing to unpack .../43-python3-xapian_1.4.22-1build5_armhf.deb ... 558s Unpacking python3-xapian (1.4.22-1build5) ... 558s Selecting previously unselected package subversion. 558s Preparing to unpack .../44-subversion_1.14.3-2_armhf.deb ... 558s Unpacking subversion (1.14.3-2) ... 558s Selecting previously unselected package python3-iniparse. 558s Preparing to unpack .../45-python3-iniparse_0.5-2_all.deb ... 558s Unpacking python3-iniparse (0.5-2) ... 558s Selecting previously unselected package python3-pycountry. 558s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 558s Unpacking python3-pycountry (24.6.1+ds1-1) ... 558s Selecting previously unselected package autopkgtest-satdep. 558s Preparing to unpack .../47-2-autopkgtest-satdep.deb ... 558s Unpacking autopkgtest-satdep (0) ... 558s Setting up python3-more-itertools (10.3.0-1) ... 558s Setting up python3-iniconfig (1.1.1-2) ... 559s Setting up libxapian30:armhf (1.4.22-1build1) ... 559s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 559s Setting up python3-diff-match-patch (20230430-1) ... 559s Setting up python3-jaraco.functools (4.0.0-1) ... 559s Setting up python3-aeidon (1.15-1) ... 560s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 560s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 560s Setting up python3-charset-normalizer (3.3.2-1) ... 560s Setting up python3-ply (3.11-6) ... 561s Setting up python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 561s Setting up python3-all (3.12.3-0ubuntu1) ... 561s Setting up libgomp1:armhf (14.1.0-1ubuntu1) ... 561s Setting up python3-simplejson (3.19.2-1build2) ... 561s Setting up python3-packaging (24.1-1) ... 561s Setting up emacsen-common (3.0.5) ... 562s Setting up python3-cheroot (10.0.0+ds1-2) ... 562s Setting up python3-pycountry (24.6.1+ds1-1) ... 562s Setting up python3-xapian (1.4.22-1build5) ... 562s Setting up python3-pluggy (1.5.0-1) ... 563s Setting up python3-ruamel.yaml (0.17.21-1) ... 563s Setting up python3-mistletoe (1.3.0-1) ... 563s Setting up libexttextcat-data (3.4.7-1build1) ... 563s Setting up libapr1t64:armhf (1.7.2-3.2) ... 563s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 563s Setting up python3-dateutil (2.9.0-2) ... 563s Setting up python3-levenshtein (0.25.1-3) ... 563s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 563s Setting up python3-soupsieve (2.5-1) ... 564s Setting up python3-iniparse (0.5-2) ... 564s Setting up libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 564s Setting up python3-vobject (0.9.6.1-2) ... 564s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 564s patterns['name'] = '[a-zA-Z0-9\-_]+' 564s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 564s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 564s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 564s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 564s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 564s """ 564s Setting up gettext (0.22.5-1) ... 564s Setting up python3-phply (1.2.6-1) ... 565s Setting up dictionaries-common (1.29.7) ... 565s Setting up python3-pytest (7.4.4-1) ... 566s Setting up python3-syrupy (4.6.1-1) ... 566s Setting up libserf-1-1:armhf (1.3.10-3ubuntu1) ... 566s Setting up python3-bs4 (4.12.3-1) ... 566s Setting up python3-lxml:armhf (5.2.2-1) ... 567s Setting up hunspell-en-us (1:2020.12.07-2) ... 567s Setting up libsvn1:armhf (1.14.3-2) ... 567s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 567s Setting up subversion (1.14.3-2) ... 567s Setting up python3-enchant (3.2.2-1) ... 567s Setting up python3-translate (3.13.1-1) ... 568s Setting up autopkgtest-satdep (0) ... 568s Processing triggers for man-db (2.12.1-2) ... 568s Processing triggers for install-info (7.1-3build2) ... 569s Processing triggers for libc-bin (2.39-0ubuntu9) ... 569s Processing triggers for dictionaries-common (1.29.7) ... 587s (Reading database ... 61982 files and directories currently installed.) 587s Removing autopkgtest-satdep (0) ... 599s autopkgtest [22:51:46]: test python3-translate: [----------------------- 604s ============================= test session starts ============================== 604s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 604s cachedir: .pytest_cache 604s rootdir: /tmp/autopkgtest.XIabK6/autopkgtest_tmp 604s plugins: syrupy-4.6.1 611s collecting ... collected 3339 items / 2 skipped 611s 611s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 611s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 611s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 611s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 611s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 611s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 611s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 611s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 611s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 611s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 611s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 611s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 612s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 612s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 612s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 612s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 612s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 612s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 612s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 612s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 612s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 612s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 612s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 612s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 612s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 612s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 612s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 612s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 612s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 612s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 612s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 612s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 612s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 612s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 613s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 613s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 613s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 613s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 613s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 613s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 613s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 613s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 613s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 613s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 613s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 613s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 613s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 613s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 613s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 613s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 613s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 613s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 613s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 613s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 613s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 613s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 613s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 613s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 613s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 613s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 613s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 614s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 614s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 614s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 614s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 614s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 614s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 614s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 614s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 614s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 614s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 614s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 614s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 614s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 614s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 614s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 614s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 614s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 614s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 614s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 614s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 614s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 614s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 614s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 614s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 614s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 614s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 614s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 614s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 615s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 615s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 615s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 615s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 615s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 615s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 615s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 615s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 615s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 615s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 615s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 615s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 615s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 615s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 615s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 615s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 615s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 615s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 615s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 615s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 615s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 615s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 615s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 615s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 615s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 615s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 615s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 615s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 615s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 615s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 615s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 615s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 615s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 616s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 616s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 616s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 616s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 616s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 616s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 616s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 616s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 616s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 616s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 616s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 616s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 616s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 616s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 616s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 616s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 616s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 616s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 616s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 616s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 616s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 616s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 616s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 616s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 616s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 616s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 616s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 616s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 616s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 616s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 616s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 616s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 616s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 616s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 616s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 616s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 616s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 616s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 616s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 616s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 616s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 616s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 616s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 616s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 616s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 616s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 616s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 616s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 616s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 616s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 616s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 616s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 616s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 616s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 616s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 616s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 616s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 616s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 617s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 617s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 617s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 617s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 617s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 617s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 617s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 617s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 617s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 617s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 617s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 617s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 617s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 617s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 617s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 617s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 617s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 617s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 617s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 617s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 618s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 618s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 618s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 618s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 618s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 618s 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%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 618s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 618s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 618s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 618s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 618s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 618s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 618s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 618s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 618s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 618s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 618s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 618s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 618s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 618s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 618s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 618s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 618s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 619s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 619s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 619s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 619s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 619s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 620s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 620s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 620s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 620s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 620s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 620s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 620s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 620s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 620s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 620s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 620s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 620s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 620s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 620s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 620s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 620s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 620s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 621s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 621s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 621s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 621s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 621s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 621s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 621s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 621s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 621s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 621s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 621s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 621s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 621s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 621s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 621s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 621s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 621s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 621s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 621s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 621s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 621s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 622s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 622s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 622s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 623s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 623s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 623s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 623s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 623s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 623s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 623s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 623s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 623s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 623s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 623s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 623s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 623s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 623s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 623s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 623s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 623s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 623s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 623s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 623s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 623s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 623s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 623s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 623s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 623s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 623s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 623s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 623s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 623s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 623s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 623s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 623s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 623s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 623s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 623s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 623s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 623s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 624s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 624s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 624s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 624s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 624s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 624s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 624s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 624s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 624s 624s =============================== warnings summary =============================== 624s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 624s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.XIabK6/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 624s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 624s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 624s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 624s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 624s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 624s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 624s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 624s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 624s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 624s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 624s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 624s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 624s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 624s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 624s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 624s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 624s Warning: Could not find accesskey for key.accesskey 624s 624s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 624s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 624s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 624s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 624s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 624s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.XIabK6/autopkgtest_tmp/tests/translate/convert/test.idml'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 624s Warning: unclosed file <_io.BufferedReader name='translation.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 624s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 624s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 624s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 624s Warning: Could not find accesskey for prop.accesskey 624s 624s tests/translate/convert/test_po2tmx.py: 26 warnings 624s tests/translate/filters/test_pofilter.py: 13 warnings 624s tests/translate/storage/test_tbx.py: 17 warnings 624s tests/translate/storage/test_tmx.py: 24 warnings 624s 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' 624s 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 624s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 624s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 624s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 624s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 624s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 624s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 624s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 624s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 624s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 624s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 624s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.XIabK6/autopkgtest_tmp/tests/translate/convert/test.odt'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 624s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 624s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 624s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 624s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 624s Enable tracemalloc to get traceback where the object was allocated. 624s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 624s 624s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 624s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 624s 624s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 624s Warning: DTD file '' does not validate 624s 624s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 624s --------------------------- snapshot report summary ---------------------------- 624s 23 snapshots passed. 624s =========================== short test summary info ============================ 624s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 624s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 624s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 624s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 624s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 624s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 624s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 624s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 624s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 624s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 624s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 624s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 624s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 624s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 624s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 624s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 624s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 624s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 624s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 624s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 624s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 624s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 624s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 624s 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. 624s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 624s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 624s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 624s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 624s 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 624s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 624s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 624s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 624s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 624s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 624s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 624s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 624s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 624s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 624s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 624s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 624s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 624s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 624s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 624s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 624s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 624s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 624s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 624s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 624s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 624s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 624s ========= 3276 passed, 22 skipped, 43 xfailed, 126 warnings in 20.32s ========== 625s autopkgtest [22:52:12]: test python3-translate: -----------------------] 629s autopkgtest [22:52:16]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 629s python3-translate PASS 633s autopkgtest [22:52:20]: test python3-translate-commands: preparing testbed 643s Reading package lists... 643s Building dependency tree... 643s Reading state information... 643s Starting pkgProblemResolver with broken count: 0 644s Starting 2 pkgProblemResolver with broken count: 0 644s Done 644s The following additional packages will be installed: 644s translate-toolkit 644s Recommended packages: 644s translate-toolkit-doc 644s The following NEW packages will be installed: 644s autopkgtest-satdep translate-toolkit 644s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 644s Need to get 81.2 kB/82.1 kB of archives. 644s After this operation, 225 kB of additional disk space will be used. 644s Get:1 /tmp/autopkgtest.XIabK6/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [896 B] 645s Get:2 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.13.1-1 [81.2 kB] 645s Fetched 81.2 kB in 1s (147 kB/s) 645s Selecting previously unselected package translate-toolkit. 645s (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 ... 61982 files and directories currently installed.) 645s Preparing to unpack .../translate-toolkit_3.13.1-1_all.deb ... 645s Unpacking translate-toolkit (3.13.1-1) ... 646s Selecting previously unselected package autopkgtest-satdep. 646s Preparing to unpack .../3-autopkgtest-satdep.deb ... 646s Unpacking autopkgtest-satdep (0) ... 646s Setting up translate-toolkit (3.13.1-1) ... 646s Setting up autopkgtest-satdep (0) ... 646s Processing triggers for man-db (2.12.1-2) ... 661s (Reading database ... 62152 files and directories currently installed.) 661s Removing autopkgtest-satdep (0) ... 667s autopkgtest [22:52:54]: test python3-translate-commands: [----------------------- 669s ============================= test session starts ============================== 669s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 669s cachedir: .pytest_cache 669s rootdir: /tmp/autopkgtest.XIabK6/autopkgtest_tmp 669s plugins: syrupy-4.6.1 675s collecting ... collected 3339 items / 2 skipped 675s 675s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 675s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 675s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 675s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 676s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 676s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 676s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 676s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 676s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 676s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 676s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 676s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 676s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 676s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 676s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 677s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 677s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 677s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 677s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 677s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 677s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 677s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 677s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 678s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 678s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 678s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 678s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 678s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 678s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 678s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 678s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 679s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 679s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 679s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 679s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 679s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 679s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 679s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 679s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 679s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 679s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 679s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 679s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 679s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 679s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 679s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 679s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 679s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 680s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 680s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 680s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 680s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 680s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 680s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 680s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 680s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 680s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 680s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 680s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 680s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 680s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 680s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 680s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 680s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 680s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 680s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 680s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 680s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 680s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 680s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 680s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 680s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 680s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 680s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 680s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 680s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 680s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 680s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 680s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 680s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 680s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 680s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 680s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 680s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 680s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 680s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 680s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 680s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 680s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 680s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 680s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 680s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 680s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 680s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 680s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 681s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 681s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 681s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 681s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 681s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 681s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 681s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 681s 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%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 681s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 681s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 681s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 681s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 681s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 681s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 681s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 681s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 681s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 681s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 681s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 681s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 681s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 681s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 682s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 682s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 682s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 682s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 683s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 683s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 683s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 683s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 683s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 684s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 684s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 684s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 684s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 684s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 684s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 684s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 684s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 684s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 684s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 684s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 684s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 684s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 684s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 684s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 684s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 684s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 684s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 684s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 684s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 686s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 686s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 686s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 686s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 686s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 686s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 686s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 686s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 686s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 686s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 689s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 689s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 689s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 689s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 689s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 689s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 689s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 689s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 689s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 689s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 689s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 689s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 689s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 689s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 689s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 689s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 689s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 689s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 689s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 689s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 689s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 689s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 689s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 689s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 689s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 689s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 689s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 689s 689s =============================== warnings summary =============================== 689s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 689s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.XIabK6/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 689s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 689s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 689s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 689s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 689s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 689s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 689s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 689s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 689s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 689s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 689s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 689s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 689s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 689s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 689s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 689s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 689s Warning: Could not find accesskey for key.accesskey 689s 689s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 689s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 689s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 689s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 689s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 689s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.XIabK6/autopkgtest_tmp/tests/translate/convert/test.idml'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 689s Warning: unclosed file <_io.BufferedReader name='translation.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 689s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 689s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 689s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 689s Warning: Could not find accesskey for prop.accesskey 689s 689s tests/translate/convert/test_po2tmx.py: 26 warnings 689s tests/translate/filters/test_pofilter.py: 13 warnings 689s tests/translate/storage/test_tbx.py: 17 warnings 689s tests/translate/storage/test_tmx.py: 24 warnings 689s 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' 689s 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 689s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 689s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 689s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 689s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 689s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 689s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 689s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 689s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 689s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 689s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 689s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.XIabK6/autopkgtest_tmp/tests/translate/convert/test.odt'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 689s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 689s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 689s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 689s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 689s Enable tracemalloc to get traceback where the object was allocated. 689s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 689s 689s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 689s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 689s 689s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 689s Warning: DTD file '' does not validate 689s 689s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 689s --------------------------- snapshot report summary ---------------------------- 689s 23 snapshots passed. 689s =========================== short test summary info ============================ 689s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 689s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 689s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 689s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 689s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 689s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 689s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 689s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 689s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 689s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 689s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 689s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 689s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 689s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 689s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 689s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 689s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 689s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 689s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 689s 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. 689s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 689s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 689s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 689s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 689s 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 689s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 689s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 689s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 689s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 689s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 689s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 689s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 689s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 689s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 689s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 689s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 689s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 689s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 689s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 689s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 689s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 689s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 689s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 689s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 689s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 689s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 689s ========== 3295 passed, 3 skipped, 43 xfailed, 126 warnings in 19.88s ========== 690s autopkgtest [22:53:17]: test python3-translate-commands: -----------------------] 694s python3-translate-commands PASS 694s autopkgtest [22:53:21]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 698s autopkgtest [22:53:25]: @@@@@@@@@@@@@@@@@@@@ summary 698s translate-toolkit PASS 698s python3-translate PASS 698s python3-translate-commands PASS