0s autopkgtest [17:53:40]: starting date and time: 2024-05-11 17:53:40+0000 0s autopkgtest [17:53:40]: git checkout: 43bc6cdf gitlab-ci: do not include the salsa pipeline 0s autopkgtest [17:53:40]: host juju-7f2275-prod-proposed-migration-environment-4; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.doaw1s2s/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:xapian-bindings --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=xapian-bindings/1.4.25-1 -- lxd -r lxd-armhf-10.145.243.108 lxd-armhf-10.145.243.108:autopkgtest/ubuntu/oracular/armhf 26s autopkgtest [17:54:06]: testbed dpkg architecture: armhf 28s autopkgtest [17:54:08]: testbed apt version: 2.7.14build2 28s autopkgtest [17:54:08]: @@@@@@@@@@@@@@@@@@@@ test bed setup 36s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 36s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [121 kB] 36s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [16.8 kB] 36s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1170 kB] 37s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 37s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [167 kB] 37s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [957 kB] 37s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [19.2 kB] 37s Fetched 2527 kB in 1s (2280 kB/s) 37s Reading package lists... 61s tee: /proc/self/fd/2: Permission denied 87s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 87s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 87s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 87s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 90s Reading package lists... 90s Reading package lists... 90s Building dependency tree... 90s Reading state information... 90s Calculating upgrade... 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s Reading package lists... 91s Building dependency tree... 91s Reading state information... 92s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s autopkgtest [17:55:14]: rebooting testbed after setup commands that affected boot 132s autopkgtest [17:55:52]: testbed running kernel: Linux 5.15.0-106-generic #116-Ubuntu SMP Wed Apr 17 09:19:22 UTC 2024 157s autopkgtest [17:56:17]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 174s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 174s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 174s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 174s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 174s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 174s gpgv: Can't check signature: No public key 174s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 174s autopkgtest [17:56:34]: testing package translate-toolkit version 3.12.2-1ubuntu1 176s autopkgtest [17:56:36]: build not needed 178s autopkgtest [17:56:38]: test translate-toolkit: preparing testbed 187s Reading package lists... 188s Building dependency tree... 188s Reading state information... 188s Starting pkgProblemResolver with broken count: 0 188s Starting 2 pkgProblemResolver with broken count: 0 188s Done 192s The following additional packages will be installed: 192s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 192s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 192s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 192s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 192s python3-diff-match-patch python3-enchant python3-iniparse 192s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 192s python3-more-itertools python3-phply python3-ply python3-pycountry 192s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 192s python3-simplejson python3-soupsieve python3-translate python3-vobject 192s python3-xapian subversion translate-toolkit 192s Suggested packages: 192s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 192s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 192s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 192s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 192s libapache2-mod-svn subversion-tools 192s Recommended packages: 192s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 192s python3-cssselect python3-html5lib translate-toolkit-doc 192s The following NEW packages will be installed: 192s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 192s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 192s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 192s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 192s python3-diff-match-patch python3-enchant python3-iniparse 192s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 192s python3-more-itertools python3-phply python3-ply python3-pycountry 192s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 192s python3-simplejson python3-soupsieve python3-translate python3-vobject 192s python3-xapian subversion translate-toolkit 192s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 192s Need to get 9974 kB/9975 kB of archives. 192s After this operation, 38.3 MB of additional disk space will be used. 192s Get:1 /tmp/autopkgtest.kTjZlm/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [868 B] 192s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 192s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 192s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14-20240412-0ubuntu1 [125 kB] 192s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.21-14ubuntu2 [800 kB] 192s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 192s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.1build2 [86.1 kB] 192s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-1.1ubuntu7 [82.3 kB] 192s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 192s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 192s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 192s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 192s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-1build2 [40.3 kB] 192s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 192s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-1build4 [1200 kB] 192s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 192s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 192s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.11-2 [221 kB] 192s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 192s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 192s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.2.0-1 [52.9 kB] 192s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 192s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 192s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 192s Get:25 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 192s Get:26 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 192s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.6.2+ds-1 [1200 kB] 192s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-2 [139 kB] 192s Get:29 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.1-1 [1200 kB] 192s Get:30 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 192s Get:31 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 192s Get:32 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 192s Get:33 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml.clib armhf 0.2.8-1build1 [120 kB] 192s Get:34 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 192s Get:35 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 192s Get:36 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.12.2-1ubuntu1 [318 kB] 192s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 192s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-xapian armhf 1.4.25-1 [436 kB] 192s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-1build4 [890 kB] 192s Get:40 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 192s Get:41 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 192s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 192s Preconfiguring packages ... 192s Fetched 9974 kB in 1s (9451 kB/s) 192s Selecting previously unselected package emacsen-common. 192s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57881 files and directories currently installed.) 192s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 192s Unpacking emacsen-common (3.0.5) ... 192s Selecting previously unselected package dictionaries-common. 192s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 192s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 192s Unpacking dictionaries-common (1.29.7) ... 192s Selecting previously unselected package libgomp1:armhf. 192s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_armhf.deb ... 192s Unpacking libgomp1:armhf (14-20240412-0ubuntu1) ... 192s Selecting previously unselected package gettext. 192s Preparing to unpack .../03-gettext_0.21-14ubuntu2_armhf.deb ... 192s Unpacking gettext (0.21-14ubuntu2) ... 192s Selecting previously unselected package hunspell-en-us. 192s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 192s Unpacking hunspell-en-us (1:2020.12.07-2) ... 192s Selecting previously unselected package libapr1t64:armhf. 192s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_armhf.deb ... 192s Unpacking libapr1t64:armhf (1.7.2-3.1build2) ... 192s Selecting previously unselected package libaprutil1t64:armhf. 192s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_armhf.deb ... 192s Unpacking libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 192s Selecting previously unselected package libaspell15:armhf. 192s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 192s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 192s Selecting previously unselected package libhunspell-1.7-0:armhf. 192s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 192s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 192s Selecting previously unselected package libenchant-2-2:armhf. 192s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 192s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 192s Selecting previously unselected package libexttextcat-data. 192s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 192s Unpacking libexttextcat-data (3.4.7-1build1) ... 192s Selecting previously unselected package libserf-1-1:armhf. 192s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_armhf.deb ... 192s Unpacking libserf-1-1:armhf (1.3.10-1build2) ... 192s Selecting previously unselected package libutf8proc3:armhf. 192s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 192s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 192s Selecting previously unselected package libsvn1:armhf. 192s Preparing to unpack .../13-libsvn1_1.14.3-1build4_armhf.deb ... 192s Unpacking libsvn1:armhf (1.14.3-1build4) ... 192s Selecting previously unselected package libxapian30:armhf. 192s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 192s Unpacking libxapian30:armhf (1.4.22-1build1) ... 192s Selecting previously unselected package libxslt1.1:armhf. 192s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 192s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 192s Selecting previously unselected package python3-aeidon. 192s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 192s Unpacking python3-aeidon (1.11-2) ... 192s Selecting previously unselected package python3-soupsieve. 192s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 192s Unpacking python3-soupsieve (2.5-1) ... 192s Selecting previously unselected package python3-bs4. 192s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 192s Unpacking python3-bs4 (4.12.3-1) ... 192s Selecting previously unselected package python3-more-itertools. 192s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 192s Unpacking python3-more-itertools (10.2.0-1) ... 192s Selecting previously unselected package python3-jaraco.functools. 192s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 192s Unpacking python3-jaraco.functools (4.0.0-1) ... 192s Selecting previously unselected package python3-cheroot. 192s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 192s Unpacking python3-cheroot (10.0.0+ds1-2) ... 192s Selecting previously unselected package python3-dateutil. 192s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 192s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 192s Selecting previously unselected package python3-diff-match-patch. 192s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 192s Unpacking python3-diff-match-patch (20230430-1) ... 192s Selecting previously unselected package python3-enchant. 192s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 192s Unpacking python3-enchant (3.2.2-1) ... 192s Selecting previously unselected package python3-rapidfuzz. 192s Preparing to unpack .../25-python3-rapidfuzz_3.6.2+ds-1_armhf.deb ... 192s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 192s Selecting previously unselected package python3-levenshtein. 192s Preparing to unpack .../26-python3-levenshtein_0.25.1-2_armhf.deb ... 192s Unpacking python3-levenshtein (0.25.1-2) ... 192s Selecting previously unselected package python3-lxml:armhf. 192s Preparing to unpack .../27-python3-lxml_5.2.1-1_armhf.deb ... 192s Unpacking python3-lxml:armhf (5.2.1-1) ... 192s Selecting previously unselected package python3-mistletoe. 192s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 192s Unpacking python3-mistletoe (1.3.0-1) ... 192s Selecting previously unselected package python3-ply. 192s Preparing to unpack .../29-python3-ply_3.11-6_all.deb ... 192s Unpacking python3-ply (3.11-6) ... 192s Selecting previously unselected package python3-phply. 192s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 192s Unpacking python3-phply (1.2.6-1) ... 192s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 192s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8-1build1_armhf.deb ... 192s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 192s Selecting previously unselected package python3-ruamel.yaml. 192s Preparing to unpack .../32-python3-ruamel.yaml_0.17.21-1_all.deb ... 192s Unpacking python3-ruamel.yaml (0.17.21-1) ... 192s Selecting previously unselected package python3-simplejson. 192s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_armhf.deb ... 192s Unpacking python3-simplejson (3.19.2-1build2) ... 192s Selecting previously unselected package python3-translate. 192s Preparing to unpack .../34-python3-translate_3.12.2-1ubuntu1_all.deb ... 192s Unpacking python3-translate (3.12.2-1ubuntu1) ... 192s Selecting previously unselected package python3-vobject. 192s Preparing to unpack .../35-python3-vobject_0.9.6.1-2_all.deb ... 192s Unpacking python3-vobject (0.9.6.1-2) ... 192s Selecting previously unselected package python3-xapian. 192s Preparing to unpack .../36-python3-xapian_1.4.25-1_armhf.deb ... 192s Unpacking python3-xapian (1.4.25-1) ... 192s Selecting previously unselected package subversion. 192s Preparing to unpack .../37-subversion_1.14.3-1build4_armhf.deb ... 192s Unpacking subversion (1.14.3-1build4) ... 192s Selecting previously unselected package translate-toolkit. 192s Preparing to unpack .../38-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 192s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 192s Selecting previously unselected package python3-iniparse. 192s Preparing to unpack .../39-python3-iniparse_0.5-2_all.deb ... 192s Unpacking python3-iniparse (0.5-2) ... 192s Selecting previously unselected package python3-pycountry. 192s Preparing to unpack .../40-python3-pycountry_23.12.11+ds1-2_all.deb ... 192s Unpacking python3-pycountry (23.12.11+ds1-2) ... 192s Selecting previously unselected package autopkgtest-satdep. 192s Preparing to unpack .../41-1-autopkgtest-satdep.deb ... 192s Unpacking autopkgtest-satdep (0) ... 192s Setting up python3-more-itertools (10.2.0-1) ... 193s Setting up libxapian30:armhf (1.4.22-1build1) ... 193s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 193s Setting up python3-diff-match-patch (20230430-1) ... 193s Setting up python3-jaraco.functools (4.0.0-1) ... 193s Setting up python3-aeidon (1.11-2) ... 194s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 194s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 194s Setting up python3-ply (3.11-6) ... 194s Setting up python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 194s Setting up libgomp1:armhf (14-20240412-0ubuntu1) ... 194s Setting up python3-simplejson (3.19.2-1build2) ... 194s Setting up emacsen-common (3.0.5) ... 194s Setting up python3-cheroot (10.0.0+ds1-2) ... 194s Setting up python3-pycountry (23.12.11+ds1-2) ... 194s Setting up python3-xapian (1.4.25-1) ... 194s Setting up python3-ruamel.yaml (0.17.21-1) ... 194s Setting up python3-mistletoe (1.3.0-1) ... 195s Setting up libexttextcat-data (3.4.7-1build1) ... 195s Setting up libapr1t64:armhf (1.7.2-3.1build2) ... 195s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 195s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 195s Setting up python3-levenshtein (0.25.1-2) ... 195s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 195s Setting up python3-soupsieve (2.5-1) ... 195s Setting up python3-iniparse (0.5-2) ... 195s Setting up libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 195s Setting up python3-vobject (0.9.6.1-2) ... 196s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 196s patterns['name'] = '[a-zA-Z0-9\-_]+' 196s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 196s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 196s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 196s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 196s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 196s """ 196s Setting up gettext (0.21-14ubuntu2) ... 196s Setting up python3-phply (1.2.6-1) ... 196s Setting up dictionaries-common (1.29.7) ... 196s Setting up libserf-1-1:armhf (1.3.10-1build2) ... 196s Setting up python3-bs4 (4.12.3-1) ... 197s Setting up python3-lxml:armhf (5.2.1-1) ... 197s Setting up hunspell-en-us (1:2020.12.07-2) ... 197s Setting up libsvn1:armhf (1.14.3-1build4) ... 197s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 197s Setting up subversion (1.14.3-1build4) ... 197s Setting up python3-enchant (3.2.2-1) ... 197s Setting up python3-translate (3.12.2-1ubuntu1) ... 197s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 197s Setting up autopkgtest-satdep (0) ... 197s Processing triggers for man-db (2.12.0-4build2) ... 199s Processing triggers for install-info (7.1-3build2) ... 199s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 199s Processing triggers for dictionaries-common (1.29.7) ... 213s (Reading database ... 61313 files and directories currently installed.) 213s Removing autopkgtest-satdep (0) ... 218s autopkgtest [17:57:18]: test translate-toolkit: [----------------------- 220s ========= SMOKE TEST: /usr/bin/android2po =========== 220s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 220s 220s Convert Android string files to Gettext PO localization files. See: 220s http://docs.translatehouse.org/projects/translate- 220s toolkit/en/latest/commands/android2po.html for examples and usage 220s instructions. 220s 220s Options: 220s --version show program's version number and exit 220s -h, --help show this help message and exit 220s --manpage output a manpage based on the help 220s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 220s --errorlevel=ERRORLEVEL 220s show errorlevel as: none, message, exception, 220s traceback 220s -i INPUT, --input=INPUT 220s read from INPUT in xml format 220s -x EXCLUDE, --exclude=EXCLUDE 220s exclude names matching EXCLUDE from input paths 220s -o OUTPUT, --output=OUTPUT 220s write to OUTPUT in po, pot formats 220s -t TEMPLATE, --template=TEMPLATE 220s read from TEMPLATE in xml format 220s -S, --timestamp skip conversion if the output file has newer timestamp 220s --duplicates=DUPLICATESTYLE 220s what to do with duplicate strings (identical source 220s text): merge, msgctxt (default: 'msgctxt') 220s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 220s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 220s input files [input files ...] 220s 220s positional arguments: 220s input files 220s 220s options: 220s -h, --help show this help message and exit 220s -d TMDB_FILE, --tmdb TMDB_FILE 220s translation memory database file (default: tm.db) 220s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 220s source language of translation files (default: en) 220s -t TARGET_LANG, --import-target-lang TARGET_LANG 220s target language of translation files 221s ========= SMOKE TEST: /usr/bin/buildxpi =========== 221s usage: Usage: buildxpi.py [] [ ...] 221s 221s positional arguments: 221s langs 221s 221s options: 221s -h, --help show this help message and exit 221s -L L10NBASE, --l10n-base L10NBASE 221s The directory containing the subdirectory. 221s -o OUTPUTDIR, --output-dir OUTPUTDIR 221s The directory to copy the built XPI to (default: 221s current directory). 221s -p MOZPRODUCT, --mozproduct MOZPRODUCT 221s The Mozilla product name (default: "browser"). 221s -s SRCDIR, --src SRCDIR 221s The directory containing the Mozilla l10n sources. 221s -d, --delete-dest Delete output XPI if it already exists. 221s -v, --verbose Be more noisy 221s --soft-max-version Override a fixed max version with one to cover the 221s whole cycle e.g. 24.0a1 becomes 24.0.* 221s ========= SMOKE TEST: /usr/bin/csv2po =========== 221s 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] 221s 221s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 221s See: http://docs.translatehouse.org/projects/translate- 221s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 221s 221s Options: 221s --version show program's version number and exit 221s -h, --help show this help message and exit 221s --manpage output a manpage based on the help 221s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 221s --errorlevel=ERRORLEVEL 221s show errorlevel as: none, message, exception, 221s traceback 221s -i INPUT, --input=INPUT 221s read from INPUT in csv format 221s -x EXCLUDE, --exclude=EXCLUDE 221s exclude names matching EXCLUDE from input paths 221s -o OUTPUT, --output=OUTPUT 221s write to OUTPUT in po, pot formats 221s -t TEMPLATE, --template=TEMPLATE 221s read from TEMPLATE in po, pot, pot formats 221s -S, --timestamp skip conversion if the output file has newer timestamp 221s -P, --pot output PO Templates (.pot) rather than PO files (.po) 221s --charset=CHARSET set charset to decode from csv files 221s --columnorder=COLUMNORDER 221s specify the order and position of columns 221s (location,source,target) 221s --duplicates=DUPLICATESTYLE 221s what to do with duplicate strings (identical source 221s text): merge, msgctxt (default: 'msgctxt') 221s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 221s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 221s 221s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 221s glossary file. See: http://docs.translatehouse.org/projects/translate- 221s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 221s 221s Options: 221s --version show program's version number and exit 221s -h, --help show this help message and exit 221s --manpage output a manpage based on the help 221s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 221s --errorlevel=ERRORLEVEL 221s show errorlevel as: none, message, exception, 221s traceback 221s -i INPUT, --input=INPUT 221s read from INPUT in csv format 221s -x EXCLUDE, --exclude=EXCLUDE 221s exclude names matching EXCLUDE from input paths 221s -o OUTPUT, --output=OUTPUT 221s write to OUTPUT in tbx format 221s -S, --timestamp skip conversion if the output file has newer timestamp 221s --charset=CHARSET set charset to decode from csv files 221s --columnorder=COLUMNORDER 221s specify the order and position of columns 221s (comment,source,target) 221s ========= SMOKE TEST: /usr/bin/dtd2po =========== 221s 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] 221s 221s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 221s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 221s this module You can convert back to .dtd using po2dtd.py. 221s 221s Options: 221s --version show program's version number and exit 221s -h, --help show this help message and exit 221s --manpage output a manpage based on the help 221s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 221s --errorlevel=ERRORLEVEL 221s show errorlevel as: none, message, exception, 221s traceback 221s -i INPUT, --input=INPUT 221s read from INPUT in dtd format 221s -x EXCLUDE, --exclude=EXCLUDE 221s exclude names matching EXCLUDE from input paths 221s -o OUTPUT, --output=OUTPUT 221s write to OUTPUT in po, pot formats 221s -t TEMPLATE, --template=TEMPLATE 221s read from TEMPLATE in dtd format 221s -S, --timestamp skip conversion if the output file has newer timestamp 221s -P, --pot output PO Templates (.pot) rather than PO files (.po) 221s --duplicates=DUPLICATESTYLE 221s what to do with duplicate strings (identical source 221s text): merge, msgctxt (default: 'msgctxt') 221s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 221s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 221s 221s Convert flat XML files to Gettext PO localization files. See: 221s http://docs.translatehouse.org/projects/translate- 221s toolkit/en/latest/commands/flatxml2po.html for examples and usage 221s instructions. 221s 221s Options: 221s --version show program's version number and exit 221s -h, --help show this help message and exit 221s --manpage output a manpage based on the help 221s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 221s --errorlevel=ERRORLEVEL 221s show errorlevel as: none, message, exception, 221s traceback 221s -i INPUT, --input=INPUT 221s read from INPUT in xml format 221s -x EXCLUDE, --exclude=EXCLUDE 221s exclude names matching EXCLUDE from input paths 221s -o OUTPUT, --output=OUTPUT 221s write to OUTPUT in po, pot formats 221s -S, --timestamp skip conversion if the output file has newer timestamp 221s -r ROOT, --root=ROOT name of the XML root element (default: "root") 221s -v VALUE, --value=VALUE 221s name of the XML value element (default: "str") 221s -k KEY, --key=KEY name of the XML key attribute (default: "key") 221s -n NS, --namespace=NS 221s XML namespace uri (default: None) 221s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 221s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 221s [--delete-dest] [-v] 221s 221s options: 221s -h, --help show this help message and exit 221s -s SRCDIR, --src SRCDIR 221s The directory containing the Mozilla l10n sources. 221s -d DESTDIR, --dest DESTDIR 221s The destination directory to copy the en-US locale 221s files to. 221s -p MOZPRODUCT, --mozproduct MOZPRODUCT 221s The Mozilla product name. 221s --delete-dest Delete the destination directory (if it exists). 221s -v, --verbose Be more noisy 222s ========= SMOKE TEST: /usr/bin/html2po =========== 222s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 222s 222s Convert HTML files to Gettext PO localization files. See: 222s http://docs.translatehouse.org/projects/translate- 222s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 222s 222s Options: 222s --version show program's version number and exit 222s -h, --help show this help message and exit 222s --manpage output a manpage based on the help 222s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 222s --errorlevel=ERRORLEVEL 222s show errorlevel as: none, message, exception, 222s traceback 222s -i INPUT, --input=INPUT 222s read from INPUT in htm, html, xhtml formats 222s -x EXCLUDE, --exclude=EXCLUDE 222s exclude names matching EXCLUDE from input paths 222s -o OUTPUT, --output=OUTPUT 222s write to OUTPUT in po, pot formats 222s -S, --timestamp skip conversion if the output file has newer timestamp 222s -P, --pot output PO Templates (.pot) rather than PO files (.po) 222s --keepcomments preserve html comments as translation notes in the 222s output 222s --duplicates=DUPLICATESTYLE 222s what to do with duplicate strings (identical source 222s text): merge, msgctxt (default: 'msgctxt') 222s --multifile=MULTIFILESTYLE 222s how to split po/pot files (single, toplevel or 222s onefile) 222s ========= SMOKE TEST: /usr/bin/ical2po =========== 222s 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] 222s 222s Convert iCalendar files to Gettext PO localization files. See: 222s http://docs.translatehouse.org/projects/translate- 222s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 222s 222s Options: 222s --version show program's version number and exit 222s -h, --help show this help message and exit 222s --manpage output a manpage based on the help 222s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 222s --errorlevel=ERRORLEVEL 222s show errorlevel as: none, message, exception, 222s traceback 222s -i INPUT, --input=INPUT 222s read from INPUT in ics format 222s -x EXCLUDE, --exclude=EXCLUDE 222s exclude names matching EXCLUDE from input paths 222s -o OUTPUT, --output=OUTPUT 222s write to OUTPUT in po, pot formats 222s -t TEMPLATE, --template=TEMPLATE 222s read from TEMPLATE in ics format 222s -S, --timestamp skip conversion if the output file has newer timestamp 222s -P, --pot output PO Templates (.pot) rather than PO files (.po) 222s --duplicates=DUPLICATESTYLE 222s what to do with duplicate strings (identical source 222s text): merge, msgctxt (default: 'msgctxt') 222s ========= SMOKE TEST: /usr/bin/idml2po =========== 222s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 222s 222s Convert IDML files to PO localization files. 222s 222s Options: 222s --version show program's version number and exit 222s -h, --help show this help message and exit 222s --manpage output a manpage based on the help 222s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 222s --errorlevel=ERRORLEVEL 222s show errorlevel as: none, message, exception, 222s traceback 222s -i INPUT, --input=INPUT 222s read from INPUT in idml format 222s -x EXCLUDE, --exclude=EXCLUDE 222s exclude names matching EXCLUDE from input paths 222s -o OUTPUT, --output=OUTPUT 222s write to OUTPUT in po, pot formats 222s -S, --timestamp skip conversion if the output file has newer timestamp 222s ========= SMOKE TEST: /usr/bin/ini2po =========== 222s 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] 222s 222s Convert .ini files to Gettext PO localization files. See: 222s http://docs.translatehouse.org/projects/translate- 222s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 222s 222s Options: 222s --version show program's version number and exit 222s -h, --help show this help message and exit 222s --manpage output a manpage based on the help 222s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 222s --errorlevel=ERRORLEVEL 222s show errorlevel as: none, message, exception, 222s traceback 222s -i INPUT, --input=INPUT 222s read from INPUT in ini, isl, iss formats 222s -x EXCLUDE, --exclude=EXCLUDE 222s exclude names matching EXCLUDE from input paths 222s -o OUTPUT, --output=OUTPUT 222s write to OUTPUT in po, pot formats 222s -t TEMPLATE, --template=TEMPLATE 222s read from TEMPLATE in ini, isl, iss formats 222s -S, --timestamp skip conversion if the output file has newer timestamp 222s -P, --pot output PO Templates (.pot) rather than PO files (.po) 222s --duplicates=DUPLICATESTYLE 222s what to do with duplicate strings (identical source 222s text): merge, msgctxt (default: 'msgctxt') 222s ========= SMOKE TEST: /usr/bin/json2po =========== 222s 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] 222s 222s Convert JSON files to Gettext PO localization files. See: 222s http://docs.translatehouse.org/projects/translate- 222s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 222s 222s Options: 222s --version show program's version number and exit 222s -h, --help show this help message and exit 222s --manpage output a manpage based on the help 222s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 222s --errorlevel=ERRORLEVEL 222s show errorlevel as: none, message, exception, 222s traceback 222s -i INPUT, --input=INPUT 222s read from INPUT in json format 222s -x EXCLUDE, --exclude=EXCLUDE 222s exclude names matching EXCLUDE from input paths 222s -o OUTPUT, --output=OUTPUT 222s write to OUTPUT in po, pot formats 222s -t TEMPLATE, --template=TEMPLATE 222s read from TEMPLATE in json format 222s -S, --timestamp skip conversion if the output file has newer timestamp 222s -P, --pot output PO Templates (.pot) rather than PO files (.po) 222s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 222s everything) 222s --duplicates=DUPLICATESTYLE 222s what to do with duplicate strings (identical source 222s text): merge, msgctxt (default: 'msgctxt') 222s ========= SMOKE TEST: /usr/bin/md2po =========== 223s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 223s 223s Convert Markdown files to Gettext PO localization files. See: 223s http://docs.translatehouse.org/projects/translate- 223s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 223s 223s Options: 223s --version show program's version number and exit 223s -h, --help show this help message and exit 223s --manpage output a manpage based on the help 223s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 223s --errorlevel=ERRORLEVEL 223s show errorlevel as: none, message, exception, 223s traceback 223s -i INPUT, --input=INPUT 223s read from INPUT in markdown, md, text, txt formats 223s -x EXCLUDE, --exclude=EXCLUDE 223s exclude names matching EXCLUDE from input paths 223s -o OUTPUT, --output=OUTPUT 223s write to OUTPUT in po, pot formats 223s -S, --timestamp skip conversion if the output file has newer timestamp 223s -P, --pot output PO Templates (.pot) rather than PO files (.po) 223s --duplicates=DUPLICATESTYLE 223s what to do with duplicate strings (identical source 223s text): merge, msgctxt (default: 'msgctxt') 223s --multifile=MULTIFILESTYLE 223s how to split po/pot files (single, toplevel or 223s onefile) 223s ========= SMOKE TEST: /usr/bin/moz2po =========== 223s 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] 223s 223s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 223s See: http://docs.translatehouse.org/projects/translate- 223s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 223s 223s Options: 223s --version show program's version number and exit 223s -h, --help show this help message and exit 223s --manpage output a manpage based on the help 223s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 223s --errorlevel=ERRORLEVEL 223s show errorlevel as: none, message, exception, 223s traceback 223s -i INPUT, --input=INPUT 223s read from INPUT in *, dtd, inc, ini, it, js, lang, 223s manifest, properties, rdf formats 223s -x EXCLUDE, --exclude=EXCLUDE 223s exclude names matching EXCLUDE from input paths 223s -o OUTPUT, --output=OUTPUT 223s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 223s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 223s lang.pot, manifest, properties.po, properties.pot, rdf 223s formats 223s -t TEMPLATE, --template=TEMPLATE 223s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 223s manifest, properties, rdf formats 223s -S, --timestamp skip conversion if the output file has newer timestamp 223s -P, --pot output PO Templates (.pot) rather than PO files (.po) 223s --duplicates=DUPLICATESTYLE 223s what to do with duplicate strings (identical source 223s text): merge, msgctxt (default: 'msgctxt') 223s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 223s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 223s 223s Convert Mozilla .lang files to Gettext PO localization files. 223s 223s Options: 223s --version show program's version number and exit 223s -h, --help show this help message and exit 223s --manpage output a manpage based on the help 223s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 223s --errorlevel=ERRORLEVEL 223s show errorlevel as: none, message, exception, 223s traceback 223s -i INPUT, --input=INPUT 223s read from INPUT in lang format 223s -x EXCLUDE, --exclude=EXCLUDE 223s exclude names matching EXCLUDE from input paths 223s -o OUTPUT, --output=OUTPUT 223s write to OUTPUT in po, pot formats 223s -S, --timestamp skip conversion if the output file has newer timestamp 223s -P, --pot output PO Templates (.pot) rather than PO files (.po) 223s --encoding=ENCODING The encoding of the input file (default: UTF-8) 223s --duplicates=DUPLICATESTYLE 223s what to do with duplicate strings (identical source 223s text): merge, msgctxt (default: 'msgctxt') 223s ========= SMOKE TEST: /usr/bin/msghack =========== 223s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 223s This program can be used to alter .po files in ways no sane mind would think about. 223s -o result will be written to FILE 223s --invert invert a po file by switching msgid and msgstr 223s --master join any number of files in a master-formatted catalog 223s --empty empty the contents of the .po file, creating a .pot 223s --append append entries from ref.po that don't exist in file.po 223s 223s Note: It is just a replacement of msghack for backward support. 223s 224s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 224s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 224s 224s Convert OpenDocument (ODF) files to XLIFF localization files. See: 224s http://docs.translatehouse.org/projects/translate- 224s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 224s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 224s formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in xlf, xliff formats 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s ========= SMOKE TEST: /usr/bin/oo2po =========== 224s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 224s 224s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 224s files. See: http://docs.translatehouse.org/projects/translate- 224s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in oo, sdf formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in po, pot formats 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s -P, --pot output PO Templates (.pot) rather than PO files (.po) 224s -l LANG, --language=LANG 224s set target language to extract from oo file (e.g. af- 224s ZA) 224s --source-language=LANG 224s set source language code (default en-US) 224s --nonrecursiveinput don't treat the input oo as a recursive store 224s --duplicates=DUPLICATESTYLE 224s what to do with duplicate strings (identical source 224s text): merge, msgctxt (default: 'msgctxt') 224s --multifile=MULTIFILESTYLE 224s how to split po/pot files (single, toplevel or 224s onefile) 224s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 224s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 224s 224s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 224s files. See: http://docs.translatehouse.org/projects/translate- 224s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in oo, sdf formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in xlf, xliff formats 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s -l LANG, --language=LANG 224s set target language to extract from oo file (e.g. af- 224s ZA) 224s --source-language=LANG 224s set source language code (default en-US) 224s --nonrecursiveinput don't treat the input oo as a recursive store 224s --duplicates=DUPLICATESTYLE 224s what to do with duplicate strings (identical source 224s text): merge, msgctxt (default: 'msgctxt') 224s --multifile=MULTIFILESTYLE 224s how to split po/pot files (single, toplevel or 224s onefile) 224s ========= SMOKE TEST: /usr/bin/php2po =========== 224s 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] 224s 224s Convert PHP localization files to Gettext PO localization files. See: 224s http://docs.translatehouse.org/projects/translate- 224s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in html, php formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in po, pot formats 224s -t TEMPLATE, --template=TEMPLATE 224s read from TEMPLATE in html, php formats 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s -P, --pot output PO Templates (.pot) rather than PO files (.po) 224s --duplicates=DUPLICATESTYLE 224s what to do with duplicate strings (identical source 224s text): merge, msgctxt (default: 'msgctxt') 224s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 224s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 224s 224s Convert PHP format .po files to Python format .po files. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in po, pot formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in po, pot formats 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s ========= SMOKE TEST: /usr/bin/po2csv =========== 224s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 224s 224s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 224s See: http://docs.translatehouse.org/projects/translate- 224s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in po, pot formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in csv format 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s --columnorder=COLUMNORDER 224s specify the order and position of columns 224s (location,source,target) 224s ========= SMOKE TEST: /usr/bin/po2dtd =========== 224s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 224s 224s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 224s Conversion is either done using a template plus PO file or just using the 224s .po file. 224s 224s Options: 224s --version show program's version number and exit 224s -h, --help show this help message and exit 224s --manpage output a manpage based on the help 224s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 224s --errorlevel=ERRORLEVEL 224s show errorlevel as: none, message, exception, 224s traceback 224s -i INPUT, --input=INPUT 224s read from INPUT in po, pot formats 224s -x EXCLUDE, --exclude=EXCLUDE 224s exclude names matching EXCLUDE from input paths 224s -o OUTPUT, --output=OUTPUT 224s write to OUTPUT in dtd format 224s -t TEMPLATE, --template=TEMPLATE 224s read from TEMPLATE in dtd format 224s -S, --timestamp skip conversion if the output file has newer timestamp 224s --threshold=PERCENT only convert files where the translation completion is 224s above PERCENT 224s --fuzzy use translations marked fuzzy 224s --nofuzzy don't use translations marked fuzzy (default) 224s --removeuntranslated remove untranslated strings from output 225s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 225s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 225s 225s Convert Gettext PO localization files to flat XML files. See: 225s http://docs.translatehouse.org/projects/translate- 225s toolkit/en/latest/commands/flatxml2po.html for examples and usage 225s instructions. 225s 225s Options: 225s --version show program's version number and exit 225s -h, --help show this help message and exit 225s --manpage output a manpage based on the help 225s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 225s --errorlevel=ERRORLEVEL 225s show errorlevel as: none, message, exception, 225s traceback 225s -i INPUT, --input=INPUT 225s read from INPUT in po, pot formats 225s -x EXCLUDE, --exclude=EXCLUDE 225s exclude names matching EXCLUDE from input paths 225s -o OUTPUT, --output=OUTPUT 225s write to OUTPUT in xml format 225s -t TEMPLATE, --template=TEMPLATE 225s read from TEMPLATE in xml format 225s -S, --timestamp skip conversion if the output file has newer timestamp 225s -r ROOT, --root=ROOT name of the XML root element (default: "root") 225s -v VALUE, --value=VALUE 225s name of the XML value element (default: "str") 225s -k KEY, --key=KEY name of the XML key attribute (default: "key") 225s -n NS, --namespace=NS 225s XML namespace uri (default: None) 225s -w INDENT, --indent=INDENT 225s indent width in spaces, 0 for no indent (default: 2) 225s ========= SMOKE TEST: /usr/bin/po2html =========== 225s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 225s 225s Translate HTML files using Gettext PO localization files. See: 225s http://docs.translatehouse.org/projects/translate- 225s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 225s 225s Options: 225s --version show program's version number and exit 225s -h, --help show this help message and exit 225s --manpage output a manpage based on the help 225s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 225s --errorlevel=ERRORLEVEL 225s show errorlevel as: none, message, exception, 225s traceback 225s -i INPUT, --input=INPUT 225s read from INPUT in po, pot formats 225s -x EXCLUDE, --exclude=EXCLUDE 225s exclude names matching EXCLUDE from input paths 225s -o OUTPUT, --output=OUTPUT 225s write to OUTPUT in htm, html, xhtml formats 225s -t TEMPLATE, --template=TEMPLATE 225s read from TEMPLATE in htm, html, xhtml formats 225s -S, --timestamp skip conversion if the output file has newer timestamp 225s --threshold=PERCENT only convert files where the translation completion is 225s above PERCENT 225s --fuzzy use translations marked fuzzy 225s --nofuzzy don't use translations marked fuzzy (default) 225s ========= SMOKE TEST: /usr/bin/po2ical =========== 225s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 225s 225s Convert Gettext PO localization files to iCalendar files. See: 225s http://docs.translatehouse.org/projects/translate- 225s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 225s 225s Options: 225s --version show program's version number and exit 225s -h, --help show this help message and exit 225s --manpage output a manpage based on the help 225s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 225s --errorlevel=ERRORLEVEL 225s show errorlevel as: none, message, exception, 225s traceback 225s -i INPUT, --input=INPUT 225s read from INPUT in po, pot formats 225s -x EXCLUDE, --exclude=EXCLUDE 225s exclude names matching EXCLUDE from input paths 225s -o OUTPUT, --output=OUTPUT 225s write to OUTPUT in ics format 225s -t TEMPLATE, --template=TEMPLATE 225s read from TEMPLATE in ics format 225s -S, --timestamp skip conversion if the output file has newer timestamp 225s --threshold=PERCENT only convert files where the translation completion is 225s above PERCENT 225s --fuzzy use translations marked fuzzy 225s --nofuzzy don't use translations marked fuzzy (default) 225s ========= SMOKE TEST: /usr/bin/po2idml =========== 225s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 225s 225s Takes an IDML template file and a PO file containing translations of strings 225s in the IDML template. It creates a new IDML file using the translations of the 225s PO file. 225s 225s Options: 225s --version show program's version number and exit 225s -h, --help show this help message and exit 225s --manpage output a manpage based on the help 225s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 225s --errorlevel=ERRORLEVEL 225s show errorlevel as: none, message, exception, 225s traceback 225s -i INPUT, --input=INPUT 225s read from INPUT in po, pot formats 225s -x EXCLUDE, --exclude=EXCLUDE 225s exclude names matching EXCLUDE from input paths 225s -o OUTPUT, --output=OUTPUT 225s write to OUTPUT in idml format 225s -t TEMPLATE, --template=TEMPLATE 225s read from TEMPLATE in idml format 225s -S, --timestamp skip conversion if the output file has newer timestamp 225s ========= SMOKE TEST: /usr/bin/po2ini =========== 225s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 225s 225s Convert Gettext PO localization files to .ini files. See: 225s http://docs.translatehouse.org/projects/translate- 225s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 225s 225s Options: 225s --version show program's version number and exit 225s -h, --help show this help message and exit 225s --manpage output a manpage based on the help 225s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 225s --errorlevel=ERRORLEVEL 225s show errorlevel as: none, message, exception, 225s traceback 225s -i INPUT, --input=INPUT 225s read from INPUT in po, pot formats 225s -x EXCLUDE, --exclude=EXCLUDE 225s exclude names matching EXCLUDE from input paths 225s -o OUTPUT, --output=OUTPUT 225s write to OUTPUT in ini, isl formats 225s -t TEMPLATE, --template=TEMPLATE 225s read from TEMPLATE in ini, isl formats 225s -S, --timestamp skip conversion if the output file has newer timestamp 225s --threshold=PERCENT only convert files where the translation completion is 225s above PERCENT 225s --fuzzy use translations marked fuzzy 225s --nofuzzy don't use translations marked fuzzy (default) 225s ========= SMOKE TEST: /usr/bin/po2json =========== 225s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 225s 225s Convert Gettext PO localization files to JSON files. See: 225s http://docs.translatehouse.org/projects/translate- 225s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 225s 225s Options: 225s --version show program's version number and exit 225s -h, --help show this help message and exit 225s --manpage output a manpage based on the help 225s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 225s --errorlevel=ERRORLEVEL 225s show errorlevel as: none, message, exception, 225s traceback 225s -i INPUT, --input=INPUT 225s read from INPUT in po, pot formats 225s -x EXCLUDE, --exclude=EXCLUDE 225s exclude names matching EXCLUDE from input paths 225s -o OUTPUT, --output=OUTPUT 225s write to OUTPUT in json format 225s -t TEMPLATE, --template=TEMPLATE 225s read from TEMPLATE in json format 225s -S, --timestamp skip conversion if the output file has newer timestamp 225s --threshold=PERCENT only convert files where the translation completion is 225s above PERCENT 225s --fuzzy use translations marked fuzzy 225s --nofuzzy don't use translations marked fuzzy (default) 225s --removeuntranslated remove untranslated strings from output 226s ========= SMOKE TEST: /usr/bin/po2md =========== 226s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 226s 226s Translate Markdown files using Gettext PO localization files. See: 226s http://docs.translatehouse.org/projects/translate- 226s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 226s 226s Options: 226s --version show program's version number and exit 226s -h, --help show this help message and exit 226s --manpage output a manpage based on the help 226s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 226s --errorlevel=ERRORLEVEL 226s show errorlevel as: none, message, exception, 226s traceback 226s -i INPUT, --input=INPUT 226s read from INPUT in po, pot formats 226s -x EXCLUDE, --exclude=EXCLUDE 226s exclude names matching EXCLUDE from input paths 226s -o OUTPUT, --output=OUTPUT 226s write to OUTPUT in markdown, md, text, txt formats 226s -t TEMPLATE, --template=TEMPLATE 226s read from TEMPLATE in markdown, md, text, txt formats 226s -S, --timestamp skip conversion if the output file has newer timestamp 226s -m MAXLENGTH, --maxlinelength=MAXLENGTH 226s reflow (word wrap) the output to the given maximum 226s line length. set to 0 to disable 226s --threshold=PERCENT only convert files where the translation completion is 226s above PERCENT 226s --fuzzy use translations marked fuzzy 226s --nofuzzy don't use translations marked fuzzy (default) 226s ========= SMOKE TEST: /usr/bin/po2moz =========== 226s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 226s 226s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 226s See: http://docs.translatehouse.org/projects/translate- 226s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 226s 226s Options: 226s --version show program's version number and exit 226s -h, --help show this help message and exit 226s --manpage output a manpage based on the help 226s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 226s --errorlevel=ERRORLEVEL 226s show errorlevel as: none, message, exception, 226s traceback 226s -i INPUT, --input=INPUT 226s read from INPUT in *, dtd.po, dtd.pot, inc.po, 226s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 226s lang.pot, manifest, properties.po, properties.pot, rdf 226s formats 226s -x EXCLUDE, --exclude=EXCLUDE 226s exclude names matching EXCLUDE from input paths 226s -o OUTPUT, --output=OUTPUT 226s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 226s manifest, properties, rdf formats 226s -t TEMPLATE, --template=TEMPLATE 226s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 226s manifest, properties, rdf formats 226s -S, --timestamp skip conversion if the output file has newer timestamp 226s -l LOCALE, --locale=LOCALE 226s set output locale (required as this sets the directory 226s names) 226s --threshold=PERCENT only convert files where the translation completion is 226s above PERCENT 226s --fuzzy use translations marked fuzzy 226s --nofuzzy don't use translations marked fuzzy (default) 226s --removeuntranslated remove untranslated strings from output 227s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 227s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 227s 227s Convert Gettext PO localization files to Mozilla .lang files. 227s 227s Options: 227s --version show program's version number and exit 227s -h, --help show this help message and exit 227s --manpage output a manpage based on the help 227s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 227s --errorlevel=ERRORLEVEL 227s show errorlevel as: none, message, exception, 227s traceback 227s -i INPUT, --input=INPUT 227s read from INPUT in po, pot formats 227s -x EXCLUDE, --exclude=EXCLUDE 227s exclude names matching EXCLUDE from input paths 227s -o OUTPUT, --output=OUTPUT 227s write to OUTPUT in lang format 227s -t TEMPLATE, --template=TEMPLATE 227s read from TEMPLATE in lang format 227s -S, --timestamp skip conversion if the output file has newer timestamp 227s --mark-active mark the file as active 227s --threshold=PERCENT only convert files where the translation completion is 227s above PERCENT 227s --fuzzy use translations marked fuzzy 227s --nofuzzy don't use translations marked fuzzy (default) 227s ========= SMOKE TEST: /usr/bin/po2oo =========== 227s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 227s 227s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 227s file. See: http://docs.translatehouse.org/projects/translate- 227s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 227s 227s Options: 227s --version show program's version number and exit 227s -h, --help show this help message and exit 227s --manpage output a manpage based on the help 227s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 227s --errorlevel=ERRORLEVEL 227s show errorlevel as: none, message, exception, 227s traceback 227s -i INPUT, --input=INPUT 227s read from INPUT in po, pot, xlf, xliff formats 227s -x EXCLUDE, --exclude=EXCLUDE 227s exclude names matching EXCLUDE from input paths 227s -o OUTPUT, --output=OUTPUT 227s write to OUTPUT in oo, sdf formats 227s -t TEMPLATE, --template=TEMPLATE 227s read from TEMPLATE in oo, sdf formats 227s -S, --timestamp skip conversion if the output file has newer timestamp 227s -l LANG, --language=LANG 227s set target language code (e.g. af-ZA) [required] 227s --source-language=LANG 227s set source language code (default en-US) 227s -T, --keeptimestamp don't change the timestamps of the strings 227s --nonrecursiveoutput don't treat the output oo as a recursive store 227s --nonrecursivetemplate 227s don't treat the template oo as a recursive store 227s --skipsource don't output the source language, but fallback to it 227s where needed 227s --filteraction=ACTION 227s action on pofilter failure: none (default), warn, 227s exclude-serious, exclude-all 227s --threshold=PERCENT only convert files where the translation completion is 227s above PERCENT 227s --fuzzy use translations marked fuzzy 227s --nofuzzy don't use translations marked fuzzy (default) 227s --multifile=MULTIFILESTYLE 227s how to split po/pot files (single, toplevel or 227s onefile) 227s ========= SMOKE TEST: /usr/bin/po2php =========== 227s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 227s 227s Convert Gettext PO localization files to PHP localization files. See: 227s http://docs.translatehouse.org/projects/translate- 227s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 227s 227s Options: 227s --version show program's version number and exit 227s -h, --help show this help message and exit 227s --manpage output a manpage based on the help 227s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 227s --errorlevel=ERRORLEVEL 227s show errorlevel as: none, message, exception, 227s traceback 227s -i INPUT, --input=INPUT 227s read from INPUT in po, pot formats 227s -x EXCLUDE, --exclude=EXCLUDE 227s exclude names matching EXCLUDE from input paths 227s -o OUTPUT, --output=OUTPUT 227s write to OUTPUT in html, php formats 227s -t TEMPLATE, --template=TEMPLATE 227s read from TEMPLATE in html, php formats 227s -S, --timestamp skip conversion if the output file has newer timestamp 227s --threshold=PERCENT only convert files where the translation completion is 227s above PERCENT 227s --fuzzy use translations marked fuzzy 227s --nofuzzy don't use translations marked fuzzy (default) 227s ========= SMOKE TEST: /usr/bin/po2prop =========== 227s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 227s 227s Convert Gettext PO localization files to Java/Mozilla .properties files. 227s See: http://docs.translatehouse.org/projects/translate- 227s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 227s 227s Options: 227s --version show program's version number and exit 227s -h, --help show this help message and exit 227s --manpage output a manpage based on the help 227s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 227s --errorlevel=ERRORLEVEL 227s show errorlevel as: none, message, exception, 227s traceback 227s -i INPUT, --input=INPUT 227s read from INPUT in po, pot formats 227s -x EXCLUDE, --exclude=EXCLUDE 227s exclude names matching EXCLUDE from input paths 227s -o OUTPUT, --output=OUTPUT 227s write to OUTPUT in lang, properties, strings formats 227s -t TEMPLATE, --template=TEMPLATE 227s read from TEMPLATE in lang, properties, strings 227s formats 227s -S, --timestamp skip conversion if the output file has newer timestamp 227s --personality=TYPE override the input file format: java, java-utf8, java- 227s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 227s strings, strings-utf8, joomla (for .properties files, 227s default: java) 227s --encoding=ENCODING override the encoding set by the personality 227s --threshold=PERCENT only convert files where the translation completion is 227s above PERCENT 227s --fuzzy use translations marked fuzzy 227s --nofuzzy don't use translations marked fuzzy (default) 227s --removeuntranslated remove untranslated strings from output 227s ========= SMOKE TEST: /usr/bin/po2rc =========== 227s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 227s 227s Convert Gettext PO localization files back to Windows Resource (.rc) files. 227s See: http://docs.translatehouse.org/projects/translate- 227s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 227s 227s Options: 227s --version show program's version number and exit 227s -h, --help show this help message and exit 227s --manpage output a manpage based on the help 227s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 227s --errorlevel=ERRORLEVEL 227s show errorlevel as: none, message, exception, 227s traceback 227s -i INPUT, --input=INPUT 227s read from INPUT in po, pot formats 227s -x EXCLUDE, --exclude=EXCLUDE 227s exclude names matching EXCLUDE from input paths 227s -o OUTPUT, --output=OUTPUT 227s write to OUTPUT in rc format 227s -t TEMPLATE, --template=TEMPLATE 227s read from TEMPLATE in rc format 227s -S, --timestamp skip conversion if the output file has newer timestamp 227s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 227s -l LANG, --lang=LANG LANG entry 227s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 227s --threshold=PERCENT only convert files where the translation completion is 227s above PERCENT 227s --fuzzy use translations marked fuzzy 227s --nofuzzy don't use translations marked fuzzy (default) 227s ========= SMOKE TEST: /usr/bin/po2resx =========== 228s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 228s 228s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in resx format 228s -t TEMPLATE, --template=TEMPLATE 228s read from TEMPLATE in resx format 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s --fuzzy use translations marked fuzzy 228s --nofuzzy don't use translations marked fuzzy (default) 228s ========= SMOKE TEST: /usr/bin/po2sub =========== 228s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 228s 228s Convert Gettext PO localization files to subtitle files. See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in ass, srt, ssa, sub formats 228s -t TEMPLATE, --template=TEMPLATE 228s read from TEMPLATE in ass, srt, ssa, sub formats 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s --threshold=PERCENT only convert files where the translation completion is 228s above PERCENT 228s --fuzzy use translations marked fuzzy 228s --nofuzzy don't use translations marked fuzzy (default) 228s ========= SMOKE TEST: /usr/bin/po2symb =========== 228s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 228s 228s Convert Gettext PO localization files to Symbian translation files. See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in r0 format 228s -t TEMPLATE, --template=TEMPLATE 228s read from TEMPLATE in 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s --duplicates=DUPLICATESTYLE 228s what to do with duplicate strings (identical source 228s text): merge, msgctxt (default: 'msgctxt') 228s ========= SMOKE TEST: /usr/bin/po2tiki =========== 228s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 228s 228s Convert Gettext PO files to TikiWiki's language.php files. See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in tiki format 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s ========= SMOKE TEST: /usr/bin/po2tmx =========== 228s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 228s 228s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 228s file. See: http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in tmx format 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s -l LANG, --language=LANG 228s set target language code (e.g. af-ZA) [required] 228s --source-language=LANG 228s set source language code (default: en) 228s --comments=COMMENT set default comment import: none, source, type or 228s others (default: none) 228s ========= SMOKE TEST: /usr/bin/po2ts =========== 228s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 228s 228s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in ts format 228s -t TEMPLATE, --template=TEMPLATE 228s read from TEMPLATE in ts format 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s -c CONTEXT, --context=CONTEXT 228s use supplied context instead of the one in the .po 228s file comment 228s ========= SMOKE TEST: /usr/bin/po2txt =========== 228s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 228s 228s Convert Gettext PO localization files to plain text (.txt) files. See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot, xlf, xliff formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in txt format 228s -t TEMPLATE, --template=TEMPLATE 228s read from TEMPLATE in txt format 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s --encoding=ENCODING The encoding of the template file (default: UTF-8) 228s -w WRAP, --wrap=WRAP set number of columns to wrap text at 228s --threshold=PERCENT only convert files where the translation completion is 228s above PERCENT 228s --fuzzy use translations marked fuzzy 228s --nofuzzy don't use translations marked fuzzy (default) 228s ========= SMOKE TEST: /usr/bin/po2web2py =========== 228s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 228s 228s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 228s http://docs.translatehouse.org/projects/translate- 228s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 228s 228s Options: 228s --version show program's version number and exit 228s -h, --help show this help message and exit 228s --manpage output a manpage based on the help 228s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 228s --errorlevel=ERRORLEVEL 228s show errorlevel as: none, message, exception, 228s traceback 228s -i INPUT, --input=INPUT 228s read from INPUT in po, pot formats 228s -x EXCLUDE, --exclude=EXCLUDE 228s exclude names matching EXCLUDE from input paths 228s -o OUTPUT, --output=OUTPUT 228s write to OUTPUT in py format 228s -S, --timestamp skip conversion if the output file has newer timestamp 228s --threshold=PERCENT only convert files where the translation completion is 228s above PERCENT 228s --fuzzy use translations marked fuzzy 228s --nofuzzy don't use translations marked fuzzy (default) 229s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 229s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 229s 229s Convert Gettext PO localization files to a Wordfast translation memory file. 229s See: http://docs.translatehouse.org/projects/translate- 229s toolkit/en/latest/commands/po2wordfast.html for examples and usage 229s instructions. 229s 229s Options: 229s --version show program's version number and exit 229s -h, --help show this help message and exit 229s --manpage output a manpage based on the help 229s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 229s --errorlevel=ERRORLEVEL 229s show errorlevel as: none, message, exception, 229s traceback 229s -i INPUT, --input=INPUT 229s read from INPUT in po, pot formats 229s -x EXCLUDE, --exclude=EXCLUDE 229s exclude names matching EXCLUDE from input paths 229s -o OUTPUT, --output=OUTPUT 229s write to OUTPUT in txt format 229s -S, --timestamp skip conversion if the output file has newer timestamp 229s -l LANG, --language=LANG 229s set target language code (e.g. af-ZA) [required] 229s --source-language=LANG 229s set source language code (default: en) 229s ========= SMOKE TEST: /usr/bin/po2xliff =========== 229s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 229s 229s Convert Gettext PO localization files to XLIFF localization files. See: 229s http://docs.translatehouse.org/projects/translate- 229s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 229s 229s Options: 229s --version show program's version number and exit 229s -h, --help show this help message and exit 229s --manpage output a manpage based on the help 229s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 229s --errorlevel=ERRORLEVEL 229s show errorlevel as: none, message, exception, 229s traceback 229s -i INPUT, --input=INPUT 229s read from INPUT in po, pot formats 229s -x EXCLUDE, --exclude=EXCLUDE 229s exclude names matching EXCLUDE from input paths 229s -o OUTPUT, --output=OUTPUT 229s write to OUTPUT in xlf, xliff formats 229s -t TEMPLATE, --template=TEMPLATE 229s read from TEMPLATE in xlf, xliff formats 229s -S, --timestamp skip conversion if the output file has newer timestamp 229s ========= SMOKE TEST: /usr/bin/po2yaml =========== 229s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 229s 229s Convert Gettext PO localization files to YAML files. See: 229s http://docs.translatehouse.org/projects/translate- 229s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 229s 229s Options: 229s --version show program's version number and exit 229s -h, --help show this help message and exit 229s --manpage output a manpage based on the help 229s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 229s --errorlevel=ERRORLEVEL 229s show errorlevel as: none, message, exception, 229s traceback 229s -i INPUT, --input=INPUT 229s read from INPUT in po, pot formats 229s -x EXCLUDE, --exclude=EXCLUDE 229s exclude names matching EXCLUDE from input paths 229s -o OUTPUT, --output=OUTPUT 229s write to OUTPUT in yaml, yml formats 229s -t TEMPLATE, --template=TEMPLATE 229s read from TEMPLATE in yaml, yml formats 229s -S, --timestamp skip conversion if the output file has newer timestamp 229s --threshold=PERCENT only convert files where the translation completion is 229s above PERCENT 229s --fuzzy use translations marked fuzzy 229s --nofuzzy don't use translations marked fuzzy (default) 229s ========= SMOKE TEST: /usr/bin/poclean =========== 229s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 229s 229s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 229s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 229s produces the target file with only the target text in from a text version of 229s the RTF. 229s 229s Options: 229s --version show program's version number and exit 229s -h, --help show this help message and exit 229s --manpage output a manpage based on the help 229s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 229s --errorlevel=ERRORLEVEL 229s show errorlevel as: none, message, exception, 229s traceback 229s -i INPUT, --input=INPUT 229s read from INPUT in po, pot, xlf, xliff formats 229s -x EXCLUDE, --exclude=EXCLUDE 229s exclude names matching EXCLUDE from input paths 229s -o OUTPUT, --output=OUTPUT 229s write to OUTPUT in po, pot, xlf, xliff formats 229s -S, --timestamp skip conversion if the output file has newer timestamp 229s ========= SMOKE TEST: /usr/bin/pocompendium =========== 229s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 229s The first parameter is the output file, standard output if the output file is '-'. 229s Any number of directories may be specified for input files. 229s Options: 229s --invert|v Creates an inverse compendium with msgid and msgstr swapped 229s --errors|e Only ouput msg bundles that have errors 229s --correct|c Only ouput msg bundles that are correctly translated 229s --ignore-case|i Drops all strings to lowercase 229s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 229s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 229s --strip-accel-under|-su Strip all underscore (_) accelerator characters 229s ========= SMOKE TEST: /usr/bin/pocompile =========== 229s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 229s 229s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 229s Object) files. See: http://docs.translatehouse.org/projects/translate- 229s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 229s 229s Options: 229s --version show program's version number and exit 229s -h, --help show this help message and exit 229s --manpage output a manpage based on the help 229s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 229s --errorlevel=ERRORLEVEL 229s show errorlevel as: none, message, exception, 229s traceback 229s -i INPUT, --input=INPUT 229s read from INPUT in po, pot, xlf, xliff formats 229s -x EXCLUDE, --exclude=EXCLUDE 229s exclude names matching EXCLUDE from input paths 229s -o OUTPUT, --output=OUTPUT 229s write to OUTPUT in mo format 229s -S, --timestamp skip conversion if the output file has newer timestamp 229s --fuzzy use translations marked fuzzy 229s --nofuzzy don't use translations marked fuzzy (default) 229s ========= SMOKE TEST: /usr/bin/poconflicts =========== 229s 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] 229s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 229s 229s Conflict finder for Gettext PO localization files. See: 229s http://docs.translatehouse.org/projects/translate- 229s toolkit/en/latest/commands/poconflicts.html for examples and usage 229s instructions. 229s 229s Options: 229s --version show program's version number and exit 229s -h, --help show this help message and exit 229s --manpage output a manpage based on the help 229s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 229s --errorlevel=ERRORLEVEL 229s show errorlevel as: none, message, exception, 229s traceback 229s -i INPUT, --input=INPUT 229s read from INPUT in po format 229s -x EXCLUDE, --exclude=EXCLUDE 229s exclude names matching EXCLUDE from input paths 229s -o OUTPUT, --output=OUTPUT 229s write to OUTPUT in po format 229s -I, --ignore-case ignore case distinctions 229s -v, --invert invert the conflicts thus extracting conflicting 229s destination words 229s --accelerator=ACCELERATORS 229s ignores the given accelerator characters when matching 229s ========= SMOKE TEST: /usr/bin/pocount =========== 229s usage: pocount [-h] [--incomplete] 229s [--full | --csv | --short | --short-strings | --short-words] 229s [--no-color] 229s files [files ...] 229s 229s positional arguments: 229s files 229s 229s options: 229s -h, --help show this help message and exit 229s --incomplete skip 100% translated files. 229s 229s Output format: 229s --full (default) statistics in full, verbose format 229s --csv statistics in CSV format 229s --short same as --short-strings 229s --short-strings statistics of strings in short format - one line per file 229s --short-words statistics of words in short format - one line per file 229s --no-color show output without color 230s ========= SMOKE TEST: /usr/bin/podebug =========== 230s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 230s 230s Insert debug messages into XLIFF and Gettext PO localization files. See: 230s http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in po, pot, pot, tmx, xlf, xliff 230s formats 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in po, pot, tmx, xlf, xliff formats 230s -S, --timestamp skip conversion if the output file has newer timestamp 230s -f FORMAT, --format=FORMAT 230s specify format string 230s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 230s classified, en, flipped, unicode, xxx 230s --ignore=APPLICATION apply tagging ignore rules for the given application: 230s gtk, kde, libreoffice, mozilla, openoffice 230s --preserveplaceholders 230s attempt to exclude characters that are part of 230s placeholders when performing character-level rewrites 230s so that consuming applications can still use the 230s placeholders to generate final output 230s ========= SMOKE TEST: /usr/bin/pofilter =========== 230s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 230s 230s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 230s Snippet files are created whenever a test fails. These can be examined, 230s corrected and merged back into the originals using pomerge. See: 230s http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 230s and http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 230s tests. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in po, pot, tmx, xlf, xliff formats 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in po, pot, tmx, xlf, xliff formats 230s -l, --listfilters list filters available 230s --review include units marked for review (default) 230s --noreview exclude units marked for review 230s --fuzzy include units marked fuzzy (default) 230s --nofuzzy exclude units marked fuzzy 230s --nonotes don't add notes about the errors 230s --autocorrect output automatic corrections where possible rather 230s than describing issues 230s --language=LANG set target language code (e.g. af-ZA) [required for 230s spell check and recommended in general] 230s --openoffice use the standard checks for OpenOffice translations 230s --libreoffice use the standard checks for LibreOffice translations 230s --mozilla use the standard checks for Mozilla translations 230s --drupal use the standard checks for Drupal translations 230s --gnome use the standard checks for Gnome translations 230s --kde use the standard checks for KDE translations 230s --wx use the standard checks for wxWidgets translations 230s --excludefilter=FILTER 230s don't use FILTER when filtering 230s -t FILTER, --test=FILTER 230s only use test FILTERs specified with this option when 230s filtering 230s --notranslatefile=FILE 230s read list of untranslatable words from FILE (must not 230s be translated) 230s --musttranslatefile=FILE 230s read list of translatable words from FILE (must be 230s translated) 230s --validcharsfile=FILE 230s read list of all valid characters from FILE (must be 230s in UTF-8) 230s ========= SMOKE TEST: /usr/bin/pogrep =========== 230s 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] 230s 230s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 230s snippet files of the same type which can then be reviewed and later merged 230s using :doc:`pomerge `. See: 230s http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 230s xliff formats 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 230s xliff formats 230s --search=SEARCHPARTS searches the given parts (source, target, notes and 230s locations) 230s -I, --ignore-case ignore case distinctions 230s -e, --regexp use regular expression matching 230s -v, --invert-match select non-matching lines 230s --accelerator=ACCELERATOR 230s ignores the given accelerator when matching 230s -k, --keep-translations 230s always extract units with translations 230s ========= SMOKE TEST: /usr/bin/pomerge =========== 230s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 230s 230s Merges XLIFF and Gettext PO localization files. Snippet file produced by 230s e.g. :doc:`pogrep ` and updated by a translator can be 230s merged back into the original files. See: 230s http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in po, pot, pot, xlf, xliff formats 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in po, pot, pot, xlf, xliff formats 230s -t TEMPLATE, --template=TEMPLATE 230s read from TEMPLATE in po, pot, pot, xlf, xliff formats 230s -S, --timestamp skip conversion if the output file has newer timestamp 230s --mergeblanks=MERGEBLANKS 230s whether to overwrite existing translations with blank 230s translations (yes/no). Default is yes. 230s --mergefuzzy=MERGEFUZZY 230s whether to consider fuzzy translations from input 230s (yes/no). Default is yes. 230s --mergecomments=MERGECOMMENTS 230s whether to merge comments as well as translations 230s (yes/no). Default is yes. 230s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 230s Usage pomigrate2 [options] 230s 230s Options: 230s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 230s -C|--use-compendium - create and use a compendium built from the migrating files 230s -C|--use-compendium=some-compendium.po 230s - use an external compendium during the migration 230s --no-wrap - do not wrap long lines 230s --locale=lang - set locale for newly born files 230s -q|--quiet - suppress most output 230s -p|--pot2po - use pot2po instead of msgmerge to migrate 230s ========= SMOKE TEST: /usr/bin/popuretext =========== 230s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 230s ========= SMOKE TEST: /usr/bin/poreencode =========== 230s Usage: poreencode 230s eg: poreencode UTF-8 af/ 230s ========= SMOKE TEST: /usr/bin/porestructure =========== 230s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 230s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 230s 230s Restructure Gettxt PO files produced by :doc:`poconflicts 230s ` into the original directory tree for merging using 230s :doc:`pomerge `. See: 230s http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in po format 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in po format 230s ========= SMOKE TEST: /usr/bin/posegment =========== 230s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 230s 230s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 230s See: http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in po, pot, tmx, xlf, xliff formats 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in po, pot, tmx, xlf, xliff formats 230s -S, --timestamp skip conversion if the output file has newer timestamp 230s -P, --pot output PO Templates (.pot) rather than PO files (.po) 230s -l LANG, --language=LANG 230s the target language code 230s --source-language=LANG 230s the source language code (default 'en') 230s --keepspaces Disable automatic stripping of whitespace 230s --only-aligned Removes units where sentence number does not 230s correspond 230s ========= SMOKE TEST: /usr/bin/poswap =========== 230s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 230s 230s Builds a new translation file with the target of the input language as source 230s language. .. note:: Ensure that the two po files correspond 100% to the same 230s pot file before using this. To translate Kurdish (ku) through French:: 230s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 230s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 230s http://docs.translatehouse.org/projects/translate- 230s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 230s 230s Options: 230s --version show program's version number and exit 230s -h, --help show this help message and exit 230s --manpage output a manpage based on the help 230s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 230s --errorlevel=ERRORLEVEL 230s show errorlevel as: none, message, exception, 230s traceback 230s -i INPUT, --input=INPUT 230s read from INPUT in po, pot formats 230s -x EXCLUDE, --exclude=EXCLUDE 230s exclude names matching EXCLUDE from input paths 230s -o OUTPUT, --output=OUTPUT 230s write to OUTPUT in po, pot formats 230s -t TEMPLATE, --template=TEMPLATE 230s read from TEMPLATE in po, pot, pot formats 230s -S, --timestamp skip conversion if the output file has newer timestamp 230s --reverse reverse the process of intermediate language 230s conversion 231s ========= SMOKE TEST: /usr/bin/pot2po =========== 231s 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] 231s 231s Convert template files (like .pot or template .xlf files) to translation 231s files, preserving existing translations. See: 231s http://docs.translatehouse.org/projects/translate- 231s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 231s 231s Options: 231s --version show program's version number and exit 231s -h, --help show this help message and exit 231s --manpage output a manpage based on the help 231s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 231s --errorlevel=ERRORLEVEL 231s show errorlevel as: none, message, exception, 231s traceback 231s -i INPUT, --input=INPUT 231s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 231s formats 231s -x EXCLUDE, --exclude=EXCLUDE 231s exclude names matching EXCLUDE from input paths 231s -o OUTPUT, --output=OUTPUT 231s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 231s xliff formats 231s -t TEMPLATE, --template=TEMPLATE 231s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 231s xliff formats 231s -S, --timestamp skip conversion if the output file has newer timestamp 231s -P, --pot output PO Templates (.pot) rather than PO files (.po) 231s --tm=TM The file to use as translation memory when fuzzy 231s matching 231s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 231s The minimum similarity for inclusion (default: 75%) 231s --nofuzzymatching Disable fuzzy matching 231s ========= SMOKE TEST: /usr/bin/poterminology =========== 231s 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] 231s input directory is searched for PO files, terminology PO file is output file 231s 231s Create a terminology file by reading a set of .po or .pot files to produce a 231s pootle-terminology.pot. See: 231s http://docs.translatehouse.org/projects/translate- 231s toolkit/en/latest/commands/poterminology.html for examples and usage 231s instructions. 231s 231s Options: 231s --version show program's version number and exit 231s -h, --help show this help message and exit 231s --manpage output a manpage based on the help 231s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 231s --errorlevel=ERRORLEVEL 231s show errorlevel as: none, message, exception, 231s traceback 231s -i INPUT, --input=INPUT 231s read from INPUT in po, pot formats 231s -x EXCLUDE, --exclude=EXCLUDE 231s exclude names matching EXCLUDE from input paths 231s -o OUTPUT, --output=OUTPUT 231s write to OUTPUT in po, pot formats 231s -u UPDATEFILE, --update=UPDATEFILE 231s update terminology in UPDATEFILE 231s -S STOPFILE, --stopword-list=STOPFILE 231s read stopword (term exclusion) list from STOPFILE 231s (default /usr/share/pyshared/translate/share/stoplist- 231s en) 231s -F, --fold-titlecase fold "Title Case" to lowercase (default) 231s -C, --preserve-case preserve all uppercase/lowercase 231s -I, --ignore-case make all terms lowercase 231s --accelerator=ACCELERATORS 231s ignore the given accelerator characters when matching 231s -t LENGTH, --term-words=LENGTH 231s generate terms of up to LENGTH words (default 3) 231s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 231s 1) 231s --inputs-needed=MIN omit terms appearing in less than MIN input files 231s (default 2, or 1 if only one input file) 231s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 231s different messages (default 1) 231s --substr-needed=MIN omit substring-only terms appearing in less than MIN 231s different messages (default 2) 231s --locs-needed=MIN omit terms appearing in less than MIN different 231s original source files (default 2) 231s --sort=ORDER output sort order(s): frequency, dictionary, length 231s (may repeat option, default is all in above order) 231s --source-language=LANG 231s the source language code (default 'en') 231s -v, --invert invert the source and target languages for terminology 231s ========= SMOKE TEST: /usr/bin/pretranslate =========== 231s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 231s 231s Fill localization files with suggested translations based on translation 231s memory and existing translations. See: 231s http://docs.translatehouse.org/projects/translate- 231s toolkit/en/latest/commands/pretranslate.html for examples and usage 231s instructions. 231s 231s Options: 231s --version show program's version number and exit 231s -h, --help show this help message and exit 231s --manpage output a manpage based on the help 231s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 231s --errorlevel=ERRORLEVEL 231s show errorlevel as: none, message, exception, 231s traceback 231s -i INPUT, --input=INPUT 231s read from INPUT in po, pot, pot, xlf, xliff formats 231s -x EXCLUDE, --exclude=EXCLUDE 231s exclude names matching EXCLUDE from input paths 231s -o OUTPUT, --output=OUTPUT 231s write to OUTPUT in po, pot, xlf, xliff formats 231s -t TEMPLATE, --template=TEMPLATE 231s read from TEMPLATE in po, pot, xlf, xliff formats 231s -S, --timestamp skip conversion if the output file has newer timestamp 231s --tm=TM The file to use as translation memory when fuzzy 231s matching 231s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 231s The minimum similarity for inclusion (default: 75%) 231s --nofuzzymatching Disable fuzzy matching 231s ========= SMOKE TEST: /usr/bin/prop2po =========== 231s 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] 231s 231s Convert Java/Mozilla .properties files to Gettext PO localization files. 231s See: http://docs.translatehouse.org/projects/translate- 231s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 231s 231s Options: 231s --version show program's version number and exit 231s -h, --help show this help message and exit 231s --manpage output a manpage based on the help 231s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 231s --errorlevel=ERRORLEVEL 231s show errorlevel as: none, message, exception, 231s traceback 231s -i INPUT, --input=INPUT 231s read from INPUT in lang, properties, strings formats 231s -x EXCLUDE, --exclude=EXCLUDE 231s exclude names matching EXCLUDE from input paths 231s -o OUTPUT, --output=OUTPUT 231s write to OUTPUT in po, pot formats 231s -t TEMPLATE, --template=TEMPLATE 231s read from TEMPLATE in lang, properties, strings 231s formats 231s -S, --timestamp skip conversion if the output file has newer timestamp 231s -P, --pot output PO Templates (.pot) rather than PO files (.po) 231s --personality=TYPE override the input file format: java, java-utf8, java- 231s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 231s strings, strings-utf8, joomla (for .properties files, 231s default: java) 231s --encoding=ENCODING override the encoding set by the personality 231s --duplicates=DUPLICATESTYLE 231s what to do with duplicate strings (identical source 231s text): merge, msgctxt (default: 'msgctxt') 231s ========= SMOKE TEST: /usr/bin/pydiff =========== 231s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 231s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 231s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 231s fromfile tofile 231s 231s positional arguments: 231s fromfile 231s tofile 231s 231s options: 231s -h, --help show this help message and exit 231s -i, --ignore-case Ignore case differences in file contents. 231s -U NUM, --unified NUM 231s Output NUM (default 3) lines of unified context 231s -r, --recursive Recursively compare any subdirectories found. 231s -N, --new-file Treat absent files as empty. 231s --unidirectional-new-file 231s Treat absent first files as empty. 231s -s, --report-identical-files 231s Report when two files are the same. 231s -x PAT, --exclude PAT 231s Exclude files that match PAT. 231s --fromcontains TEXT Only show changes where fromfile contains TEXT 231s --tocontains TEXT Only show changes where tofile contains TEXT 231s --contains TEXT Only show changes where fromfile or tofile contains 231s TEXT 231s -I, --ignore-case-contains 231s Ignore case differences when matching any of the 231s changes 231s --accelerator ACCELERATORS 231s ignores the given accelerator characters when matching 231s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 232s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 232s 232s Convert Python format .po files to PHP format .po files. 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in po, pot formats 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s ========= SMOKE TEST: /usr/bin/rc2po =========== 232s 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] 232s 232s Convert Windows RC files to Gettext PO localization files. See: 232s http://docs.translatehouse.org/projects/translate- 232s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in nls, rc formats 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -t TEMPLATE, --template=TEMPLATE 232s read from TEMPLATE in nls, rc formats 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s -P, --pot output PO Templates (.pot) rather than PO files (.po) 232s --charset=CHARSET charset to use to decode the RC files (autodetection 232s is used by default) 232s -l LANG, --lang=LANG LANG entry (default: None) 232s --sublang=SUBLANG SUBLANG entry (default: None) 232s --duplicates=DUPLICATESTYLE 232s what to do with duplicate strings (identical source 232s text): merge, msgctxt (default: 'msgctxt') 232s ========= SMOKE TEST: /usr/bin/resx2po =========== 232s 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] 232s 232s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 232s http://docs.translatehouse.org/projects/translate- 232s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in resx format 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -t TEMPLATE, --template=TEMPLATE 232s read from TEMPLATE in resx format 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s -P, --pot output PO Templates (.pot) rather than PO files (.po) 232s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 232s everything) 232s --duplicates=DUPLICATESTYLE 232s what to do with duplicate strings (identical source 232s text): merge, msgctxt (default: 'msgctxt') 232s ========= SMOKE TEST: /usr/bin/sub2po =========== 232s 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] 232s 232s Convert subtitle files to Gettext PO localization files. See: 232s http://docs.translatehouse.org/projects/translate- 232s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in ass, srt, ssa, sub formats 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -t TEMPLATE, --template=TEMPLATE 232s read from TEMPLATE in ass, srt, ssa, sub formats 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s -P, --pot output PO Templates (.pot) rather than PO files (.po) 232s --duplicates=DUPLICATESTYLE 232s what to do with duplicate strings (identical source 232s text): merge, msgctxt (default: 'msgctxt') 232s ========= SMOKE TEST: /usr/bin/symb2po =========== 232s 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] 232s 232s Convert Symbian localisation files to Gettext PO localization files. See: 232s http://docs.translatehouse.org/projects/translate- 232s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in r01 format 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -t TEMPLATE, --template=TEMPLATE 232s read from TEMPLATE in 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s -P, --pot output PO Templates (.pot) rather than PO files (.po) 232s --duplicates=DUPLICATESTYLE 232s what to do with duplicate strings (identical source 232s text): merge, msgctxt (default: 'msgctxt') 232s ========= SMOKE TEST: /usr/bin/tbx2po =========== 232s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 232s 232s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 232s http://docs.translatehouse.org/projects/translate- 232s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in tbx format 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s ========= SMOKE TEST: /usr/bin/tiki2po =========== 232s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 232s 232s Convert TikiWiki's language.php files to Gettext PO localization files. See: 232s http://docs.translatehouse.org/projects/translate- 232s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 232s 232s Options: 232s --version show program's version number and exit 232s -h, --help show this help message and exit 232s --manpage output a manpage based on the help 232s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 232s --errorlevel=ERRORLEVEL 232s show errorlevel as: none, message, exception, 232s traceback 232s -i INPUT, --input=INPUT 232s read from INPUT in php format 232s -x EXCLUDE, --exclude=EXCLUDE 232s exclude names matching EXCLUDE from input paths 232s -o OUTPUT, --output=OUTPUT 232s write to OUTPUT in po, pot formats 232s -S, --timestamp skip conversion if the output file has newer timestamp 232s --include-unused Include strings in the unused section 232s ========= SMOKE TEST: /usr/bin/tmserver =========== 233s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 233s [-s SOURCE_LANG] [-b BIND] [-p PORT] 233s [--max-candidates MAX_CANDIDATES] 233s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 233s [--debug] 233s 233s options: 233s -h, --help show this help message and exit 233s -d TMDBFILE, --tmdb TMDBFILE 233s translation memory database file 233s -f TMFILES, --import-translation-file TMFILES 233s translation file to import into the database 233s -t TARGET_LANG, --import-target-lang TARGET_LANG 233s target language of translation files 233s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 233s source language of translation files 233s -b BIND, --bind BIND address to bind server to (default: localhost) 233s -p PORT, --port PORT port to listen on (default: 8888) 233s --max-candidates MAX_CANDIDATES 233s Maximum number of candidates 233s --min-similarity MIN_SIMILARITY 233s minimum similarity 233s --max-length MAX_LENGTH 233s Maxmimum string length 233s --debug enable debugging features 233s ========= SMOKE TEST: /usr/bin/ts2po =========== 233s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 233s 233s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 233s http://docs.translatehouse.org/projects/translate- 233s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 233s 233s Options: 233s --version show program's version number and exit 233s -h, --help show this help message and exit 233s --manpage output a manpage based on the help 233s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 233s --errorlevel=ERRORLEVEL 233s show errorlevel as: none, message, exception, 233s traceback 233s -i INPUT, --input=INPUT 233s read from INPUT in ts format 233s -x EXCLUDE, --exclude=EXCLUDE 233s exclude names matching EXCLUDE from input paths 233s -o OUTPUT, --output=OUTPUT 233s write to OUTPUT in po, pot formats 233s -S, --timestamp skip conversion if the output file has newer timestamp 233s -P, --pot output PO Templates (.pot) rather than PO files (.po) 233s --duplicates=DUPLICATESTYLE 233s what to do with duplicate strings (identical source 233s text): merge, msgctxt (default: 'msgctxt') 233s ========= SMOKE TEST: /usr/bin/txt2po =========== 233s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 233s 233s Convert plain text (.txt) files to Gettext PO localization files. See: 233s http://docs.translatehouse.org/projects/translate- 233s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 233s 233s Options: 233s --version show program's version number and exit 233s -h, --help show this help message and exit 233s --manpage output a manpage based on the help 233s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 233s --errorlevel=ERRORLEVEL 233s show errorlevel as: none, message, exception, 233s traceback 233s -i INPUT, --input=INPUT 233s read from INPUT in *, txt formats 233s -x EXCLUDE, --exclude=EXCLUDE 233s exclude names matching EXCLUDE from input paths 233s -o OUTPUT, --output=OUTPUT 233s write to OUTPUT in po, pot formats 233s -S, --timestamp skip conversion if the output file has newer timestamp 233s -P, --pot output PO Templates (.pot) rather than PO files (.po) 233s --encoding=ENCODING The encoding of the input file (default: UTF-8) 233s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 233s mediawiki 233s --no-segmentation Don't segment the file, treat it like a single message 233s --duplicates=DUPLICATESTYLE 233s what to do with duplicate strings (identical source 233s text): merge, msgctxt (default: 'msgctxt') 233s ========= SMOKE TEST: /usr/bin/web2py2po =========== 233s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 233s 233s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 233s http://docs.translatehouse.org/projects/translate- 233s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 233s 233s Options: 233s --version show program's version number and exit 233s -h, --help show this help message and exit 233s --manpage output a manpage based on the help 233s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 233s --errorlevel=ERRORLEVEL 233s show errorlevel as: none, message, exception, 233s traceback 233s -i INPUT, --input=INPUT 233s read from INPUT in py format 233s -x EXCLUDE, --exclude=EXCLUDE 233s exclude names matching EXCLUDE from input paths 233s -o OUTPUT, --output=OUTPUT 233s write to OUTPUT in po, pot formats 233s -S, --timestamp skip conversion if the output file has newer timestamp 233s -P, --pot output PO Templates (.pot) rather than PO files (.po) 233s --duplicates=DUPLICATESTYLE 233s what to do with duplicate strings (identical source 233s text): merge, msgctxt (default: 'msgctxt') 233s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 233s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 233s 233s Convert XLIFF translation files to OpenDocument (ODF) files. See: 233s http://docs.translatehouse.org/projects/translate- 233s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 233s 233s Options: 233s --version show program's version number and exit 233s -h, --help show this help message and exit 233s --manpage output a manpage based on the help 233s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 233s --errorlevel=ERRORLEVEL 233s show errorlevel as: none, message, exception, 233s traceback 233s -i INPUT, --input=INPUT 233s read from INPUT in xlf format 233s -x EXCLUDE, --exclude=EXCLUDE 233s exclude names matching EXCLUDE from input paths 233s -o OUTPUT, --output=OUTPUT 233s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 233s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 233s -t TEMPLATE, --template=TEMPLATE 233s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 233s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 233s formats 233s -S, --timestamp skip conversion if the output file has newer timestamp 233s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 233s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 233s 233s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 233s file. See: http://docs.translatehouse.org/projects/translate- 233s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 233s 233s Options: 233s --version show program's version number and exit 233s -h, --help show this help message and exit 233s --manpage output a manpage based on the help 233s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 233s --errorlevel=ERRORLEVEL 233s show errorlevel as: none, message, exception, 233s traceback 233s -i INPUT, --input=INPUT 233s read from INPUT in po, pot, xlf, xliff formats 233s -x EXCLUDE, --exclude=EXCLUDE 233s exclude names matching EXCLUDE from input paths 233s -o OUTPUT, --output=OUTPUT 233s write to OUTPUT in oo, sdf formats 233s -t TEMPLATE, --template=TEMPLATE 233s read from TEMPLATE in oo, sdf formats 233s -S, --timestamp skip conversion if the output file has newer timestamp 233s -l LANG, --language=LANG 233s set target language code (e.g. af-ZA) [required] 233s --source-language=LANG 233s set source language code (default en-US) 233s -T, --keeptimestamp don't change the timestamps of the strings 233s --nonrecursiveoutput don't treat the output oo as a recursive store 233s --nonrecursivetemplate 233s don't treat the template oo as a recursive store 233s --skipsource don't output the source language, but fallback to it 233s where needed 233s --filteraction=ACTION 233s action on pofilter failure: none (default), warn, 233s exclude-serious, exclude-all 233s --fuzzy use translations marked fuzzy 233s --nofuzzy don't use translations marked fuzzy (default) 233s --multifile=MULTIFILESTYLE 233s how to split po/pot files (single, toplevel or 233s onefile) 234s ========= SMOKE TEST: /usr/bin/xliff2po =========== 234s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 234s 234s Convert XLIFF localization files to Gettext PO localization files. See: 234s http://docs.translatehouse.org/projects/translate- 234s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 234s 234s Options: 234s --version show program's version number and exit 234s -h, --help show this help message and exit 234s --manpage output a manpage based on the help 234s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 234s --errorlevel=ERRORLEVEL 234s show errorlevel as: none, message, exception, 234s traceback 234s -i INPUT, --input=INPUT 234s read from INPUT in xlf, xliff formats 234s -x EXCLUDE, --exclude=EXCLUDE 234s exclude names matching EXCLUDE from input paths 234s -o OUTPUT, --output=OUTPUT 234s write to OUTPUT in po, pot formats 234s -S, --timestamp skip conversion if the output file has newer timestamp 234s -P, --pot output PO Templates (.pot) rather than PO files (.po) 234s --duplicates=DUPLICATESTYLE 234s what to do with duplicate strings (identical source 234s text): merge, msgctxt (default: 'msgctxt') 234s ========= SMOKE TEST: /usr/bin/yaml2po =========== 234s 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] 234s 234s Convert YAML files to Gettext PO localization files. See: 234s http://docs.translatehouse.org/projects/translate- 234s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 234s 234s Options: 234s --version show program's version number and exit 234s -h, --help show this help message and exit 234s --manpage output a manpage based on the help 234s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 234s --errorlevel=ERRORLEVEL 234s show errorlevel as: none, message, exception, 234s traceback 234s -i INPUT, --input=INPUT 234s read from INPUT in yaml, yml formats 234s -x EXCLUDE, --exclude=EXCLUDE 234s exclude names matching EXCLUDE from input paths 234s -o OUTPUT, --output=OUTPUT 234s write to OUTPUT in po, pot formats 234s -t TEMPLATE, --template=TEMPLATE 234s read from TEMPLATE in yaml, yml formats 234s -S, --timestamp skip conversion if the output file has newer timestamp 234s -P, --pot output PO Templates (.pot) rather than PO files (.po) 234s --duplicates=DUPLICATESTYLE 234s what to do with duplicate strings (identical source 234s text): merge, msgctxt (default: 'msgctxt') 234s autopkgtest [17:57:34]: test translate-toolkit: -----------------------] 238s translate-toolkit PASS 238s autopkgtest [17:57:38]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 241s autopkgtest [17:57:41]: test python3-translate: preparing testbed 269s autopkgtest [17:58:09]: testbed dpkg architecture: armhf 271s autopkgtest [17:58:11]: testbed apt version: 2.7.14build2 271s autopkgtest [17:58:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 279s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 279s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [16.8 kB] 279s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [121 kB] 280s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1170 kB] 280s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 280s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [167 kB] 280s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [957 kB] 280s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [19.2 kB] 280s Fetched 2527 kB in 1s (2609 kB/s) 280s Reading package lists... 294s tee: /proc/self/fd/2: Permission denied 315s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 315s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 315s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 315s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 316s Reading package lists... 316s Reading package lists... 317s Building dependency tree... 317s Reading state information... 317s Calculating upgrade... 317s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 317s Reading package lists... 318s Building dependency tree... 318s Reading state information... 318s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 320s autopkgtest [17:59:00]: rebooting testbed after setup commands that affected boot 390s Reading package lists... 390s Building dependency tree... 390s Reading state information... 390s Starting pkgProblemResolver with broken count: 0 390s Starting 2 pkgProblemResolver with broken count: 0 390s Done 391s The following additional packages will be installed: 391s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 391s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 391s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 391s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 391s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 391s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 391s python3-more-itertools python3-packaging python3-phply python3-pluggy 391s python3-ply python3-pycountry python3-pytest python3-rapidfuzz 391s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 391s python3-soupsieve python3-syrupy python3-translate python3-vobject 391s python3-xapian subversion 391s Suggested packages: 391s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 391s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 391s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 391s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 391s libapache2-mod-svn subversion-tools 391s Recommended packages: 391s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 391s python3-cssselect python3-html5lib 391s The following NEW packages will be installed: 391s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 391s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 391s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 391s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 391s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 391s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 391s python3-mistletoe python3-more-itertools python3-packaging python3-phply 391s python3-pluggy python3-ply python3-pycountry python3-pytest 391s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 391s python3-simplejson python3-soupsieve python3-syrupy python3-translate 391s python3-vobject python3-xapian subversion 391s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 391s Need to get 10.3 MB/10.3 MB of archives. 391s After this operation, 39.8 MB of additional disk space will be used. 391s Get:1 /tmp/autopkgtest.kTjZlm/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [880 B] 391s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 391s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 392s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14-20240412-0ubuntu1 [125 kB] 393s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.21-14ubuntu2 [800 kB] 394s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 395s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.1build2 [86.1 kB] 395s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-1.1ubuntu7 [82.3 kB] 395s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 396s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 396s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 396s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 396s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-1build2 [40.3 kB] 396s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 396s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-1build4 [1200 kB] 398s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 398s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 398s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.11-2 [221 kB] 398s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-all armhf 3.12.3-0ubuntu1 [886 B] 398s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 398s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 399s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.2.0-1 [52.9 kB] 399s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 399s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 399s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 399s Get:26 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 399s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 399s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 399s Get:29 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.6.2+ds-1 [1200 kB] 399s Get:30 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-2 [139 kB] 400s Get:31 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.1-1 [1200 kB] 400s Get:32 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 400s Get:33 http://ftpmaster.internal/ubuntu oracular/main armhf python3-packaging all 24.0-1 [41.1 kB] 400s Get:34 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 400s Get:35 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 400s Get:36 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pluggy all 1.4.0-1 [20.4 kB] 400s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pytest all 7.4.4-1 [305 kB] 400s Get:38 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml.clib armhf 0.2.8-1build1 [120 kB] 400s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 400s Get:40 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 400s Get:41 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-syrupy all 4.6.1-1 [42.8 kB] 400s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.12.2-1ubuntu1 [318 kB] 400s Get:43 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 400s Get:44 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf python3-xapian armhf 1.4.25-1 [436 kB] 401s Get:45 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-1build4 [890 kB] 401s Get:46 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 401s Get:47 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 402s Preconfiguring packages ... 402s Fetched 10.3 MB in 10s (1062 kB/s) 402s Selecting previously unselected package emacsen-common. 402s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57881 files and directories currently installed.) 402s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 402s Unpacking emacsen-common (3.0.5) ... 402s Selecting previously unselected package dictionaries-common. 402s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 402s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 402s Unpacking dictionaries-common (1.29.7) ... 402s Selecting previously unselected package libgomp1:armhf. 402s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_armhf.deb ... 402s Unpacking libgomp1:armhf (14-20240412-0ubuntu1) ... 402s Selecting previously unselected package gettext. 402s Preparing to unpack .../03-gettext_0.21-14ubuntu2_armhf.deb ... 402s Unpacking gettext (0.21-14ubuntu2) ... 402s Selecting previously unselected package hunspell-en-us. 402s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 402s Unpacking hunspell-en-us (1:2020.12.07-2) ... 402s Selecting previously unselected package libapr1t64:armhf. 402s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_armhf.deb ... 402s Unpacking libapr1t64:armhf (1.7.2-3.1build2) ... 402s Selecting previously unselected package libaprutil1t64:armhf. 402s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_armhf.deb ... 402s Unpacking libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 402s Selecting previously unselected package libaspell15:armhf. 402s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 402s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 402s Selecting previously unselected package libhunspell-1.7-0:armhf. 402s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 402s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 402s Selecting previously unselected package libenchant-2-2:armhf. 402s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 402s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 402s Selecting previously unselected package libexttextcat-data. 402s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 402s Unpacking libexttextcat-data (3.4.7-1build1) ... 402s Selecting previously unselected package libserf-1-1:armhf. 402s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_armhf.deb ... 402s Unpacking libserf-1-1:armhf (1.3.10-1build2) ... 402s Selecting previously unselected package libutf8proc3:armhf. 402s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 402s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 402s Selecting previously unselected package libsvn1:armhf. 402s Preparing to unpack .../13-libsvn1_1.14.3-1build4_armhf.deb ... 402s Unpacking libsvn1:armhf (1.14.3-1build4) ... 402s Selecting previously unselected package libxapian30:armhf. 402s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 402s Unpacking libxapian30:armhf (1.4.22-1build1) ... 402s Selecting previously unselected package libxslt1.1:armhf. 402s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 402s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 402s Selecting previously unselected package python3-aeidon. 402s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 402s Unpacking python3-aeidon (1.11-2) ... 402s Selecting previously unselected package python3-all. 402s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_armhf.deb ... 402s Unpacking python3-all (3.12.3-0ubuntu1) ... 402s Selecting previously unselected package python3-soupsieve. 402s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 402s Unpacking python3-soupsieve (2.5-1) ... 402s Selecting previously unselected package python3-bs4. 402s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 402s Unpacking python3-bs4 (4.12.3-1) ... 402s Selecting previously unselected package python3-more-itertools. 402s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 402s Unpacking python3-more-itertools (10.2.0-1) ... 403s Selecting previously unselected package python3-jaraco.functools. 403s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 403s Unpacking python3-jaraco.functools (4.0.0-1) ... 403s Selecting previously unselected package python3-cheroot. 403s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 403s Unpacking python3-cheroot (10.0.0+ds1-2) ... 403s Selecting previously unselected package python3-dateutil. 403s Preparing to unpack .../23-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 403s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 403s Selecting previously unselected package python3-diff-match-patch. 403s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 403s Unpacking python3-diff-match-patch (20230430-1) ... 403s Selecting previously unselected package python3-enchant. 403s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 403s Unpacking python3-enchant (3.2.2-1) ... 403s Selecting previously unselected package python3-iniconfig. 403s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 403s Unpacking python3-iniconfig (1.1.1-2) ... 403s Selecting previously unselected package python3-rapidfuzz. 403s Preparing to unpack .../27-python3-rapidfuzz_3.6.2+ds-1_armhf.deb ... 403s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 403s Selecting previously unselected package python3-levenshtein. 403s Preparing to unpack .../28-python3-levenshtein_0.25.1-2_armhf.deb ... 403s Unpacking python3-levenshtein (0.25.1-2) ... 403s Selecting previously unselected package python3-lxml:armhf. 403s Preparing to unpack .../29-python3-lxml_5.2.1-1_armhf.deb ... 403s Unpacking python3-lxml:armhf (5.2.1-1) ... 403s Selecting previously unselected package python3-mistletoe. 403s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 403s Unpacking python3-mistletoe (1.3.0-1) ... 403s Selecting previously unselected package python3-packaging. 403s Preparing to unpack .../31-python3-packaging_24.0-1_all.deb ... 403s Unpacking python3-packaging (24.0-1) ... 403s Selecting previously unselected package python3-ply. 403s Preparing to unpack .../32-python3-ply_3.11-6_all.deb ... 403s Unpacking python3-ply (3.11-6) ... 403s Selecting previously unselected package python3-phply. 403s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 403s Unpacking python3-phply (1.2.6-1) ... 403s Selecting previously unselected package python3-pluggy. 403s Preparing to unpack .../34-python3-pluggy_1.4.0-1_all.deb ... 403s Unpacking python3-pluggy (1.4.0-1) ... 403s Selecting previously unselected package python3-pytest. 403s Preparing to unpack .../35-python3-pytest_7.4.4-1_all.deb ... 403s Unpacking python3-pytest (7.4.4-1) ... 403s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 403s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8-1build1_armhf.deb ... 403s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 403s Selecting previously unselected package python3-ruamel.yaml. 403s Preparing to unpack .../37-python3-ruamel.yaml_0.17.21-1_all.deb ... 403s Unpacking python3-ruamel.yaml (0.17.21-1) ... 403s Selecting previously unselected package python3-simplejson. 403s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_armhf.deb ... 403s Unpacking python3-simplejson (3.19.2-1build2) ... 403s Selecting previously unselected package python3-syrupy. 403s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 403s Unpacking python3-syrupy (4.6.1-1) ... 403s Selecting previously unselected package python3-translate. 403s Preparing to unpack .../40-python3-translate_3.12.2-1ubuntu1_all.deb ... 403s Unpacking python3-translate (3.12.2-1ubuntu1) ... 403s Selecting previously unselected package python3-vobject. 403s Preparing to unpack .../41-python3-vobject_0.9.6.1-2_all.deb ... 403s Unpacking python3-vobject (0.9.6.1-2) ... 403s Selecting previously unselected package python3-xapian. 403s Preparing to unpack .../42-python3-xapian_1.4.25-1_armhf.deb ... 403s Unpacking python3-xapian (1.4.25-1) ... 403s Selecting previously unselected package subversion. 403s Preparing to unpack .../43-subversion_1.14.3-1build4_armhf.deb ... 403s Unpacking subversion (1.14.3-1build4) ... 403s Selecting previously unselected package python3-iniparse. 403s Preparing to unpack .../44-python3-iniparse_0.5-2_all.deb ... 403s Unpacking python3-iniparse (0.5-2) ... 403s Selecting previously unselected package python3-pycountry. 403s Preparing to unpack .../45-python3-pycountry_23.12.11+ds1-2_all.deb ... 403s Unpacking python3-pycountry (23.12.11+ds1-2) ... 404s Selecting previously unselected package autopkgtest-satdep. 404s Preparing to unpack .../46-2-autopkgtest-satdep.deb ... 404s Unpacking autopkgtest-satdep (0) ... 404s Setting up python3-more-itertools (10.2.0-1) ... 404s Setting up python3-iniconfig (1.1.1-2) ... 404s Setting up libxapian30:armhf (1.4.22-1build1) ... 404s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 404s Setting up python3-diff-match-patch (20230430-1) ... 404s Setting up python3-jaraco.functools (4.0.0-1) ... 404s Setting up python3-aeidon (1.11-2) ... 405s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 405s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 405s Setting up python3-ply (3.11-6) ... 405s Setting up python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 405s Setting up python3-all (3.12.3-0ubuntu1) ... 405s Setting up libgomp1:armhf (14-20240412-0ubuntu1) ... 405s Setting up python3-simplejson (3.19.2-1build2) ... 405s Setting up python3-packaging (24.0-1) ... 405s Setting up emacsen-common (3.0.5) ... 405s Setting up python3-cheroot (10.0.0+ds1-2) ... 405s Setting up python3-pycountry (23.12.11+ds1-2) ... 405s Setting up python3-xapian (1.4.25-1) ... 406s Setting up python3-pluggy (1.4.0-1) ... 406s Setting up python3-ruamel.yaml (0.17.21-1) ... 406s Setting up python3-mistletoe (1.3.0-1) ... 406s Setting up libexttextcat-data (3.4.7-1build1) ... 406s Setting up libapr1t64:armhf (1.7.2-3.1build2) ... 406s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 406s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 406s Setting up python3-levenshtein (0.25.1-2) ... 406s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 406s Setting up python3-soupsieve (2.5-1) ... 407s Setting up python3-iniparse (0.5-2) ... 407s Setting up libaprutil1t64:armhf (1.6.3-1.1ubuntu7) ... 407s Setting up python3-vobject (0.9.6.1-2) ... 407s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 407s patterns['name'] = '[a-zA-Z0-9\-_]+' 407s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 407s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 407s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 407s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 407s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 407s """ 407s Setting up gettext (0.21-14ubuntu2) ... 407s Setting up python3-phply (1.2.6-1) ... 407s Setting up dictionaries-common (1.29.7) ... 407s Setting up python3-pytest (7.4.4-1) ... 408s Setting up python3-syrupy (4.6.1-1) ... 408s Setting up libserf-1-1:armhf (1.3.10-1build2) ... 408s Setting up python3-bs4 (4.12.3-1) ... 408s Setting up python3-lxml:armhf (5.2.1-1) ... 408s Setting up hunspell-en-us (1:2020.12.07-2) ... 408s Setting up libsvn1:armhf (1.14.3-1build4) ... 408s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 408s Setting up subversion (1.14.3-1build4) ... 408s Setting up python3-enchant (3.2.2-1) ... 409s Setting up python3-translate (3.12.2-1ubuntu1) ... 409s Setting up autopkgtest-satdep (0) ... 409s Processing triggers for man-db (2.12.0-4build2) ... 410s Processing triggers for install-info (7.1-3build2) ... 410s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 410s Processing triggers for dictionaries-common (1.29.7) ... 426s (Reading database ... 61339 files and directories currently installed.) 426s Removing autopkgtest-satdep (0) ... 437s autopkgtest [18:00:57]: test python3-translate: [----------------------- 440s ============================= test session starts ============================== 440s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 440s cachedir: .pytest_cache 440s rootdir: /tmp/autopkgtest.kTjZlm/autopkgtest_tmp 440s plugins: syrupy-4.6.1 446s collecting ... collected 3313 items / 2 skipped 446s 446s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 446s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 446s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 446s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 446s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 446s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 446s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 446s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 446s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 446s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 446s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 446s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 446s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 446s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 446s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 446s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 446s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 446s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 446s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 446s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 446s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 446s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 446s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 446s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 446s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 446s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 446s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 446s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 447s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 447s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 447s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 447s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 447s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 447s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 447s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 447s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 447s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 447s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 447s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 448s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 448s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 448s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 448s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 448s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 448s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 448s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 448s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 448s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 448s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 448s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 448s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 448s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 448s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 448s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 448s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 449s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 449s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 449s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 449s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 449s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 449s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 449s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 449s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 449s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 449s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 449s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 449s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 449s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 449s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 449s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 449s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 449s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 449s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 449s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 449s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 449s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 449s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 449s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 449s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 449s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 449s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 449s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 449s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 449s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 450s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 450s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 450s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 450s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 450s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 450s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 450s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 450s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 450s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 450s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 450s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 450s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 450s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 450s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 450s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 450s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 450s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 450s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 450s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 450s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 450s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 450s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 451s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 451s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 451s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 451s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 451s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 451s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 451s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 451s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 451s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 451s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 451s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 451s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 451s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 451s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 451s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 451s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 451s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 451s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 451s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 451s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 451s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 451s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 451s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 451s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 451s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 451s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 451s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 451s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 451s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 451s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 451s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 451s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 451s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 451s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 451s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 451s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 451s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 451s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 451s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 451s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 451s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 451s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 451s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 451s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 451s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 451s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 451s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 451s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 451s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 451s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 451s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 451s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 451s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 451s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 451s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 451s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 451s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 451s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 452s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 452s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 452s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 452s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 452s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 452s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 452s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 452s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 452s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 452s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 452s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 452s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 452s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 452s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 452s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 452s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 452s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 452s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 452s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 452s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 453s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 453s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 453s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 453s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 453s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 453s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 453s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 453s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 453s 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%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 453s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 453s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 453s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 453s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 453s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 453s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 453s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 453s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 453s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 453s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 453s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 453s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 453s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 454s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 454s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 454s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 454s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 454s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 454s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 454s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 454s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 455s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 455s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 455s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 455s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 455s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 455s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 455s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 455s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 455s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 455s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 455s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 455s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 455s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 455s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 455s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 456s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 456s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 456s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 456s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 456s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 457s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 457s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 457s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 457s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 457s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 457s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 457s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 457s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 457s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 457s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 457s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 457s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 457s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 457s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 457s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 457s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 457s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 457s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 457s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 457s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 457s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 457s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 457s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 457s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 458s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 459s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 459s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 459s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 459s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 459s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 459s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 459s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 459s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 459s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 459s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 459s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 459s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 459s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 459s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 459s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 459s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 459s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 459s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 459s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 459s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 459s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 459s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 459s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 459s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 459s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 459s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 459s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 459s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 459s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 459s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 459s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 460s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 460s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 460s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 460s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 460s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 460s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 460s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 460s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 460s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 460s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 460s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 460s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 460s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 460s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 460s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 460s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 460s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 460s 460s =============================== warnings summary =============================== 460s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 460s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.kTjZlm/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 460s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 460s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 460s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 460s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 460s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 460s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 460s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 460s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 460s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 460s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 460s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 460s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 460s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 460s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 460s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 460s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 460s Warning: Could not find accesskey for key.accesskey 460s 460s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 460s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 460s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 460s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 460s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 460s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.kTjZlm/autopkgtest_tmp/tests/translate/convert/test.idml'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 460s Warning: unclosed file <_io.BufferedReader name='translation.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 460s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 460s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 460s Warning: Could not find accesskey for prop.accesskey 460s 460s tests/translate/convert/test_po2tmx.py: 26 warnings 460s tests/translate/filters/test_pofilter.py: 13 warnings 460s tests/translate/storage/test_tbx.py: 17 warnings 460s tests/translate/storage/test_tmx.py: 24 warnings 460s 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' 460s 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 460s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 460s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 460s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 460s Enable tracemalloc to get traceback where the object was allocated. 460s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 460s 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 461s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 461s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 461s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 461s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 461s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 461s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 461s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 461s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.kTjZlm/autopkgtest_tmp/tests/translate/convert/test.odt'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 461s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 461s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 461s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 461s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 461s Enable tracemalloc to get traceback where the object was allocated. 461s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 461s 461s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 461s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 461s 461s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 461s Warning: DTD file '' does not validate 461s 461s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 461s --------------------------- snapshot report summary ---------------------------- 461s 23 snapshots passed. 461s =========================== short test summary info ============================ 461s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 461s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 461s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 461s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 461s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 461s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 461s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 461s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 461s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 461s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 461s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 461s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 461s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 461s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 461s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 461s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 461s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 461s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 461s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 461s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 461s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 461s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 461s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 461s 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. 461s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 461s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 461s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 461s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 461s 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 461s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 461s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 461s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 461s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 461s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 461s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 461s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 461s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 461s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 461s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 461s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 461s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 461s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 461s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 461s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 461s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 461s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 461s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 20.98s ========== 462s autopkgtest [18:01:22]: test python3-translate: -----------------------] 468s autopkgtest [18:01:28]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 468s python3-translate PASS 473s autopkgtest [18:01:33]: test python3-translate-commands: preparing testbed 483s Reading package lists... 483s Building dependency tree... 483s Reading state information... 484s Starting pkgProblemResolver with broken count: 0 484s Starting 2 pkgProblemResolver with broken count: 0 484s Done 485s The following additional packages will be installed: 485s translate-toolkit 485s Recommended packages: 485s translate-toolkit-doc 485s The following NEW packages will be installed: 485s autopkgtest-satdep translate-toolkit 485s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 485s Need to get 88.2 kB/89.1 kB of archives. 485s After this operation, 253 kB of additional disk space will be used. 485s Get:1 /tmp/autopkgtest.kTjZlm/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [884 B] 485s Get:2 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 486s Fetched 88.2 kB in 0s (257 kB/s) 486s Selecting previously unselected package translate-toolkit. 486s (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 ... 61339 files and directories currently installed.) 486s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 486s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 486s Selecting previously unselected package autopkgtest-satdep. 486s Preparing to unpack .../3-autopkgtest-satdep.deb ... 486s Unpacking autopkgtest-satdep (0) ... 486s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 486s Setting up autopkgtest-satdep (0) ... 486s Processing triggers for man-db (2.12.0-4build2) ... 503s (Reading database ... 61512 files and directories currently installed.) 503s Removing autopkgtest-satdep (0) ... 509s autopkgtest [18:02:09]: test python3-translate-commands: [----------------------- 512s ============================= test session starts ============================== 512s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 512s cachedir: .pytest_cache 512s rootdir: /tmp/autopkgtest.kTjZlm/autopkgtest_tmp 512s plugins: syrupy-4.6.1 519s collecting ... collected 3313 items / 2 skipped 519s 519s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 519s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 519s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 519s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 519s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 519s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 519s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 519s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 519s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 519s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 519s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 519s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 519s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 519s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 519s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 520s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 520s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 520s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 520s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 520s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 520s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 520s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 520s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 520s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 520s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 520s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 520s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 520s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 520s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 520s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 520s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 520s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 520s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 520s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 520s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 521s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 521s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 521s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 521s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 521s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 521s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 521s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 521s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 521s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 521s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 521s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 521s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 521s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 521s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 521s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 521s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 521s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 521s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 521s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 521s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 521s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 521s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 521s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 522s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 522s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 522s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 522s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 522s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 522s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 522s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 522s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 522s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 522s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 522s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 522s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 522s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 522s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 522s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 522s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 523s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 523s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 523s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 523s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 523s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 523s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 523s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 523s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 523s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 523s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 523s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 523s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 523s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 523s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 523s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 523s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 523s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 523s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 523s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 523s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 523s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 523s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 524s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 524s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 524s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 524s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 524s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 524s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 524s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 524s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 524s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 524s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 524s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 524s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 524s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 524s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 524s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 524s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 524s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 524s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 524s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 524s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 524s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 524s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 524s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 524s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 524s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 524s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 524s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 524s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 524s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 524s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 524s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 524s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 524s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 524s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 524s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 524s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 524s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 524s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 524s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 524s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 524s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 524s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 524s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 524s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 524s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 524s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 524s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 524s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 524s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 524s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 524s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 524s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 524s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 524s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 524s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 524s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 524s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 524s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 524s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 524s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 524s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 524s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 524s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 524s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 524s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 524s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 524s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 524s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 524s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 524s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 524s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 524s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 524s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 524s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 525s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 525s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 525s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 526s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 526s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 526s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 526s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 526s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 526s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 526s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 526s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 526s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 526s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 526s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 526s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 526s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 526s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 526s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 526s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 526s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 526s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 526s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 526s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 526s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 526s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 526s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 526s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 526s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 526s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 526s 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%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 526s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 527s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 527s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 527s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 527s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 527s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 527s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 527s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 527s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 527s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 527s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 527s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 527s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 527s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 527s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 527s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 527s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 527s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 527s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 527s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 527s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 528s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 528s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 528s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 528s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 528s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 528s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 528s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 528s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 528s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 528s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 529s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 529s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 529s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 529s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 529s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 529s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 529s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 529s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 529s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 529s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 529s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 529s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 530s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 530s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 530s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 530s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 530s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 530s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 530s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 530s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 530s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 530s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 530s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 530s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 530s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 530s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 530s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 530s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 530s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 530s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 530s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 530s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 530s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 530s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 530s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 531s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 531s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 531s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 531s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 531s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 531s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 531s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 531s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 531s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 531s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 531s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 531s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 531s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 531s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 532s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 532s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 532s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 532s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 532s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 532s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 532s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 532s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 533s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 533s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 533s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 533s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 533s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 533s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 534s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 534s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 534s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 534s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 534s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 535s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 535s 535s =============================== warnings summary =============================== 535s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 535s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.kTjZlm/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 535s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 535s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 535s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 535s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 535s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 535s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 535s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 535s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 535s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 535s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 535s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 535s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 535s Warning: Could not find accesskey for key.accesskey 535s 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 535s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 535s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 535s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.kTjZlm/autopkgtest_tmp/tests/translate/convert/test.idml'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 535s Warning: unclosed file <_io.BufferedReader name='translation.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 535s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 535s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 535s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 535s Warning: Could not find accesskey for prop.accesskey 535s 535s tests/translate/convert/test_po2tmx.py: 26 warnings 535s tests/translate/filters/test_pofilter.py: 13 warnings 535s tests/translate/storage/test_tbx.py: 17 warnings 535s tests/translate/storage/test_tmx.py: 24 warnings 535s 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' 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 535s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 535s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 535s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 535s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 535s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 535s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.kTjZlm/autopkgtest_tmp/tests/translate/convert/test.odt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 535s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 535s 535s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 535s Warning: DTD file '' does not validate 535s 535s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 535s --------------------------- snapshot report summary ---------------------------- 535s 23 snapshots passed. 535s =========================== short test summary info ============================ 535s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 535s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 535s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 535s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 535s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 535s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 535s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 535s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 535s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 535s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 535s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 535s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 535s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 535s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 535s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 535s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 535s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 535s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 535s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 535s 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. 535s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 535s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 535s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 535s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 535s 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 535s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 535s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 535s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 535s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 535s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 535s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 535s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 535s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 535s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 535s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 535s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 535s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 535s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 535s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 535s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 535s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 535s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 535s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 23.03s ========== 536s autopkgtest [18:02:36]: test python3-translate-commands: -----------------------] 542s autopkgtest [18:02:42]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 542s python3-translate-commands PASS 545s autopkgtest [18:02:45]: @@@@@@@@@@@@@@@@@@@@ summary 545s translate-toolkit PASS 545s python3-translate PASS 545s python3-translate-commands PASS