0s autopkgtest [04:16:09]: starting date and time: 2024-05-06 04:16:09+0000 0s autopkgtest [04:16:09]: git checkout: 699e7f9f ssh-setup/nova: explicitely set 'fqdn' in cloud-init 0s autopkgtest [04:16:09]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.36794lg4/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruamel.yaml,src:monty,src:ruamel.yaml.clib --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=ruamel.yaml/0.18.6+ds-3 monty/2024.4.17-1 ruamel.yaml.clib/0.2.8+ds-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos02-ppc64el-4.secgroup --name adt-oracular-ppc64el-translate-toolkit-20240506-041609-juju-7f2275-prod-proposed-migration-environment-2-757ca59a-518c-4f00-b893-019805343ce6 --image adt/ubuntu-oracular-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_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'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 93s autopkgtest [04:17:42]: testbed dpkg architecture: ppc64el 93s autopkgtest [04:17:42]: testbed apt version: 2.7.14build2 93s autopkgtest [04:17:42]: @@@@@@@@@@@@@@@@@@@@ test bed setup 94s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 94s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1647 kB] 94s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 94s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 94s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [110 kB] 94s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main ppc64el Packages [182 kB] 94s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted ppc64el Packages [1260 B] 94s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe ppc64el Packages [1269 kB] 94s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse ppc64el Packages [22.6 kB] 95s Fetched 3322 kB in 1s (2642 kB/s) 95s Reading package lists... 97s Reading package lists... 97s Building dependency tree... 97s Reading state information... 97s Calculating upgrade... 97s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 97s Reading package lists... 98s Building dependency tree... 98s Reading state information... 98s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 98s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 98s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 98s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 98s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 99s Reading package lists... 99s Reading package lists... 99s Building dependency tree... 99s Reading state information... 99s Calculating upgrade... 100s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 103s autopkgtest [04:17:52]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:05:55 UTC 2024 103s autopkgtest [04:17:52]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 105s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 105s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 105s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 106s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 106s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 106s gpgv: Can't check signature: No public key 106s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 106s autopkgtest [04:17:55]: testing package translate-toolkit version 3.12.2-1ubuntu1 106s autopkgtest [04:17:55]: build not needed 107s autopkgtest [04:17:56]: test translate-toolkit: preparing testbed 108s Reading package lists... 108s Building dependency tree... 108s Reading state information... 108s Starting pkgProblemResolver with broken count: 0 108s Starting 2 pkgProblemResolver with broken count: 0 108s Done 108s The following additional packages will be installed: 108s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 108s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 108s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 108s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 108s python3-diff-match-patch python3-enchant python3-iniparse 108s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 108s python3-more-itertools python3-phply python3-ply python3-pycountry 108s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 108s python3-simplejson python3-soupsieve python3-translate python3-vobject 108s python3-xapian subversion translate-toolkit 108s Suggested packages: 108s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 108s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 108s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 108s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 108s libapache2-mod-svn subversion-tools 108s Recommended packages: 108s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 108s python3-cssselect python3-html5lib translate-toolkit-doc 108s The following NEW packages will be installed: 108s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 108s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 108s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 108s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 108s python3-diff-match-patch python3-enchant python3-iniparse 108s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 108s python3-more-itertools python3-phply python3-ply python3-pycountry 108s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 108s python3-simplejson python3-soupsieve python3-translate python3-vobject 108s python3-xapian subversion translate-toolkit 108s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 108s Need to get 11.0 MB/11.0 MB of archives. 108s After this operation, 52.9 MB of additional disk space will be used. 108s Get:1 /tmp/autopkgtest.SoRaz4/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [872 B] 108s Get:2 http://ftpmaster.internal/ubuntu oracular/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 108s Get:3 http://ftpmaster.internal/ubuntu oracular/main ppc64el dictionaries-common all 1.29.7 [188 kB] 109s Get:4 http://ftpmaster.internal/ubuntu oracular/main ppc64el libgomp1 ppc64el 14-20240412-0ubuntu1 [161 kB] 109s Get:5 http://ftpmaster.internal/ubuntu oracular/main ppc64el gettext ppc64el 0.21-14ubuntu2 [985 kB] 109s Get:6 http://ftpmaster.internal/ubuntu oracular/main ppc64el hunspell-en-us all 1:2020.12.07-2 [280 kB] 109s Get:7 http://ftpmaster.internal/ubuntu oracular/main ppc64el libapr1t64 ppc64el 1.7.2-3.1build2 [135 kB] 109s Get:8 http://ftpmaster.internal/ubuntu oracular/main ppc64el libaprutil1t64 ppc64el 1.6.3-1.1ubuntu7 [113 kB] 109s Get:9 http://ftpmaster.internal/ubuntu oracular/main ppc64el libaspell15 ppc64el 0.60.8.1-1build1 [383 kB] 109s Get:10 http://ftpmaster.internal/ubuntu oracular/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 109s Get:11 http://ftpmaster.internal/ubuntu oracular/main ppc64el libenchant-2-2 ppc64el 2.3.3-2build2 [59.8 kB] 109s Get:12 http://ftpmaster.internal/ubuntu oracular/main ppc64el libexttextcat-data all 3.4.7-1build1 [193 kB] 109s Get:13 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libserf-1-1 ppc64el 1.3.10-1build2 [57.4 kB] 109s Get:14 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libutf8proc3 ppc64el 2.9.0-1build1 [72.5 kB] 109s Get:15 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libsvn1 ppc64el 1.14.3-1build4 [1640 kB] 109s Get:16 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libxapian30 ppc64el 1.4.22-1build1 [808 kB] 109s Get:17 http://ftpmaster.internal/ubuntu oracular/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1build1 [192 kB] 109s Get:18 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-aeidon all 1.11-2 [221 kB] 109s Get:19 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-soupsieve all 2.5-1 [33.0 kB] 109s Get:20 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-bs4 all 4.12.3-1 [109 kB] 109s Get:21 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 109s Get:22 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-jaraco.functools all 4.0.0-1 [10.7 kB] 109s Get:23 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 109s Get:24 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 109s Get:25 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-diff-match-patch all 20230430-1 [33.1 kB] 109s Get:26 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-enchant all 3.2.2-1 [34.0 kB] 109s Get:27 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-rapidfuzz ppc64el 3.6.2+ds-1 [1105 kB] 109s Get:28 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-levenshtein ppc64el 0.25.1-2 [138 kB] 109s Get:29 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-lxml ppc64el 5.2.1-1 [1250 kB] 109s Get:30 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-mistletoe all 1.3.0-1 [38.0 kB] 109s Get:31 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-ply all 3.11-6 [46.5 kB] 109s Get:32 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 109s Get:33 http://ftpmaster.internal/ubuntu oracular-proposed/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.8+ds-1 [158 kB] 109s Get:34 http://ftpmaster.internal/ubuntu oracular-proposed/universe ppc64el python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 109s Get:35 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-simplejson ppc64el 3.19.2-1build2 [60.6 kB] 109s Get:36 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-translate all 3.12.2-1ubuntu1 [318 kB] 109s Get:37 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-vobject all 0.9.6.1-2 [40.6 kB] 109s Get:38 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-xapian ppc64el 1.4.22-1build5 [359 kB] 109s Get:39 http://ftpmaster.internal/ubuntu oracular/universe ppc64el subversion ppc64el 1.14.3-1build4 [945 kB] 109s Get:40 http://ftpmaster.internal/ubuntu oracular/universe ppc64el translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 109s Get:41 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-iniparse all 0.5-2 [20.0 kB] 109s Get:42 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 110s Preconfiguring packages ... 110s Fetched 11.0 MB in 1s (10.2 MB/s) 110s Selecting previously unselected package emacsen-common. 110s (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 ... 72141 files and directories currently installed.) 110s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 110s Unpacking emacsen-common (3.0.5) ... 110s Selecting previously unselected package dictionaries-common. 110s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 110s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 110s Unpacking dictionaries-common (1.29.7) ... 110s Selecting previously unselected package libgomp1:ppc64el. 110s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_ppc64el.deb ... 110s Unpacking libgomp1:ppc64el (14-20240412-0ubuntu1) ... 110s Selecting previously unselected package gettext. 110s Preparing to unpack .../03-gettext_0.21-14ubuntu2_ppc64el.deb ... 110s Unpacking gettext (0.21-14ubuntu2) ... 110s Selecting previously unselected package hunspell-en-us. 110s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 110s Unpacking hunspell-en-us (1:2020.12.07-2) ... 110s Selecting previously unselected package libapr1t64:ppc64el. 110s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_ppc64el.deb ... 110s Unpacking libapr1t64:ppc64el (1.7.2-3.1build2) ... 110s Selecting previously unselected package libaprutil1t64:ppc64el. 110s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_ppc64el.deb ... 110s Unpacking libaprutil1t64:ppc64el (1.6.3-1.1ubuntu7) ... 110s Selecting previously unselected package libaspell15:ppc64el. 110s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_ppc64el.deb ... 110s Unpacking libaspell15:ppc64el (0.60.8.1-1build1) ... 110s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 110s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 110s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 110s Selecting previously unselected package libenchant-2-2:ppc64el. 110s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_ppc64el.deb ... 110s Unpacking libenchant-2-2:ppc64el (2.3.3-2build2) ... 110s Selecting previously unselected package libexttextcat-data. 110s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 110s Unpacking libexttextcat-data (3.4.7-1build1) ... 110s Selecting previously unselected package libserf-1-1:ppc64el. 110s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_ppc64el.deb ... 110s Unpacking libserf-1-1:ppc64el (1.3.10-1build2) ... 110s Selecting previously unselected package libutf8proc3:ppc64el. 110s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_ppc64el.deb ... 110s Unpacking libutf8proc3:ppc64el (2.9.0-1build1) ... 110s Selecting previously unselected package libsvn1:ppc64el. 110s Preparing to unpack .../13-libsvn1_1.14.3-1build4_ppc64el.deb ... 110s Unpacking libsvn1:ppc64el (1.14.3-1build4) ... 110s Selecting previously unselected package libxapian30:ppc64el. 110s Preparing to unpack .../14-libxapian30_1.4.22-1build1_ppc64el.deb ... 110s Unpacking libxapian30:ppc64el (1.4.22-1build1) ... 110s Selecting previously unselected package libxslt1.1:ppc64el. 110s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_ppc64el.deb ... 110s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1build1) ... 110s Selecting previously unselected package python3-aeidon. 110s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 110s Unpacking python3-aeidon (1.11-2) ... 110s Selecting previously unselected package python3-soupsieve. 110s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 110s Unpacking python3-soupsieve (2.5-1) ... 110s Selecting previously unselected package python3-bs4. 110s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 110s Unpacking python3-bs4 (4.12.3-1) ... 110s Selecting previously unselected package python3-more-itertools. 110s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 110s Unpacking python3-more-itertools (10.2.0-1) ... 110s Selecting previously unselected package python3-jaraco.functools. 110s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 110s Unpacking python3-jaraco.functools (4.0.0-1) ... 110s Selecting previously unselected package python3-cheroot. 110s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 110s Unpacking python3-cheroot (10.0.0+ds1-2) ... 110s Selecting previously unselected package python3-dateutil. 110s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 110s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 110s Selecting previously unselected package python3-diff-match-patch. 110s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 110s Unpacking python3-diff-match-patch (20230430-1) ... 110s Selecting previously unselected package python3-enchant. 110s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 110s Unpacking python3-enchant (3.2.2-1) ... 110s Selecting previously unselected package python3-rapidfuzz. 110s Preparing to unpack .../25-python3-rapidfuzz_3.6.2+ds-1_ppc64el.deb ... 110s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 110s Selecting previously unselected package python3-levenshtein. 110s Preparing to unpack .../26-python3-levenshtein_0.25.1-2_ppc64el.deb ... 110s Unpacking python3-levenshtein (0.25.1-2) ... 110s Selecting previously unselected package python3-lxml:ppc64el. 110s Preparing to unpack .../27-python3-lxml_5.2.1-1_ppc64el.deb ... 110s Unpacking python3-lxml:ppc64el (5.2.1-1) ... 111s Selecting previously unselected package python3-mistletoe. 111s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 111s Unpacking python3-mistletoe (1.3.0-1) ... 111s Selecting previously unselected package python3-ply. 111s Preparing to unpack .../29-python3-ply_3.11-6_all.deb ... 111s Unpacking python3-ply (3.11-6) ... 111s Selecting previously unselected package python3-phply. 111s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 111s Unpacking python3-phply (1.2.6-1) ... 111s Selecting previously unselected package python3-ruamel.yaml.clib:ppc64el. 111s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8+ds-1_ppc64el.deb ... 111s Unpacking python3-ruamel.yaml.clib:ppc64el (0.2.8+ds-1) ... 111s Selecting previously unselected package python3-ruamel.yaml. 111s Preparing to unpack .../32-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 111s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 111s Selecting previously unselected package python3-simplejson. 111s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_ppc64el.deb ... 111s Unpacking python3-simplejson (3.19.2-1build2) ... 111s Selecting previously unselected package python3-translate. 111s Preparing to unpack .../34-python3-translate_3.12.2-1ubuntu1_all.deb ... 111s Unpacking python3-translate (3.12.2-1ubuntu1) ... 111s Selecting previously unselected package python3-vobject. 111s Preparing to unpack .../35-python3-vobject_0.9.6.1-2_all.deb ... 111s Unpacking python3-vobject (0.9.6.1-2) ... 111s Selecting previously unselected package python3-xapian. 111s Preparing to unpack .../36-python3-xapian_1.4.22-1build5_ppc64el.deb ... 111s Unpacking python3-xapian (1.4.22-1build5) ... 111s Selecting previously unselected package subversion. 111s Preparing to unpack .../37-subversion_1.14.3-1build4_ppc64el.deb ... 111s Unpacking subversion (1.14.3-1build4) ... 111s Selecting previously unselected package translate-toolkit. 111s Preparing to unpack .../38-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 111s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 111s Selecting previously unselected package python3-iniparse. 111s Preparing to unpack .../39-python3-iniparse_0.5-2_all.deb ... 111s Unpacking python3-iniparse (0.5-2) ... 111s Selecting previously unselected package python3-pycountry. 111s Preparing to unpack .../40-python3-pycountry_23.12.11+ds1-2_all.deb ... 111s Unpacking python3-pycountry (23.12.11+ds1-2) ... 111s Selecting previously unselected package autopkgtest-satdep. 111s Preparing to unpack .../41-1-autopkgtest-satdep.deb ... 111s Unpacking autopkgtest-satdep (0) ... 111s Setting up python3-more-itertools (10.2.0-1) ... 111s Setting up libxapian30:ppc64el (1.4.22-1build1) ... 111s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 111s Setting up python3-diff-match-patch (20230430-1) ... 112s Setting up python3-jaraco.functools (4.0.0-1) ... 112s Setting up python3-aeidon (1.11-2) ... 112s Setting up libutf8proc3:ppc64el (2.9.0-1build1) ... 112s Setting up libaspell15:ppc64el (0.60.8.1-1build1) ... 112s Setting up python3-ply (3.11-6) ... 112s Setting up python3-ruamel.yaml.clib:ppc64el (0.2.8+ds-1) ... 112s Setting up libgomp1:ppc64el (14-20240412-0ubuntu1) ... 112s Setting up python3-simplejson (3.19.2-1build2) ... 112s Setting up emacsen-common (3.0.5) ... 112s Setting up python3-cheroot (10.0.0+ds1-2) ... 112s Setting up python3-pycountry (23.12.11+ds1-2) ... 113s Setting up python3-xapian (1.4.22-1build5) ... 113s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 113s Setting up python3-mistletoe (1.3.0-1) ... 113s Setting up libexttextcat-data (3.4.7-1build1) ... 113s Setting up libapr1t64:ppc64el (1.7.2-3.1build2) ... 113s Setting up libxslt1.1:ppc64el (1.1.39-0exp1build1) ... 113s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 113s Setting up python3-levenshtein (0.25.1-2) ... 114s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 114s Setting up python3-soupsieve (2.5-1) ... 114s Setting up python3-iniparse (0.5-2) ... 114s Setting up libaprutil1t64:ppc64el (1.6.3-1.1ubuntu7) ... 114s Setting up python3-vobject (0.9.6.1-2) ... 114s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 114s patterns['name'] = '[a-zA-Z0-9\-_]+' 114s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 114s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 114s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 114s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 114s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 114s """ 114s Setting up gettext (0.21-14ubuntu2) ... 114s Setting up python3-phply (1.2.6-1) ... 114s Setting up dictionaries-common (1.29.7) ... 115s Setting up libserf-1-1:ppc64el (1.3.10-1build2) ... 115s Setting up python3-bs4 (4.12.3-1) ... 115s Setting up python3-lxml:ppc64el (5.2.1-1) ... 115s Setting up hunspell-en-us (1:2020.12.07-2) ... 115s Setting up libsvn1:ppc64el (1.14.3-1build4) ... 115s Setting up libenchant-2-2:ppc64el (2.3.3-2build2) ... 115s Setting up subversion (1.14.3-1build4) ... 115s Setting up python3-enchant (3.2.2-1) ... 115s Setting up python3-translate (3.12.2-1ubuntu1) ... 116s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 116s Setting up autopkgtest-satdep (0) ... 116s Processing triggers for man-db (2.12.0-4build2) ... 117s Processing triggers for install-info (7.1-3build2) ... 117s Processing triggers for libc-bin (2.39-0ubuntu8) ... 117s Processing triggers for dictionaries-common (1.29.7) ... 120s (Reading database ... 75588 files and directories currently installed.) 120s Removing autopkgtest-satdep (0) ... 120s autopkgtest [04:18:09]: test translate-toolkit: [----------------------- 121s ========= SMOKE TEST: /usr/bin/android2po =========== 121s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 121s 121s Convert Android string files to Gettext PO localization files. See: 121s http://docs.translatehouse.org/projects/translate- 121s toolkit/en/latest/commands/android2po.html for examples and usage 121s instructions. 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in xml format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in po, pot formats 121s -t TEMPLATE, --template=TEMPLATE 121s read from TEMPLATE in xml format 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s --duplicates=DUPLICATESTYLE 121s what to do with duplicate strings (identical source 121s text): merge, msgctxt (default: 'msgctxt') 121s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 121s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 121s input files [input files ...] 121s 121s positional arguments: 121s input files 121s 121s options: 121s -h, --help show this help message and exit 121s -d TMDB_FILE, --tmdb TMDB_FILE 121s translation memory database file (default: tm.db) 121s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 121s source language of translation files (default: en) 121s -t TARGET_LANG, --import-target-lang TARGET_LANG 121s target language of translation files 121s ========= SMOKE TEST: /usr/bin/buildxpi =========== 121s usage: Usage: buildxpi.py [] [ ...] 121s 121s positional arguments: 121s langs 121s 121s options: 121s -h, --help show this help message and exit 121s -L L10NBASE, --l10n-base L10NBASE 121s The directory containing the subdirectory. 121s -o OUTPUTDIR, --output-dir OUTPUTDIR 121s The directory to copy the built XPI to (default: 121s current directory). 121s -p MOZPRODUCT, --mozproduct MOZPRODUCT 121s The Mozilla product name (default: "browser"). 121s -s SRCDIR, --src SRCDIR 121s The directory containing the Mozilla l10n sources. 121s -d, --delete-dest Delete output XPI if it already exists. 121s -v, --verbose Be more noisy 121s --soft-max-version Override a fixed max version with one to cover the 121s whole cycle e.g. 24.0a1 becomes 24.0.* 121s ========= SMOKE TEST: /usr/bin/csv2po =========== 121s 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] 121s 121s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 121s See: http://docs.translatehouse.org/projects/translate- 121s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in csv format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in po, pot formats 121s -t TEMPLATE, --template=TEMPLATE 121s read from TEMPLATE in po, pot, pot formats 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s -P, --pot output PO Templates (.pot) rather than PO files (.po) 121s --charset=CHARSET set charset to decode from csv files 121s --columnorder=COLUMNORDER 121s specify the order and position of columns 121s (location,source,target) 121s --duplicates=DUPLICATESTYLE 121s what to do with duplicate strings (identical source 121s text): merge, msgctxt (default: 'msgctxt') 121s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 121s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 121s 121s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 121s glossary file. See: http://docs.translatehouse.org/projects/translate- 121s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in csv format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in tbx format 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s --charset=CHARSET set charset to decode from csv files 121s --columnorder=COLUMNORDER 121s specify the order and position of columns 121s (comment,source,target) 121s ========= SMOKE TEST: /usr/bin/dtd2po =========== 121s 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] 121s 121s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 121s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 121s this module You can convert back to .dtd using po2dtd.py. 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in dtd format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in po, pot formats 121s -t TEMPLATE, --template=TEMPLATE 121s read from TEMPLATE in dtd format 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s -P, --pot output PO Templates (.pot) rather than PO files (.po) 121s --duplicates=DUPLICATESTYLE 121s what to do with duplicate strings (identical source 121s text): merge, msgctxt (default: 'msgctxt') 121s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 122s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 122s 122s Convert flat XML files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/flatxml2po.html for examples and usage 122s instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in xml format 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -r ROOT, --root=ROOT name of the XML root element (default: "root") 122s -v VALUE, --value=VALUE 122s name of the XML value element (default: "str") 122s -k KEY, --key=KEY name of the XML key attribute (default: "key") 122s -n NS, --namespace=NS 122s XML namespace uri (default: None) 122s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 122s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 122s [--delete-dest] [-v] 122s 122s options: 122s -h, --help show this help message and exit 122s -s SRCDIR, --src SRCDIR 122s The directory containing the Mozilla l10n sources. 122s -d DESTDIR, --dest DESTDIR 122s The destination directory to copy the en-US locale 122s files to. 122s -p MOZPRODUCT, --mozproduct MOZPRODUCT 122s The Mozilla product name. 122s --delete-dest Delete the destination directory (if it exists). 122s -v, --verbose Be more noisy 122s ========= SMOKE TEST: /usr/bin/html2po =========== 122s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 122s 122s Convert HTML files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in htm, html, xhtml formats 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -P, --pot output PO Templates (.pot) rather than PO files (.po) 122s --keepcomments preserve html comments as translation notes in the 122s output 122s --duplicates=DUPLICATESTYLE 122s what to do with duplicate strings (identical source 122s text): merge, msgctxt (default: 'msgctxt') 122s --multifile=MULTIFILESTYLE 122s how to split po/pot files (single, toplevel or 122s onefile) 122s ========= SMOKE TEST: /usr/bin/ical2po =========== 122s 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] 122s 122s Convert iCalendar files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in ics format 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -t TEMPLATE, --template=TEMPLATE 122s read from TEMPLATE in ics format 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -P, --pot output PO Templates (.pot) rather than PO files (.po) 122s --duplicates=DUPLICATESTYLE 122s what to do with duplicate strings (identical source 122s text): merge, msgctxt (default: 'msgctxt') 122s ========= SMOKE TEST: /usr/bin/idml2po =========== 122s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 122s 122s Convert IDML files to PO localization files. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in idml format 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s ========= SMOKE TEST: /usr/bin/ini2po =========== 122s 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] 122s 122s Convert .ini files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in ini, isl, iss formats 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -t TEMPLATE, --template=TEMPLATE 122s read from TEMPLATE in ini, isl, iss formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -P, --pot output PO Templates (.pot) rather than PO files (.po) 122s --duplicates=DUPLICATESTYLE 122s what to do with duplicate strings (identical source 122s text): merge, msgctxt (default: 'msgctxt') 122s ========= SMOKE TEST: /usr/bin/json2po =========== 123s 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] 123s 123s Convert JSON files to Gettext PO localization files. See: 123s http://docs.translatehouse.org/projects/translate- 123s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in json format 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in po, pot formats 123s -t TEMPLATE, --template=TEMPLATE 123s read from TEMPLATE in json format 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 123s everything) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s ========= SMOKE TEST: /usr/bin/md2po =========== 123s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 123s 123s Convert Markdown files to Gettext PO localization files. See: 123s http://docs.translatehouse.org/projects/translate- 123s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in markdown, md, text, txt formats 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in po, pot formats 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s --multifile=MULTIFILESTYLE 123s how to split po/pot files (single, toplevel or 123s onefile) 123s ========= SMOKE TEST: /usr/bin/moz2po =========== 123s 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] 123s 123s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 123s See: http://docs.translatehouse.org/projects/translate- 123s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in *, dtd, inc, ini, it, js, lang, 123s manifest, properties, rdf formats 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 123s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 123s lang.pot, manifest, properties.po, properties.pot, rdf 123s formats 123s -t TEMPLATE, --template=TEMPLATE 123s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 123s manifest, properties, rdf formats 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 124s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 124s 124s Convert Mozilla .lang files to Gettext PO localization files. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in lang format 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -P, --pot output PO Templates (.pot) rather than PO files (.po) 124s --encoding=ENCODING The encoding of the input file (default: UTF-8) 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s ========= SMOKE TEST: /usr/bin/msghack =========== 124s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 124s This program can be used to alter .po files in ways no sane mind would think about. 124s -o result will be written to FILE 124s --invert invert a po file by switching msgid and msgstr 124s --master join any number of files in a master-formatted catalog 124s --empty empty the contents of the .po file, creating a .pot 124s --append append entries from ref.po that don't exist in file.po 124s 124s Note: It is just a replacement of msghack for backward support. 124s 124s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 124s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert OpenDocument (ODF) files to XLIFF localization files. See: 124s http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 124s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 124s formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in xlf, xliff formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s ========= SMOKE TEST: /usr/bin/oo2po =========== 124s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 124s 124s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 124s files. See: http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in oo, sdf formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -P, --pot output PO Templates (.pot) rather than PO files (.po) 124s -l LANG, --language=LANG 124s set target language to extract from oo file (e.g. af- 124s ZA) 124s --source-language=LANG 124s set source language code (default en-US) 124s --nonrecursiveinput don't treat the input oo as a recursive store 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s --multifile=MULTIFILESTYLE 124s how to split po/pot files (single, toplevel or 124s onefile) 124s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 124s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 124s files. See: http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in oo, sdf formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in xlf, xliff formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -l LANG, --language=LANG 124s set target language to extract from oo file (e.g. af- 124s ZA) 124s --source-language=LANG 124s set source language code (default en-US) 124s --nonrecursiveinput don't treat the input oo as a recursive store 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s --multifile=MULTIFILESTYLE 124s how to split po/pot files (single, toplevel or 124s onefile) 124s ========= SMOKE TEST: /usr/bin/php2po =========== 124s 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] 124s 124s Convert PHP localization files to Gettext PO localization files. See: 124s http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in html, php formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -t TEMPLATE, --template=TEMPLATE 124s read from TEMPLATE in html, php formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -P, --pot output PO Templates (.pot) rather than PO files (.po) 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 124s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert PHP format .po files to Python format .po files. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in po, pot formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s ========= SMOKE TEST: /usr/bin/po2csv =========== 124s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 124s See: http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in po, pot formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in csv format 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s --columnorder=COLUMNORDER 124s specify the order and position of columns 124s (location,source,target) 124s ========= SMOKE TEST: /usr/bin/po2dtd =========== 125s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 125s Conversion is either done using a template plus PO file or just using the 125s .po file. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in dtd format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in dtd format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s --removeuntranslated remove untranslated strings from output 125s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 125s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to flat XML files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/flatxml2po.html for examples and usage 125s instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in xml format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in xml format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s -r ROOT, --root=ROOT name of the XML root element (default: "root") 125s -v VALUE, --value=VALUE 125s name of the XML value element (default: "str") 125s -k KEY, --key=KEY name of the XML key attribute (default: "key") 125s -n NS, --namespace=NS 125s XML namespace uri (default: None) 125s -w INDENT, --indent=INDENT 125s indent width in spaces, 0 for no indent (default: 2) 125s ========= SMOKE TEST: /usr/bin/po2html =========== 125s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Translate HTML files using Gettext PO localization files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in htm, html, xhtml formats 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in htm, html, xhtml formats 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s ========= SMOKE TEST: /usr/bin/po2ical =========== 125s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to iCalendar files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in ics format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in ics format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s ========= SMOKE TEST: /usr/bin/po2idml =========== 125s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Takes an IDML template file and a PO file containing translations of strings 125s in the IDML template. It creates a new IDML file using the translations of the 125s PO file. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in idml format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in idml format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s ========= SMOKE TEST: /usr/bin/po2ini =========== 125s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to .ini files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in ini, isl formats 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in ini, isl formats 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s ========= SMOKE TEST: /usr/bin/po2json =========== 125s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to JSON files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in json format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in json format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s --removeuntranslated remove untranslated strings from output 126s ========= SMOKE TEST: /usr/bin/po2md =========== 126s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Translate Markdown files using Gettext PO localization files. See: 126s http://docs.translatehouse.org/projects/translate- 126s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in po, pot formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in markdown, md, text, txt formats 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in markdown, md, text, txt formats 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s -m MAXLENGTH, --maxlinelength=MAXLENGTH 126s reflow (word wrap) the output to the given maximum 126s line length. set to 0 to disable 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 126s ========= SMOKE TEST: /usr/bin/po2moz =========== 126s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 126s See: http://docs.translatehouse.org/projects/translate- 126s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in *, dtd.po, dtd.pot, inc.po, 126s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 126s lang.pot, manifest, properties.po, properties.pot, rdf 126s formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 126s manifest, properties, rdf formats 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 126s manifest, properties, rdf formats 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s -l LOCALE, --locale=LOCALE 126s set output locale (required as this sets the directory 126s names) 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 126s --removeuntranslated remove untranslated strings from output 126s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 126s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Convert Gettext PO localization files to Mozilla .lang files. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in po, pot formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in lang format 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in lang format 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s --mark-active mark the file as active 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2oo =========== 127s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 127s file. See: http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot, xlf, xliff formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in oo, sdf formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in oo, sdf formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s -l LANG, --language=LANG 127s set target language code (e.g. af-ZA) [required] 127s --source-language=LANG 127s set source language code (default en-US) 127s -T, --keeptimestamp don't change the timestamps of the strings 127s --nonrecursiveoutput don't treat the output oo as a recursive store 127s --nonrecursivetemplate 127s don't treat the template oo as a recursive store 127s --skipsource don't output the source language, but fallback to it 127s where needed 127s --filteraction=ACTION 127s action on pofilter failure: none (default), warn, 127s exclude-serious, exclude-all 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s --multifile=MULTIFILESTYLE 127s how to split po/pot files (single, toplevel or 127s onefile) 127s ========= SMOKE TEST: /usr/bin/po2php =========== 127s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to PHP localization files. See: 127s http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in html, php formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in html, php formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2prop =========== 127s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to Java/Mozilla .properties files. 127s See: http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in lang, properties, strings formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in lang, properties, strings 127s formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --personality=TYPE override the input file format: java, java-utf8, java- 127s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 127s strings, strings-utf8, joomla (for .properties files, 127s default: java) 127s --encoding=ENCODING override the encoding set by the personality 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s --removeuntranslated remove untranslated strings from output 127s ========= SMOKE TEST: /usr/bin/po2rc =========== 127s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files back to Windows Resource (.rc) files. 127s See: http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in rc format 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in rc format 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 127s -l LANG, --lang=LANG LANG entry 127s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2resx =========== 127s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 127s http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in resx format 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in resx format 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2sub =========== 127s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to subtitle files. See: 127s http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in ass, srt, ssa, sub formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in ass, srt, ssa, sub formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 128s ========= SMOKE TEST: /usr/bin/po2symb =========== 128s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to Symbian translation files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in r0 format 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s --duplicates=DUPLICATESTYLE 128s what to do with duplicate strings (identical source 128s text): merge, msgctxt (default: 'msgctxt') 128s ========= SMOKE TEST: /usr/bin/po2tiki =========== 128s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 128s 128s Convert Gettext PO files to TikiWiki's language.php files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in tiki format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s ========= SMOKE TEST: /usr/bin/po2tmx =========== 128s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 128s 128s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 128s file. See: http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in tmx format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s -l LANG, --language=LANG 128s set target language code (e.g. af-ZA) [required] 128s --source-language=LANG 128s set source language code (default: en) 128s --comments=COMMENT set default comment import: none, source, type or 128s others (default: none) 128s ========= SMOKE TEST: /usr/bin/po2ts =========== 128s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in ts format 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in ts format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s -c CONTEXT, --context=CONTEXT 128s use supplied context instead of the one in the .po 128s file comment 128s ========= SMOKE TEST: /usr/bin/po2txt =========== 128s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to plain text (.txt) files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot, xlf, xliff formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in txt format 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in txt format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s --encoding=ENCODING The encoding of the template file (default: UTF-8) 128s -w WRAP, --wrap=WRAP set number of columns to wrap text at 128s --threshold=PERCENT only convert files where the translation completion is 128s above PERCENT 128s --fuzzy use translations marked fuzzy 128s --nofuzzy don't use translations marked fuzzy (default) 128s ========= SMOKE TEST: /usr/bin/po2web2py =========== 128s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 128s 128s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in py format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s --threshold=PERCENT only convert files where the translation completion is 128s above PERCENT 128s --fuzzy use translations marked fuzzy 128s --nofuzzy don't use translations marked fuzzy (default) 128s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 128s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 128s 128s Convert Gettext PO localization files to a Wordfast translation memory file. 128s See: http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/po2wordfast.html for examples and usage 128s instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in txt format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s -l LANG, --language=LANG 128s set target language code (e.g. af-ZA) [required] 128s --source-language=LANG 128s set source language code (default: en) 128s ========= SMOKE TEST: /usr/bin/po2xliff =========== 129s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 129s 129s Convert Gettext PO localization files to XLIFF localization files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in xlf, xliff formats 129s -t TEMPLATE, --template=TEMPLATE 129s read from TEMPLATE in xlf, xliff formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s ========= SMOKE TEST: /usr/bin/po2yaml =========== 129s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 129s 129s Convert Gettext PO localization files to YAML files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in yaml, yml formats 129s -t TEMPLATE, --template=TEMPLATE 129s read from TEMPLATE in yaml, yml formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s --threshold=PERCENT only convert files where the translation completion is 129s above PERCENT 129s --fuzzy use translations marked fuzzy 129s --nofuzzy don't use translations marked fuzzy (default) 129s ========= SMOKE TEST: /usr/bin/poclean =========== 129s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 129s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 129s produces the target file with only the target text in from a text version of 129s the RTF. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, xlf, xliff formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in po, pot, xlf, xliff formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s ========= SMOKE TEST: /usr/bin/pocompendium =========== 129s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 129s The first parameter is the output file, standard output if the output file is '-'. 129s Any number of directories may be specified for input files. 129s Options: 129s --invert|v Creates an inverse compendium with msgid and msgstr swapped 129s --errors|e Only ouput msg bundles that have errors 129s --correct|c Only ouput msg bundles that are correctly translated 129s --ignore-case|i Drops all strings to lowercase 129s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 129s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 129s --strip-accel-under|-su Strip all underscore (_) accelerator characters 129s ========= SMOKE TEST: /usr/bin/pocompile =========== 129s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 129s Object) files. See: http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, xlf, xliff formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in mo format 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s --fuzzy use translations marked fuzzy 129s --nofuzzy don't use translations marked fuzzy (default) 129s ========= SMOKE TEST: /usr/bin/poconflicts =========== 129s 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] 129s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 129s 129s Conflict finder for Gettext PO localization files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/poconflicts.html for examples and usage 129s instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po format 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in po format 129s -I, --ignore-case ignore case distinctions 129s -v, --invert invert the conflicts thus extracting conflicting 129s destination words 129s --accelerator=ACCELERATORS 129s ignores the given accelerator characters when matching 129s ========= SMOKE TEST: /usr/bin/pocount =========== 129s usage: pocount [-h] [--incomplete] 129s [--full | --csv | --short | --short-strings | --short-words] 129s [--no-color] 129s files [files ...] 129s 129s positional arguments: 129s files 129s 129s options: 129s -h, --help show this help message and exit 129s --incomplete skip 100% translated files. 129s 129s Output format: 129s --full (default) statistics in full, verbose format 129s --csv statistics in CSV format 129s --short same as --short-strings 129s --short-strings statistics of strings in short format - one line per file 129s --short-words statistics of words in short format - one line per file 129s --no-color show output without color 129s ========= SMOKE TEST: /usr/bin/podebug =========== 129s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Insert debug messages into XLIFF and Gettext PO localization files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, pot, tmx, xlf, xliff 129s formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in po, pot, tmx, xlf, xliff formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s -f FORMAT, --format=FORMAT 129s specify format string 129s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 129s classified, en, flipped, unicode, xxx 129s --ignore=APPLICATION apply tagging ignore rules for the given application: 129s gtk, kde, libreoffice, mozilla, openoffice 129s --preserveplaceholders 129s attempt to exclude characters that are part of 129s placeholders when performing character-level rewrites 129s so that consuming applications can still use the 129s placeholders to generate final output 129s ========= SMOKE TEST: /usr/bin/pofilter =========== 129s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 129s 129s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 129s Snippet files are created whenever a test fails. These can be examined, 129s corrected and merged back into the originals using pomerge. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 129s and http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 129s tests. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, tmx, xlf, xliff formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in po, pot, tmx, xlf, xliff formats 129s -l, --listfilters list filters available 129s --review include units marked for review (default) 129s --noreview exclude units marked for review 129s --fuzzy include units marked fuzzy (default) 129s --nofuzzy exclude units marked fuzzy 129s --nonotes don't add notes about the errors 129s --autocorrect output automatic corrections where possible rather 129s than describing issues 129s --language=LANG set target language code (e.g. af-ZA) [required for 129s spell check and recommended in general] 129s --openoffice use the standard checks for OpenOffice translations 129s --libreoffice use the standard checks for LibreOffice translations 129s --mozilla use the standard checks for Mozilla translations 129s --drupal use the standard checks for Drupal translations 129s --gnome use the standard checks for Gnome translations 129s --kde use the standard checks for KDE translations 129s --wx use the standard checks for wxWidgets translations 129s --excludefilter=FILTER 129s don't use FILTER when filtering 129s -t FILTER, --test=FILTER 129s only use test FILTERs specified with this option when 129s filtering 129s --notranslatefile=FILE 129s read list of untranslatable words from FILE (must not 129s be translated) 129s --musttranslatefile=FILE 129s read list of translatable words from FILE (must be 129s translated) 129s --validcharsfile=FILE 129s read list of all valid characters from FILE (must be 129s in UTF-8) 130s ========= SMOKE TEST: /usr/bin/pogrep =========== 130s 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] 130s 130s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 130s snippet files of the same type which can then be reviewed and later merged 130s using :doc:`pomerge `. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 130s xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 130s xliff formats 130s --search=SEARCHPARTS searches the given parts (source, target, notes and 130s locations) 130s -I, --ignore-case ignore case distinctions 130s -e, --regexp use regular expression matching 130s -v, --invert-match select non-matching lines 130s --accelerator=ACCELERATOR 130s ignores the given accelerator when matching 130s -k, --keep-translations 130s always extract units with translations 130s ========= SMOKE TEST: /usr/bin/pomerge =========== 130s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 130s 130s Merges XLIFF and Gettext PO localization files. Snippet file produced by 130s e.g. :doc:`pogrep ` and updated by a translator can be 130s merged back into the original files. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot, pot, xlf, xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot, pot, xlf, xliff formats 130s -t TEMPLATE, --template=TEMPLATE 130s read from TEMPLATE in po, pot, pot, xlf, xliff formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s --mergeblanks=MERGEBLANKS 130s whether to overwrite existing translations with blank 130s translations (yes/no). Default is yes. 130s --mergefuzzy=MERGEFUZZY 130s whether to consider fuzzy translations from input 130s (yes/no). Default is yes. 130s --mergecomments=MERGECOMMENTS 130s whether to merge comments as well as translations 130s (yes/no). Default is yes. 130s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 130s Usage pomigrate2 [options] 130s 130s Options: 130s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 130s -C|--use-compendium - create and use a compendium built from the migrating files 130s -C|--use-compendium=some-compendium.po 130s - use an external compendium during the migration 130s --no-wrap - do not wrap long lines 130s --locale=lang - set locale for newly born files 130s -q|--quiet - suppress most output 130s -p|--pot2po - use pot2po instead of msgmerge to migrate 130s ========= SMOKE TEST: /usr/bin/popuretext =========== 130s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 130s ========= SMOKE TEST: /usr/bin/poreencode =========== 130s Usage: poreencode 130s eg: poreencode UTF-8 af/ 130s ========= SMOKE TEST: /usr/bin/porestructure =========== 130s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 130s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 130s 130s Restructure Gettxt PO files produced by :doc:`poconflicts 130s ` into the original directory tree for merging using 130s :doc:`pomerge `. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po format 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po format 130s ========= SMOKE TEST: /usr/bin/posegment =========== 130s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 130s 130s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 130s See: http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot, tmx, xlf, xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot, tmx, xlf, xliff formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s -P, --pot output PO Templates (.pot) rather than PO files (.po) 130s -l LANG, --language=LANG 130s the target language code 130s --source-language=LANG 130s the source language code (default 'en') 130s --keepspaces Disable automatic stripping of whitespace 130s --only-aligned Removes units where sentence number does not 130s correspond 130s ========= SMOKE TEST: /usr/bin/poswap =========== 130s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 130s 130s Builds a new translation file with the target of the input language as source 130s language. .. note:: Ensure that the two po files correspond 100% to the same 130s pot file before using this. To translate Kurdish (ku) through French:: 130s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 130s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot formats 130s -t TEMPLATE, --template=TEMPLATE 130s read from TEMPLATE in po, pot, pot formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s --reverse reverse the process of intermediate language 130s conversion 130s ========= SMOKE TEST: /usr/bin/pot2po =========== 130s 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] 130s 130s Convert template files (like .pot or template .xlf files) to translation 130s files, preserving existing translations. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 130s formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 130s xliff formats 130s -t TEMPLATE, --template=TEMPLATE 130s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 130s xliff formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s -P, --pot output PO Templates (.pot) rather than PO files (.po) 130s --tm=TM The file to use as translation memory when fuzzy 130s matching 130s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 130s The minimum similarity for inclusion (default: 75%) 130s --nofuzzymatching Disable fuzzy matching 130s ========= SMOKE TEST: /usr/bin/poterminology =========== 130s 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] 130s input directory is searched for PO files, terminology PO file is output file 130s 130s Create a terminology file by reading a set of .po or .pot files to produce a 130s pootle-terminology.pot. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/poterminology.html for examples and usage 130s instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot formats 130s -u UPDATEFILE, --update=UPDATEFILE 130s update terminology in UPDATEFILE 130s -S STOPFILE, --stopword-list=STOPFILE 130s read stopword (term exclusion) list from STOPFILE 130s (default /usr/share/pyshared/translate/share/stoplist- 130s en) 130s -F, --fold-titlecase fold "Title Case" to lowercase (default) 130s -C, --preserve-case preserve all uppercase/lowercase 130s -I, --ignore-case make all terms lowercase 130s --accelerator=ACCELERATORS 130s ignore the given accelerator characters when matching 130s -t LENGTH, --term-words=LENGTH 130s generate terms of up to LENGTH words (default 3) 130s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 130s 1) 130s --inputs-needed=MIN omit terms appearing in less than MIN input files 130s (default 2, or 1 if only one input file) 130s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 130s different messages (default 1) 130s --substr-needed=MIN omit substring-only terms appearing in less than MIN 130s different messages (default 2) 130s --locs-needed=MIN omit terms appearing in less than MIN different 130s original source files (default 2) 130s --sort=ORDER output sort order(s): frequency, dictionary, length 130s (may repeat option, default is all in above order) 130s --source-language=LANG 130s the source language code (default 'en') 130s -v, --invert invert the source and target languages for terminology 131s ========= SMOKE TEST: /usr/bin/pretranslate =========== 131s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 131s 131s Fill localization files with suggested translations based on translation 131s memory and existing translations. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/pretranslate.html for examples and usage 131s instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in po, pot, pot, xlf, xliff formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot, xlf, xliff formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in po, pot, xlf, xliff formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s --tm=TM The file to use as translation memory when fuzzy 131s matching 131s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 131s The minimum similarity for inclusion (default: 75%) 131s --nofuzzymatching Disable fuzzy matching 131s ========= SMOKE TEST: /usr/bin/prop2po =========== 131s 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] 131s 131s Convert Java/Mozilla .properties files to Gettext PO localization files. 131s See: http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in lang, properties, strings formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in lang, properties, strings 131s formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s -P, --pot output PO Templates (.pot) rather than PO files (.po) 131s --personality=TYPE override the input file format: java, java-utf8, java- 131s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 131s strings, strings-utf8, joomla (for .properties files, 131s default: java) 131s --encoding=ENCODING override the encoding set by the personality 131s --duplicates=DUPLICATESTYLE 131s what to do with duplicate strings (identical source 131s text): merge, msgctxt (default: 'msgctxt') 131s ========= SMOKE TEST: /usr/bin/pydiff =========== 131s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 131s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 131s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 131s fromfile tofile 131s 131s positional arguments: 131s fromfile 131s tofile 131s 131s options: 131s -h, --help show this help message and exit 131s -i, --ignore-case Ignore case differences in file contents. 131s -U NUM, --unified NUM 131s Output NUM (default 3) lines of unified context 131s -r, --recursive Recursively compare any subdirectories found. 131s -N, --new-file Treat absent files as empty. 131s --unidirectional-new-file 131s Treat absent first files as empty. 131s -s, --report-identical-files 131s Report when two files are the same. 131s -x PAT, --exclude PAT 131s Exclude files that match PAT. 131s --fromcontains TEXT Only show changes where fromfile contains TEXT 131s --tocontains TEXT Only show changes where tofile contains TEXT 131s --contains TEXT Only show changes where fromfile or tofile contains 131s TEXT 131s -I, --ignore-case-contains 131s Ignore case differences when matching any of the 131s changes 131s --accelerator ACCELERATORS 131s ignores the given accelerator characters when matching 131s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 131s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 131s 131s Convert Python format .po files to PHP format .po files. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in po, pot formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s ========= SMOKE TEST: /usr/bin/rc2po =========== 131s 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] 131s 131s Convert Windows RC files to Gettext PO localization files. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in nls, rc formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in nls, rc formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s -P, --pot output PO Templates (.pot) rather than PO files (.po) 131s --charset=CHARSET charset to use to decode the RC files (autodetection 131s is used by default) 131s -l LANG, --lang=LANG LANG entry (default: None) 131s --sublang=SUBLANG SUBLANG entry (default: None) 131s --duplicates=DUPLICATESTYLE 131s what to do with duplicate strings (identical source 131s text): merge, msgctxt (default: 'msgctxt') 131s ========= SMOKE TEST: /usr/bin/resx2po =========== 131s 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] 131s 131s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in resx format 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in resx format 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s -P, --pot output PO Templates (.pot) rather than PO files (.po) 131s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 131s everything) 131s --duplicates=DUPLICATESTYLE 131s what to do with duplicate strings (identical source 131s text): merge, msgctxt (default: 'msgctxt') 131s ========= SMOKE TEST: /usr/bin/sub2po =========== 132s 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] 132s 132s Convert subtitle files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in ass, srt, ssa, sub formats 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -t TEMPLATE, --template=TEMPLATE 132s read from TEMPLATE in ass, srt, ssa, sub formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/symb2po =========== 132s 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] 132s 132s Convert Symbian localisation files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in r01 format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -t TEMPLATE, --template=TEMPLATE 132s read from TEMPLATE in 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/tbx2po =========== 132s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 132s 132s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in tbx format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s ========= SMOKE TEST: /usr/bin/tiki2po =========== 132s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 132s 132s Convert TikiWiki's language.php files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in php format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s --include-unused Include strings in the unused section 132s ========= SMOKE TEST: /usr/bin/tmserver =========== 132s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 132s [-s SOURCE_LANG] [-b BIND] [-p PORT] 132s [--max-candidates MAX_CANDIDATES] 132s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 132s [--debug] 132s 132s options: 132s -h, --help show this help message and exit 132s -d TMDBFILE, --tmdb TMDBFILE 132s translation memory database file 132s -f TMFILES, --import-translation-file TMFILES 132s translation file to import into the database 132s -t TARGET_LANG, --import-target-lang TARGET_LANG 132s target language of translation files 132s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 132s source language of translation files 132s -b BIND, --bind BIND address to bind server to (default: localhost) 132s -p PORT, --port PORT port to listen on (default: 8888) 132s --max-candidates MAX_CANDIDATES 132s Maximum number of candidates 132s --min-similarity MIN_SIMILARITY 132s minimum similarity 132s --max-length MAX_LENGTH 132s Maxmimum string length 132s --debug enable debugging features 132s ========= SMOKE TEST: /usr/bin/ts2po =========== 132s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 132s 132s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in ts format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/txt2po =========== 132s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 132s 132s Convert plain text (.txt) files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in *, txt formats 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --encoding=ENCODING The encoding of the input file (default: UTF-8) 132s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 132s mediawiki 132s --no-segmentation Don't segment the file, treat it like a single message 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/web2py2po =========== 133s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 133s 133s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in py format 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 133s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 133s 133s Convert XLIFF translation files to OpenDocument (ODF) files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in xlf format 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 133s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 133s -t TEMPLATE, --template=TEMPLATE 133s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 133s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 133s formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 133s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 133s 133s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 133s file. See: http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in po, pot, xlf, xliff formats 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in oo, sdf formats 133s -t TEMPLATE, --template=TEMPLATE 133s read from TEMPLATE in oo, sdf formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -l LANG, --language=LANG 133s set target language code (e.g. af-ZA) [required] 133s --source-language=LANG 133s set source language code (default en-US) 133s -T, --keeptimestamp don't change the timestamps of the strings 133s --nonrecursiveoutput don't treat the output oo as a recursive store 133s --nonrecursivetemplate 133s don't treat the template oo as a recursive store 133s --skipsource don't output the source language, but fallback to it 133s where needed 133s --filteraction=ACTION 133s action on pofilter failure: none (default), warn, 133s exclude-serious, exclude-all 133s --fuzzy use translations marked fuzzy 133s --nofuzzy don't use translations marked fuzzy (default) 133s --multifile=MULTIFILESTYLE 133s how to split po/pot files (single, toplevel or 133s onefile) 133s ========= SMOKE TEST: /usr/bin/xliff2po =========== 133s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 133s 133s Convert XLIFF localization files to Gettext PO localization files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in xlf, xliff formats 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/yaml2po =========== 133s 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] 133s 133s Convert YAML files to Gettext PO localization files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in yaml, yml formats 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -t TEMPLATE, --template=TEMPLATE 133s read from TEMPLATE in yaml, yml formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 134s autopkgtest [04:18:23]: test translate-toolkit: -----------------------] 134s translate-toolkit PASS 134s autopkgtest [04:18:23]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 135s autopkgtest [04:18:24]: test python3-translate: preparing testbed 245s autopkgtest [04:20:14]: testbed dpkg architecture: ppc64el 245s autopkgtest [04:20:14]: testbed apt version: 2.7.14build2 245s autopkgtest [04:20:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 246s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 246s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1647 kB] 246s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 246s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 246s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [110 kB] 246s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main ppc64el Packages [182 kB] 246s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted ppc64el Packages [1260 B] 246s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe ppc64el Packages [1269 kB] 246s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse ppc64el Packages [22.6 kB] 247s Fetched 3322 kB in 1s (2867 kB/s) 247s Reading package lists... 249s Reading package lists... 249s Building dependency tree... 249s Reading state information... 249s Calculating upgrade... 249s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 249s Reading package lists... 250s Building dependency tree... 250s Reading state information... 250s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 250s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 250s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 250s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 250s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 251s Reading package lists... 251s Reading package lists... 251s Building dependency tree... 251s Reading state information... 252s Calculating upgrade... 252s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 252s Reading package lists... 252s Building dependency tree... 252s Reading state information... 252s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 256s Reading package lists... 256s Building dependency tree... 256s Reading state information... 256s Starting pkgProblemResolver with broken count: 0 256s Starting 2 pkgProblemResolver with broken count: 0 256s Done 256s The following additional packages will be installed: 256s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 256s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 256s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 256s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 256s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 256s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 256s python3-more-itertools python3-packaging python3-phply python3-pluggy 256s python3-ply python3-pycountry python3-pytest python3-rapidfuzz 256s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 256s python3-soupsieve python3-syrupy python3-translate python3-vobject 256s python3-xapian subversion 256s Suggested packages: 256s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 256s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 256s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 256s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 256s libapache2-mod-svn subversion-tools 256s Recommended packages: 256s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 256s python3-cssselect python3-html5lib 256s The following NEW packages will be installed: 256s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 256s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 256s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 256s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 256s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 256s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 256s python3-mistletoe python3-more-itertools python3-packaging python3-phply 256s python3-pluggy python3-ply python3-pycountry python3-pytest 256s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 256s python3-simplejson python3-soupsieve python3-syrupy python3-translate 256s python3-vobject python3-xapian subversion 256s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 256s Need to get 11.3 MB/11.3 MB of archives. 256s After this operation, 54.4 MB of additional disk space will be used. 256s Get:1 /tmp/autopkgtest.SoRaz4/2-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [880 B] 257s Get:2 http://ftpmaster.internal/ubuntu oracular/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 257s Get:3 http://ftpmaster.internal/ubuntu oracular/main ppc64el dictionaries-common all 1.29.7 [188 kB] 257s Get:4 http://ftpmaster.internal/ubuntu oracular/main ppc64el libgomp1 ppc64el 14-20240412-0ubuntu1 [161 kB] 257s Get:5 http://ftpmaster.internal/ubuntu oracular/main ppc64el gettext ppc64el 0.21-14ubuntu2 [985 kB] 257s Get:6 http://ftpmaster.internal/ubuntu oracular/main ppc64el hunspell-en-us all 1:2020.12.07-2 [280 kB] 257s Get:7 http://ftpmaster.internal/ubuntu oracular/main ppc64el libapr1t64 ppc64el 1.7.2-3.1build2 [135 kB] 257s Get:8 http://ftpmaster.internal/ubuntu oracular/main ppc64el libaprutil1t64 ppc64el 1.6.3-1.1ubuntu7 [113 kB] 257s Get:9 http://ftpmaster.internal/ubuntu oracular/main ppc64el libaspell15 ppc64el 0.60.8.1-1build1 [383 kB] 257s Get:10 http://ftpmaster.internal/ubuntu oracular/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 257s Get:11 http://ftpmaster.internal/ubuntu oracular/main ppc64el libenchant-2-2 ppc64el 2.3.3-2build2 [59.8 kB] 257s Get:12 http://ftpmaster.internal/ubuntu oracular/main ppc64el libexttextcat-data all 3.4.7-1build1 [193 kB] 257s Get:13 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libserf-1-1 ppc64el 1.3.10-1build2 [57.4 kB] 257s Get:14 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libutf8proc3 ppc64el 2.9.0-1build1 [72.5 kB] 257s Get:15 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libsvn1 ppc64el 1.14.3-1build4 [1640 kB] 257s Get:16 http://ftpmaster.internal/ubuntu oracular/universe ppc64el libxapian30 ppc64el 1.4.22-1build1 [808 kB] 257s Get:17 http://ftpmaster.internal/ubuntu oracular/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1build1 [192 kB] 257s Get:18 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-aeidon all 1.11-2 [221 kB] 257s Get:19 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-all ppc64el 3.12.3-0ubuntu1 [888 B] 257s Get:20 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-soupsieve all 2.5-1 [33.0 kB] 257s Get:21 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-bs4 all 4.12.3-1 [109 kB] 257s Get:22 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 257s Get:23 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-jaraco.functools all 4.0.0-1 [10.7 kB] 257s Get:24 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 257s Get:25 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 257s Get:26 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-diff-match-patch all 20230430-1 [33.1 kB] 257s Get:27 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-enchant all 3.2.2-1 [34.0 kB] 257s Get:28 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 257s Get:29 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-rapidfuzz ppc64el 3.6.2+ds-1 [1105 kB] 257s Get:30 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-levenshtein ppc64el 0.25.1-2 [138 kB] 257s Get:31 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-lxml ppc64el 5.2.1-1 [1250 kB] 257s Get:32 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-mistletoe all 1.3.0-1 [38.0 kB] 257s Get:33 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-packaging all 24.0-1 [41.1 kB] 257s Get:34 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-ply all 3.11-6 [46.5 kB] 257s Get:35 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 257s Get:36 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-pluggy all 1.4.0-1 [20.4 kB] 257s Get:37 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-pytest all 7.4.4-1 [305 kB] 257s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.8+ds-1 [158 kB] 257s Get:39 http://ftpmaster.internal/ubuntu oracular-proposed/universe ppc64el python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 257s Get:40 http://ftpmaster.internal/ubuntu oracular/main ppc64el python3-simplejson ppc64el 3.19.2-1build2 [60.6 kB] 258s Get:41 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-syrupy all 4.6.1-1 [42.8 kB] 258s Get:42 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-translate all 3.12.2-1ubuntu1 [318 kB] 258s Get:43 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-vobject all 0.9.6.1-2 [40.6 kB] 258s Get:44 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-xapian ppc64el 1.4.22-1build5 [359 kB] 258s Get:45 http://ftpmaster.internal/ubuntu oracular/universe ppc64el subversion ppc64el 1.14.3-1build4 [945 kB] 258s Get:46 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-iniparse all 0.5-2 [20.0 kB] 258s Get:47 http://ftpmaster.internal/ubuntu oracular/universe ppc64el python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 258s Preconfiguring packages ... 258s Fetched 11.3 MB in 1s (9822 kB/s) 258s Selecting previously unselected package emacsen-common. 258s (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 ... 72141 files and directories currently installed.) 258s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 258s Unpacking emacsen-common (3.0.5) ... 258s Selecting previously unselected package dictionaries-common. 258s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 258s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 258s Unpacking dictionaries-common (1.29.7) ... 258s Selecting previously unselected package libgomp1:ppc64el. 258s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_ppc64el.deb ... 258s Unpacking libgomp1:ppc64el (14-20240412-0ubuntu1) ... 258s Selecting previously unselected package gettext. 258s Preparing to unpack .../03-gettext_0.21-14ubuntu2_ppc64el.deb ... 258s Unpacking gettext (0.21-14ubuntu2) ... 258s Selecting previously unselected package hunspell-en-us. 258s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 258s Unpacking hunspell-en-us (1:2020.12.07-2) ... 258s Selecting previously unselected package libapr1t64:ppc64el. 258s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_ppc64el.deb ... 258s Unpacking libapr1t64:ppc64el (1.7.2-3.1build2) ... 258s Selecting previously unselected package libaprutil1t64:ppc64el. 258s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_ppc64el.deb ... 258s Unpacking libaprutil1t64:ppc64el (1.6.3-1.1ubuntu7) ... 258s Selecting previously unselected package libaspell15:ppc64el. 258s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_ppc64el.deb ... 258s Unpacking libaspell15:ppc64el (0.60.8.1-1build1) ... 258s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 258s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 258s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 258s Selecting previously unselected package libenchant-2-2:ppc64el. 258s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_ppc64el.deb ... 258s Unpacking libenchant-2-2:ppc64el (2.3.3-2build2) ... 258s Selecting previously unselected package libexttextcat-data. 258s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 258s Unpacking libexttextcat-data (3.4.7-1build1) ... 258s Selecting previously unselected package libserf-1-1:ppc64el. 258s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_ppc64el.deb ... 258s Unpacking libserf-1-1:ppc64el (1.3.10-1build2) ... 258s Selecting previously unselected package libutf8proc3:ppc64el. 258s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_ppc64el.deb ... 258s Unpacking libutf8proc3:ppc64el (2.9.0-1build1) ... 258s Selecting previously unselected package libsvn1:ppc64el. 258s Preparing to unpack .../13-libsvn1_1.14.3-1build4_ppc64el.deb ... 258s Unpacking libsvn1:ppc64el (1.14.3-1build4) ... 258s Selecting previously unselected package libxapian30:ppc64el. 258s Preparing to unpack .../14-libxapian30_1.4.22-1build1_ppc64el.deb ... 258s Unpacking libxapian30:ppc64el (1.4.22-1build1) ... 258s Selecting previously unselected package libxslt1.1:ppc64el. 259s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_ppc64el.deb ... 259s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1build1) ... 259s Selecting previously unselected package python3-aeidon. 259s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 259s Unpacking python3-aeidon (1.11-2) ... 259s Selecting previously unselected package python3-all. 259s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_ppc64el.deb ... 259s Unpacking python3-all (3.12.3-0ubuntu1) ... 259s Selecting previously unselected package python3-soupsieve. 259s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 259s Unpacking python3-soupsieve (2.5-1) ... 259s Selecting previously unselected package python3-bs4. 259s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 259s Unpacking python3-bs4 (4.12.3-1) ... 259s Selecting previously unselected package python3-more-itertools. 259s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 259s Unpacking python3-more-itertools (10.2.0-1) ... 259s Selecting previously unselected package python3-jaraco.functools. 259s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 259s Unpacking python3-jaraco.functools (4.0.0-1) ... 259s Selecting previously unselected package python3-cheroot. 259s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 259s Unpacking python3-cheroot (10.0.0+ds1-2) ... 259s Selecting previously unselected package python3-dateutil. 259s Preparing to unpack .../23-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 259s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 259s Selecting previously unselected package python3-diff-match-patch. 259s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 259s Unpacking python3-diff-match-patch (20230430-1) ... 259s Selecting previously unselected package python3-enchant. 259s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 259s Unpacking python3-enchant (3.2.2-1) ... 259s Selecting previously unselected package python3-iniconfig. 259s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 259s Unpacking python3-iniconfig (1.1.1-2) ... 259s Selecting previously unselected package python3-rapidfuzz. 259s Preparing to unpack .../27-python3-rapidfuzz_3.6.2+ds-1_ppc64el.deb ... 259s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 259s Selecting previously unselected package python3-levenshtein. 259s Preparing to unpack .../28-python3-levenshtein_0.25.1-2_ppc64el.deb ... 259s Unpacking python3-levenshtein (0.25.1-2) ... 259s Selecting previously unselected package python3-lxml:ppc64el. 259s Preparing to unpack .../29-python3-lxml_5.2.1-1_ppc64el.deb ... 259s Unpacking python3-lxml:ppc64el (5.2.1-1) ... 259s Selecting previously unselected package python3-mistletoe. 259s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 259s Unpacking python3-mistletoe (1.3.0-1) ... 259s Selecting previously unselected package python3-packaging. 259s Preparing to unpack .../31-python3-packaging_24.0-1_all.deb ... 259s Unpacking python3-packaging (24.0-1) ... 259s Selecting previously unselected package python3-ply. 259s Preparing to unpack .../32-python3-ply_3.11-6_all.deb ... 259s Unpacking python3-ply (3.11-6) ... 259s Selecting previously unselected package python3-phply. 259s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 259s Unpacking python3-phply (1.2.6-1) ... 259s Selecting previously unselected package python3-pluggy. 259s Preparing to unpack .../34-python3-pluggy_1.4.0-1_all.deb ... 259s Unpacking python3-pluggy (1.4.0-1) ... 259s Selecting previously unselected package python3-pytest. 259s Preparing to unpack .../35-python3-pytest_7.4.4-1_all.deb ... 259s Unpacking python3-pytest (7.4.4-1) ... 259s Selecting previously unselected package python3-ruamel.yaml.clib:ppc64el. 259s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-1_ppc64el.deb ... 259s Unpacking python3-ruamel.yaml.clib:ppc64el (0.2.8+ds-1) ... 259s Selecting previously unselected package python3-ruamel.yaml. 259s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 259s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 259s Selecting previously unselected package python3-simplejson. 259s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_ppc64el.deb ... 259s Unpacking python3-simplejson (3.19.2-1build2) ... 259s Selecting previously unselected package python3-syrupy. 259s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 259s Unpacking python3-syrupy (4.6.1-1) ... 259s Selecting previously unselected package python3-translate. 259s Preparing to unpack .../40-python3-translate_3.12.2-1ubuntu1_all.deb ... 259s Unpacking python3-translate (3.12.2-1ubuntu1) ... 259s Selecting previously unselected package python3-vobject. 259s Preparing to unpack .../41-python3-vobject_0.9.6.1-2_all.deb ... 259s Unpacking python3-vobject (0.9.6.1-2) ... 259s Selecting previously unselected package python3-xapian. 259s Preparing to unpack .../42-python3-xapian_1.4.22-1build5_ppc64el.deb ... 259s Unpacking python3-xapian (1.4.22-1build5) ... 259s Selecting previously unselected package subversion. 259s Preparing to unpack .../43-subversion_1.14.3-1build4_ppc64el.deb ... 259s Unpacking subversion (1.14.3-1build4) ... 259s Selecting previously unselected package python3-iniparse. 259s Preparing to unpack .../44-python3-iniparse_0.5-2_all.deb ... 259s Unpacking python3-iniparse (0.5-2) ... 259s Selecting previously unselected package python3-pycountry. 259s Preparing to unpack .../45-python3-pycountry_23.12.11+ds1-2_all.deb ... 259s Unpacking python3-pycountry (23.12.11+ds1-2) ... 259s Selecting previously unselected package autopkgtest-satdep. 259s Preparing to unpack .../46-2-autopkgtest-satdep.deb ... 259s Unpacking autopkgtest-satdep (0) ... 259s Setting up python3-more-itertools (10.2.0-1) ... 260s Setting up python3-iniconfig (1.1.1-2) ... 260s Setting up libxapian30:ppc64el (1.4.22-1build1) ... 260s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 260s Setting up python3-diff-match-patch (20230430-1) ... 260s Setting up python3-jaraco.functools (4.0.0-1) ... 260s Setting up python3-aeidon (1.11-2) ... 260s Setting up libutf8proc3:ppc64el (2.9.0-1build1) ... 260s Setting up libaspell15:ppc64el (0.60.8.1-1build1) ... 260s Setting up python3-ply (3.11-6) ... 261s Setting up python3-ruamel.yaml.clib:ppc64el (0.2.8+ds-1) ... 261s Setting up python3-all (3.12.3-0ubuntu1) ... 261s Setting up libgomp1:ppc64el (14-20240412-0ubuntu1) ... 261s Setting up python3-simplejson (3.19.2-1build2) ... 261s Setting up python3-packaging (24.0-1) ... 261s Setting up emacsen-common (3.0.5) ... 261s Setting up python3-cheroot (10.0.0+ds1-2) ... 261s Setting up python3-pycountry (23.12.11+ds1-2) ... 261s Setting up python3-xapian (1.4.22-1build5) ... 261s Setting up python3-pluggy (1.4.0-1) ... 262s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 262s Setting up python3-mistletoe (1.3.0-1) ... 262s Setting up libexttextcat-data (3.4.7-1build1) ... 262s Setting up libapr1t64:ppc64el (1.7.2-3.1build2) ... 262s Setting up libxslt1.1:ppc64el (1.1.39-0exp1build1) ... 262s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 262s Setting up python3-levenshtein (0.25.1-2) ... 262s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 262s Setting up python3-soupsieve (2.5-1) ... 263s Setting up python3-iniparse (0.5-2) ... 263s Setting up libaprutil1t64:ppc64el (1.6.3-1.1ubuntu7) ... 263s Setting up python3-vobject (0.9.6.1-2) ... 263s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 263s patterns['name'] = '[a-zA-Z0-9\-_]+' 263s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 263s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 263s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 263s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 263s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 263s """ 263s Setting up gettext (0.21-14ubuntu2) ... 263s Setting up python3-phply (1.2.6-1) ... 263s Setting up dictionaries-common (1.29.7) ... 263s Setting up python3-pytest (7.4.4-1) ... 264s Setting up python3-syrupy (4.6.1-1) ... 264s Setting up libserf-1-1:ppc64el (1.3.10-1build2) ... 264s Setting up python3-bs4 (4.12.3-1) ... 264s Setting up python3-lxml:ppc64el (5.2.1-1) ... 264s Setting up hunspell-en-us (1:2020.12.07-2) ... 264s Setting up libsvn1:ppc64el (1.14.3-1build4) ... 264s Setting up libenchant-2-2:ppc64el (2.3.3-2build2) ... 264s Setting up subversion (1.14.3-1build4) ... 265s Setting up python3-enchant (3.2.2-1) ... 265s Setting up python3-translate (3.12.2-1ubuntu1) ... 265s Setting up autopkgtest-satdep (0) ... 265s Processing triggers for man-db (2.12.0-4build2) ... 266s Processing triggers for install-info (7.1-3build2) ... 266s Processing triggers for libc-bin (2.39-0ubuntu8) ... 266s Processing triggers for dictionaries-common (1.29.7) ... 269s (Reading database ... 75614 files and directories currently installed.) 269s Removing autopkgtest-satdep (0) ... 271s autopkgtest [04:20:40]: test python3-translate: [----------------------- 272s ============================= test session starts ============================== 272s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 272s cachedir: .pytest_cache 272s rootdir: /tmp/autopkgtest.SoRaz4/autopkgtest_tmp 272s plugins: syrupy-4.6.1 278s collecting ... collected 3313 items / 2 skipped 278s 278s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 278s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 278s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 278s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 278s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 278s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 278s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 278s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 278s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 278s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 278s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 278s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 278s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 278s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 278s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 279s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 279s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 279s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 279s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 279s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 279s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 279s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 279s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 279s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 279s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 279s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 279s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 279s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 279s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 279s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 279s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 279s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 279s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 279s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 279s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 279s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 279s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 280s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 280s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 280s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 280s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 280s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 280s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 280s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 280s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 280s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 280s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 280s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 280s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 280s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 280s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 280s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 280s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 280s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 280s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 280s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 281s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 281s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 281s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 281s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 281s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 281s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 281s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 281s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 281s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 281s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 281s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 281s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 281s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 281s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 281s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 281s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 281s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 281s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 281s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 281s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 282s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 282s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 282s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 282s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 282s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 282s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 282s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 282s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 282s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 282s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 282s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 282s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 282s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 282s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 282s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 282s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 282s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 282s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 282s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 282s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 282s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 282s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 283s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 283s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 283s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 283s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 283s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 283s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 283s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 283s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 283s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 283s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 283s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 283s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 283s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 283s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 283s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 283s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 283s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 283s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 283s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 283s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 283s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 283s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 283s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 283s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 283s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 283s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 283s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 283s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 283s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 283s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 283s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 283s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 283s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 283s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 283s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 283s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 283s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 283s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 283s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 283s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 283s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 283s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 283s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 283s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 283s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 283s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 283s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 283s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 283s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 283s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 283s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 283s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 283s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 283s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 283s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 283s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 283s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 283s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 283s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 283s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 283s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 283s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 283s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 283s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 283s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 283s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 283s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 283s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 283s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 284s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 284s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 284s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 284s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 284s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 284s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 284s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 284s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 284s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 284s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 284s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 284s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 284s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 284s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 284s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 284s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 284s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 284s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 284s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 284s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 285s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 285s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 285s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 285s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 285s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 285s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 285s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 285s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 285s 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%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 285s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 285s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 285s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 285s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 285s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 285s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 285s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 285s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 285s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 285s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 285s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 285s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 285s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 285s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 285s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 285s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 286s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 286s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 286s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 286s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 286s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 286s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 286s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 286s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 286s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 286s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 287s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 287s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 287s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 287s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 287s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 287s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 287s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 287s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 287s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 287s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 287s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 287s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 287s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 287s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 287s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 288s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 288s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 288s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 288s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 288s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 288s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 288s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 288s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 288s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 288s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 288s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 288s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 288s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 288s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 288s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 288s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 288s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 288s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 288s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 288s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 288s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 288s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 288s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 289s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 289s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 289s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 289s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 289s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 290s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 290s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 290s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 290s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 290s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 290s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 290s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 290s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 290s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 290s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 290s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 290s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 290s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 290s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 290s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 290s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 290s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 290s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 290s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 290s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 290s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 290s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 290s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 290s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 290s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 290s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 290s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 290s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 290s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 291s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 291s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 291s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 291s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 291s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 291s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 291s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 291s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 291s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 291s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 291s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 291s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 291s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 291s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 291s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 292s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 292s 292s =============================== warnings summary =============================== 292s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 292s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.SoRaz4/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 292s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 292s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 292s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 292s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 292s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 292s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 292s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 292s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 292s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 292s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 292s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 292s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 292s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 292s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 292s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 292s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 292s Warning: Could not find accesskey for key.accesskey 292s 292s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 292s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 292s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 292s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 292s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 292s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.SoRaz4/autopkgtest_tmp/tests/translate/convert/test.idml'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 292s Warning: unclosed file <_io.BufferedReader name='translation.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 292s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 292s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 292s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 292s Warning: Could not find accesskey for prop.accesskey 292s 292s tests/translate/convert/test_po2tmx.py: 26 warnings 292s tests/translate/filters/test_pofilter.py: 13 warnings 292s tests/translate/storage/test_tbx.py: 17 warnings 292s tests/translate/storage/test_tmx.py: 24 warnings 292s 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' 292s 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 292s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 292s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 292s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 292s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 292s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 292s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 292s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 292s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 292s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 292s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 292s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.SoRaz4/autopkgtest_tmp/tests/translate/convert/test.odt'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 292s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 292s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 292s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 292s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 292s Enable tracemalloc to get traceback where the object was allocated. 292s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 292s 292s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 292s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 292s 292s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 292s Warning: DTD file '' does not validate 292s 292s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 292s --------------------------- snapshot report summary ---------------------------- 292s 23 snapshots passed. 292s =========================== short test summary info ============================ 292s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 292s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 292s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 292s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 292s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 292s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 292s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 292s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 292s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 292s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 292s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 292s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 292s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 292s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 292s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 292s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 292s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 292s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 292s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 292s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 292s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 292s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 292s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 292s 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. 292s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 292s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 292s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 292s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 292s 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 292s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 292s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 292s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 292s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 292s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 292s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 292s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 292s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 292s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 292s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 292s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 292s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 292s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 292s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 292s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 292s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 292s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 292s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 20.36s ========== 293s autopkgtest [04:21:02]: test python3-translate: -----------------------] 293s python3-translate PASS 293s autopkgtest [04:21:02]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 294s autopkgtest [04:21:03]: test python3-translate-commands: preparing testbed 295s Reading package lists... 295s Building dependency tree... 295s Reading state information... 295s Starting pkgProblemResolver with broken count: 0 295s Starting 2 pkgProblemResolver with broken count: 0 295s Done 295s The following additional packages will be installed: 295s translate-toolkit 295s Recommended packages: 295s translate-toolkit-doc 295s The following NEW packages will be installed: 295s autopkgtest-satdep translate-toolkit 295s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 295s Need to get 88.2 kB/89.1 kB of archives. 295s After this operation, 253 kB of additional disk space will be used. 295s Get:1 /tmp/autopkgtest.SoRaz4/3-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [892 B] 296s Get:2 http://ftpmaster.internal/ubuntu oracular/universe ppc64el translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 296s Fetched 88.2 kB in 0s (313 kB/s) 296s Selecting previously unselected package translate-toolkit. 296s (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 ... 75614 files and directories currently installed.) 296s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 296s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 296s Selecting previously unselected package autopkgtest-satdep. 296s Preparing to unpack .../3-autopkgtest-satdep.deb ... 296s Unpacking autopkgtest-satdep (0) ... 296s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 296s Setting up autopkgtest-satdep (0) ... 296s Processing triggers for man-db (2.12.0-4build2) ... 298s (Reading database ... 75787 files and directories currently installed.) 298s Removing autopkgtest-satdep (0) ... 299s autopkgtest [04:21:08]: test python3-translate-commands: [----------------------- 299s ============================= test session starts ============================== 299s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 299s cachedir: .pytest_cache 299s rootdir: /tmp/autopkgtest.SoRaz4/autopkgtest_tmp 299s plugins: syrupy-4.6.1 306s collecting ... collected 3313 items / 2 skipped 306s 306s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 306s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 306s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 306s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 306s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 306s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 306s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 306s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 306s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 306s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 306s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 306s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 306s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 306s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 306s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 306s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 306s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 306s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 306s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 306s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 306s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 306s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 306s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 306s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 306s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 306s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 306s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 306s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 306s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 306s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 306s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 306s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 306s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 306s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 307s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 307s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 307s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 307s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 307s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 307s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 307s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 307s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 307s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 307s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 307s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 307s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 307s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 307s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 307s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 307s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 307s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 307s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 307s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 307s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 307s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 309s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 309s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 309s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 309s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 309s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 309s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 310s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 310s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 310s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 310s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 310s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 310s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 310s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 310s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 310s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 310s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 310s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 310s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 310s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 310s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 310s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 310s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 310s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 310s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 310s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 311s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 311s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 311s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 311s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 311s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 311s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 311s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 311s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 311s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 311s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 311s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 311s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 311s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 311s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 311s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 311s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 311s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 311s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 311s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 311s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 311s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 311s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 311s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 311s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 311s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 311s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 311s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 311s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 311s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 311s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 311s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 311s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 311s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 311s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 311s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 311s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 311s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 311s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 311s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 311s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 311s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 311s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 311s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 311s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 311s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 311s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 311s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 311s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 311s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 311s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 311s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 311s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 311s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 311s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 311s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 311s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 311s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 311s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 311s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 311s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 311s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 311s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 311s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 312s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 312s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 312s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 312s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 312s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 312s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 312s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 312s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 312s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 312s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 312s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 312s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 312s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 312s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 312s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 312s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 312s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 312s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 312s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 312s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 312s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 313s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 313s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 313s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 313s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 313s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 313s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 313s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 313s 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%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 313s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 313s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 313s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 313s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 313s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 313s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 313s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 313s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 313s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 313s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 313s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 313s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 313s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 313s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 313s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 313s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 313s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 313s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 313s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 313s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 315s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 315s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 315s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 315s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 315s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 315s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 315s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 315s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 315s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 315s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 315s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 315s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 315s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 315s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 315s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 315s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 315s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 315s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 316s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 316s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 316s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 316s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 316s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 316s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 316s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 316s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 316s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 316s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 316s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 316s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 316s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 316s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 316s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 316s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 316s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 316s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 316s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 316s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 316s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 318s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 318s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 318s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 318s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 318s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 318s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 318s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 318s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 318s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 318s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 318s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 318s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 318s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 318s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 318s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 318s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 318s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 318s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 319s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 319s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 319s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 319s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 319s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 320s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 320s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 320s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 320s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 320s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 320s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 321s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 321s 321s =============================== warnings summary =============================== 321s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 321s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.SoRaz4/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 321s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 321s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 321s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 321s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 321s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 321s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 321s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 321s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 321s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 321s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 321s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 321s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 321s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 321s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 321s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 321s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 321s Warning: Could not find accesskey for key.accesskey 321s 321s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 321s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 321s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 321s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 321s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 321s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.SoRaz4/autopkgtest_tmp/tests/translate/convert/test.idml'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 321s Warning: unclosed file <_io.BufferedReader name='translation.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 321s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 321s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 321s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 321s Warning: Could not find accesskey for prop.accesskey 321s 321s tests/translate/convert/test_po2tmx.py: 26 warnings 321s tests/translate/filters/test_pofilter.py: 13 warnings 321s tests/translate/storage/test_tbx.py: 17 warnings 321s tests/translate/storage/test_tmx.py: 24 warnings 321s 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' 321s 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 321s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 321s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 321s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 321s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 321s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 321s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 321s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 321s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 321s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 321s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 321s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.SoRaz4/autopkgtest_tmp/tests/translate/convert/test.odt'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 321s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 321s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 321s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 321s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 321s Enable tracemalloc to get traceback where the object was allocated. 321s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 321s 321s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 321s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 321s 321s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 321s Warning: DTD file '' does not validate 321s 321s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 321s --------------------------- snapshot report summary ---------------------------- 321s 23 snapshots passed. 321s =========================== short test summary info ============================ 321s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 321s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 321s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 321s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 321s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 321s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 321s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 321s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 321s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 321s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 321s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 321s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 321s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 321s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 321s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 321s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 321s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 321s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 321s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 321s 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. 321s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 321s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 321s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 321s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 321s 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 321s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 321s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 321s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 321s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 321s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 321s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 321s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 321s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 321s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 321s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 321s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 321s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 321s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 321s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 321s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 321s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 321s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 321s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 21.88s ========== 322s autopkgtest [04:21:31]: test python3-translate-commands: -----------------------] 322s python3-translate-commands PASS 322s autopkgtest [04:21:31]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 323s autopkgtest [04:21:32]: @@@@@@@@@@@@@@@@@@@@ summary 323s translate-toolkit PASS 323s python3-translate PASS 323s python3-translate-commands PASS 334s Creating nova instance adt-oracular-ppc64el-translate-toolkit-20240506-041609-juju-7f2275-prod-proposed-migration-environment-2-757ca59a-518c-4f00-b893-019805343ce6 from image adt/ubuntu-oracular-ppc64el-server-20240506.img (UUID f810e431-b381-4ffb-84e7-799f37741a4b)... 334s Creating nova instance adt-oracular-ppc64el-translate-toolkit-20240506-041609-juju-7f2275-prod-proposed-migration-environment-2-757ca59a-518c-4f00-b893-019805343ce6 from image adt/ubuntu-oracular-ppc64el-server-20240506.img (UUID f810e431-b381-4ffb-84e7-799f37741a4b)...